- 개인적 스터디를 위해 정리한자료입니다.
- 본문서는 classic AUTOSAR general(autosar 4.4) 문서 :
AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
를 정리하였습니다.- 출처 : autosar 표준 스펙서 기준으로 자료 https://www.autosar.org/standards/classic-platform/classic-platform-440/
- 구글번역 + 의역으로 내용전달이 명확하지 않을 수 있습니다.
- 잡담
- 아무래도 주로 tier 에서 사용하는 시스템이다 보니 보안상의 이슈로 인해 한글자료가 많이 없는 느낌입니다.
- 업무상 AUTOSAR 내용파악을 위해 구글 검색해봐도 잘안나오길래, 그냥 무작정 스펙서를 기반으로 스터디한 자료를 공유합니다.
- 틀린부분이 있다면 댓글달아주세요.
글순서
- AUTOSAR-개요-classic-platform--기본-1-layer <- 현재 포스팅
- CLASSIC AUTOSAR 기본 - 02 Base Software Module Type
- CLASSIC AUTOSAR 기본 - 03 Software Layer
- CLASSIC AUTOSAR 기본 - 04 Software Layers in Multi-Core Systems
- CLASSIC AUTOSAR 기본 - 05 Software Layers in Mixed-Critical Systems
- CLASSIC AUTOSAR 기본 - 06 Overview of Modules
- CLASSIC AUTOSAR 기본 - 07 Interfaces
1 기본 layer 및 구조
1.1 기초사항
1.1.1 Application scope of AUTOSAR
-
Autosar는 자동차 ECU에 특화 되어있습니다. 차량용 ECU 는 다음과 같은 특성을 갖습니다.
- 하드웨어 (센서 및 액추에이터) 와의 상호 작용 및 통신.
- CAN, LIN, FlexRay 또는 이더넷과 같은 차량 네트워크 통신.
- 전력 및 메모리가 제한된 자원이 제한된 마이크로 컨트롤러 (16 or 32bit)
- 리얼타임 시스템
- 내부 또는 외부 플래시 메모리에서 프로그램 실행.
notes : AUTOSAR에서 ECU는 하나의 마이크로 컨트롤러와 관련한 주변 장치와 소프트웨어/구성을 의미합니다. (mechanical design 은 AUTOSAR의 범위가 아닙니다.) 하나 이상의 마이크로 컨트롤러가 함께 구성된 경우 된 경우 각 마이크로 컨트롤러는 AUTOSAR-ECU 인스턴스에 대해 정의 되어어있어야합니다.
1.1.2 AUTOSAR extensibility (AUTOSAR 의 확장성)
AUTOSAR Software Architecture 는 일반적으로 다음과 같은 접근방식으로 구성된다.
- standard modules 은 규약을 준수하면서 기능확장을 표준 모듈은 여전히 준수하는 동안 기능으로 확장 될 수 있습니다.
- 그래도, 기능확장은 Basic SW Configuration 자동 설정을 반드시 고려해야 합니다.
- non-standard modules 은 AUTOSAR 기본 시스템의 Complex Drivers 에 추가될수있으나 further layers 에는 추가 할 수 없습니다.
1.1.3 Architecture - Topview (AUTOSAR 구조 - Topview)
AUTOSAR 아키텍처는 크게 3가지 레이어로 분류, 추상화 합니다. (마이크로 컨트롤러에서 실행되는 응용 프로그램, 런타임 환경 및 기본 소프트웨어의 세 가지 소프트웨어 레이어 간의 가장 높은 추상화 수준을 구분합니다.)
- Application
- Runtime Environment
- Basic Software
1.1.4 Architecture - detail view
Basic Software 는 다음과 같이 세가지 로 다시 분류할 수있습니다.
- ECU Abstraction
- Microcontroller Abstraction
- Complex Drivers.
Basic Software Layer 은 기능 그룹으로 더 나뉩니다.
서비스를 상세분류할때는 다음과같은 layer 로 구성될 수있습니다. (메모리 및 통신 서비스등)
1.2 Microcontroller Abstraction Layer
- Microcontroller Abstraction Layer(마이크로 컨트롤러 추상화 레이어) 는 Basic Software 의 가장 기본 레이어입니다.
- 이 레이어에는 MCU 의 내부 주변장치(peripheral)들을 컨트롤, 엑세스 할수있는 소프트웨어 모듈, 내부 드라이버가 포함되어있습니다.
...
- TASK
- 상위 software layer 를 MCU 에 대해 독립적으로 만든다.
- Properties
- Implementation: MCU 에 대해 의존성
- Upper Interface: MCU 에 독립적인이며, 표준화된 인터페이스
1.3 ECU Abstraction Layer
- ECU Abstraction Layer (ECU 추상화 레이어) 는 Microcontroller Abstraction Layer(마이크로 컨트롤러 추상화 레이어) 를 인터페이스를 통해 컨트롤을 합니다.
- 외부장치를 위한 드라이버가 포함되어있습니다.
- MCU 내부 혹은 외부에 있는 주변장치(peripheral) 를 컨트롤 할수있는 API 를 제공합니다.
- MCU 의 port pin과 같은 인터페이스를 컨트롤 할수있는 API 를 제공합니다.
...
- Task
- 상위 software layers 를 ECU 하드웨어에 대해서 독립적으로 만든다.
- Properties
- Implementation: MCU 에 대해 독릭접, ECU 에 대해 의존성
- Upper Interface: MCU, ECU 에 대해 독립적
1.4 Complex Drivers
- Complex Drivers Layer 는 하드웨어어와 RTE 를 연결합니다.
- 특정 목적을 위해서 제공되는 드라이버로, AUTOSAR 내부에 정의되어있지 않고, 높은 응답 타이밍등의 목적으로 사용된다.
- Task
- 특별한 목적의 기능을 위해 사용
- AUTOSAR 내부에 정의되어있지 않고, 높은 응답 타이밍등의 목적으로 사용.
- 특별한 목적의 기능을 위해 사용
- Properties
- Implementation: 응용 프로그램, MCU 및 ECU 하드웨어 의존성
- Upper Interface: 응용 프로그램, MCU 및 ECU 하드웨어 의존성
1.5 Services Layer
- Services Layer(서비스계층)은 Basic Software 중에서 응용소프트웨어와 관련한 가장 상위 레이어 입니다.
- I/O 신호에 대한 엑세스는 ECU Abstraction Layer를 통해서 이뤄지는동안 Services Layer(서비스계층)은 다음의 기능들을 제공합니다.
- Operating system functionality
- Vehicle network communication and management services
- Memory services (NVRAM management)
- Diagnostic Services (including UDS communication, error memory and fault treatment)
- ECU state management, mode management
- Logical and temporal program flow monitoring (Wdg manager)
- Task
- 어플리케이션과 RTE, basic software module 에 대한 Basic service 를 제공
- Properties
- Implementation: MCU 와 ECU 하드웨어에 대해 독립적 (반드시 독립적이여야함
- Upper Interface: MCU 와 ECU 하드웨어에 대해 독립적
1.6 Runtime Environment (RTE)
The RTE is a layer providing communication services to the application software (AUTOSAR Software Components and/or AUTOSAR Sensor/Actuator components).RTE는 응용 프로그램 소프트웨어에 통신 서비스를 제공하는 계층 (AUTOSAR 소프트웨어 구성 요소 및 / 또는 AUTOSAR 센서 / 액추에이터 구성 요소)입니다. - RTE는 응 각 어플리케이션(AUTOSAR Software Component, AUTOSAR Sensor/Actuator components)간의 통신 layer 를 제공 합니다. - RTE 상위의 소프트트웨어 구조의 스타일은, layered 에서 component style 로 변경 됩니다.. - AUTOSAR 소프트웨어 구성 요소는 RTE 를 통해 다른 구성 요소 (내부, 외부 ECU) 혹은 서비스와 통신합니다.
- Task
- Make AUTOSAR Software Components independent from the mapping to a specific ECU.
- Properties
- Implementation: ECU 와 어플리케이션에 특화된 코드 (각각의 ECU에 대한 코드생성)
- Upper Interface: 완벽하게 ECU에 독립적
1.7 services의 종류
Base Software 는 다음 유형의 서비스로 세분화 될 수 있습니다.
- Input/Output (I/O)
- 센서, 엑츄에이터, ECU peripherals 에 대한 표준화된 접근
- Memory
- 외부 내부의 메모리 (비휘발메모리) 에 대한 표준화된 접근
- Crypto
- 내부, 외부 하드웨어 가속기를 이용한 암호화 에 대한 표준화된 접근
- Communication
- 차량용 네트워크, ECU 내부 통신, 내부 소프트웨어간의 통신 에 대한 표준화된 접근
- Off-board Communication
- v2x 통신, 차량무선통신, ECU 외부의 보드간의 통신 에 대한 표준화된 접근
- System
- operating system, 타이머, 메모리에러제어등의 표준화 기능제공
- ECU 상태관리, 와치독 등의 ECU 특화 서비스 및 라이브러리