티스토리 뷰
Automotive Open System Architecture
AUTOSAR는 한마디로 자동차 ECU(Electronic Control Unit)를 위한 개방형 소프트웨어 표준 아키텍처다. 공통적인 기능의 ECU를 위한 SW아키텍처 및 SW 인터페이스에 대한 표준을 정한 것을 말한다.
AUTOSAR란
- 목적
- 응용 프로그램 재사용 및 SW 시장 활성화
- 품질, 확장성, 신뢰성 개선
- SW비용 최적화
- SW수정, 업그레이드 업데이트 유연화
- 과거의 방식 (Bare-Metal): 예전에는 하드웨어에 직접 프로그래밍을 했다. 이 경우 하드웨어가 바뀌면 소프트웨어도 통째로 수정해야 하는 비효율이 발생했다.
- 전통적 방식 (Conventional): 하드웨어 종속적인 Basic SW와 응용 SW를 분리하긴 했으나, 제조사(OEM)마다 플랫폼이 제각각이었다. 표준 아키텍처가 없다 보니 부품 공급업체(Tier 1)가 업체 간 소프트웨어를 재사용하거나 교체하는 것이 매우 어려웠다.
이러한 문제를 해결하기 위해 주요 OEM과 부품사, 반도체 제조사들이 모여 AUTOSAR 협회를 결성했고, 소프트웨어 재사용성을 높이고 비용을 최적화하는 표준을 만들었다.
AUTOSAR classic 계층
- application layer
- runtime environment(RTE)
- Basic Software(BSW)
- Microcontroller
① Basic Software (BSW)
| System Services | memory services | communication services | complex drivers |
| Onboard Device Abstraction | memory hardware abstraction | communication hardware abstraction | |
| microcontroller drivers | memory drivers | communication drivers |
- Microcontroller Abstraction Layer (MCAL): BSW의 최하단으로, 특정 마이크로컨트롤러(MCU)에 직접 접근하는 드라이버를 포함한다. 이를 통해 상위 레이어가 하드웨어 종류에 상관없이 구성될 수 있게 돕는다.
- ECU Abstraction Layer: MCU 외부의 주변 장치들에 접근할 수 있게 하며, 상위 레이어가 ECU 하드웨어 사양과 무관하게 동작하도록 만든다.
- Services Layer: BSW의 최상위 레이어로 OS, 네트워크 관리, 메모리 관리 등을 수행한다. MCU나 ECU 하드웨어에 관계없이 공통된 서비스를 제공한다.
- Complex Drivers: AUTOSAR 표준에서 정의되지 않았거나, 매우 빠른 타이밍 제어가 필요한 특수 기능(복잡한 센서/액추에이터 제어)을 구현할 때 사용한다. 하드웨어에서 RTE까지 직접 연결되기도 한다.
② Runtime Environment (RTE)
AUTOSAR의 핵심인 미들웨어 레이어다.
- 응용 소프트웨어(ASW) 간의 통신이나 ASW와 BSW 간의 정보 교환을 중재한다.
- RTE 덕분에 응용 소프트웨어는 특정 ECU 하드웨어에 얽매이지 않고 독립적인 컴포넌트(Component) 형태로 존재할 수 있다.
③ Application Layer
실제 자동차의 기능을 수행하는 소프트웨어 컴포넌트들이 모여 있는 곳이다.
- SW Component: 기능을 나누는 최소 단위이며, 잘 정의된 포트(Port)를 통해 서로 통신한다.
- AUTOSAR는 이 컴포넌트들 사이의 인터페이스를 표준화하여 개발 효율을 극대화한다.
앞서 배웠던 Classic 플랫폼이 안정적인 제어에 집중했다면, 오늘 설명할 AUTOSAR Adaptive는 자율주행과 커넥티비티 같은 미래차의 고성능 요구 조건을 해결하기 위해 등장했다. 두 플랫폼은 서로 대체하는 관계가 아니라, 각자의 장점을 살려 상호 보완하는 파트너라고 이해하면 된다.
1. 왜 Adaptive 플랫폼이 필요한가?
기존의 AUTOSAR Classic은 엔진이나 제동 장치처럼 정해진 기능을 아주 낮은 비용의 MCU에서 안정적으로 돌리는 데 최적화되어 있다. 하지만 미래의 자동차는 다르다.
- 복잡한 연산: 환경 인식이나 행동 계획 같은 고성능 컴퓨팅이 필요해졌다.
- 외부 연결: 차량을 외부 인프라나 클라우드(백엔드)와 연결해야 한다.
- 동적 업데이트: 스마트폰처럼 차량이 운행되는 동안에도 기능을 추가하거나 SW를 업데이트(OTA)할 수 있어야 한다.
Classic 플랫폼은 모든 통신과 기능이 설계 단계에서 고정적으로 정의되기 때문에, 이러한 변화무쌍한 요구사항을 충족하기 어렵다.
2. AUTOSAR Adaptive의 주요 특징
Adaptive 플랫폼은 중앙 컴퓨팅 클러스터를 형성하여 고성능 연산을 처리하고, 하드웨어 제어는 기존 Classic ECU와 협력하여 수행한다.
- Service-Based Communication: Classic이 미리 정의된 신호(Signal) 기반 통신을 한다면, Adaptive는 필요한 서비스를 그때그때 호출하는 서비스 기반 통신(Some/IP 등)을 사용한다.
- 유연한 SW 구성: 어플리케이션이 개별적인 프로세스 단위로 실행되므로, 전체 코드를 바꿀 필요 없이 특정 앱만 수정하거나 삭제하는 것이 가능하다.
- 표준 기반: C++ 언어를 사용하며, POSIX 표준 운영체제(OS)를 기반으로 동작한다.
3. Classic vs Adaptive 한눈에 비교
이 부분이 가장 중요하다. 두 아키텍처의 차이점을 표로 정리했다.
| 구분 | AUTOSAR Classic | AUTOSAR Adaptive |
| 주요 용도 | 엔진, 에어백 등 특정 단일 기능 제어 | ADAS, 인포테인먼트, 센서 퓨전 등 고성능 연산 |
| 통신 방식 | Signal-based (CAN, LIN 등) | Service-based (Ethernet 기반) |
| 실시간성 | Hard Real Time (usec 단위) | Soft Real Time (msec 단위) |
| 구현 언어 | C 언어 | C++ 언어 |
| OS 기반 | OS를 사용하지 않을 수도 있음 | POSIX OS 기반 (Linux, QNX 등) |
| 유연성 | 고정적, 정적 구성 | 유연함, 동적 구성 가능 (OTA 지원) |
4. 미래의 차량 아키텍처
도메인 중심(Domain-Centralized)의 차세대 아키텍처에서는 AUTOSAR Adaptive가 중앙에서 두뇌 역할을 하고, 각 말단 장치에서 AUTOSAR Classic이 실제 하드웨어를 제어하는 구조로 발전하고 있다.
'H-모빌리티클래스(자동차)' 카테고리의 다른 글
| 자동차 현가장치 제어 개론 (0) | 2026.05.16 |
|---|---|
| EPS 보조 토크의 종류 (0) | 2026.05.16 |
| 자동차 개발 기술의 변화(엔진, 변속기, EREV, 파워트레인, 배터리) (2) | 2026.05.10 |
| 자동차 타이어의 이해(구성, 규격, 읽는 법, 교체 주기) (1) | 2026.05.09 |
| 자동차 임베디드 시스템 SW의 구조 (0) | 2026.05.08 |
| 자동차 제동장치(브레이크) 종류와 원리 (0) | 2026.05.08 |
| 자동차 현가장치란(서스펜션) (0) | 2026.05.08 |
| 전기차 배터리 종류, BMS, 충전시스템에 관하여 (1) | 2026.05.07 |
- Total
- Today
- Yesterday
- 파스타
- 계산방법
- Liiv M
- 방향장
- 알뜰폰요금제
- 무어머신
- 맛집
- 리브모바일
- 할인
- f-94w
- 메쉬 밴드
- 티스토리챌린지
- 알리익스프레스
- 알뜰 요금제
- 카시오
- 북문
- mealy
- 오블완
- 모클
- a모바일
- 시계 줄
- 리브엠
- 밀리머신
- 학습일기챌린지
- 배송기간
- f-91w
- 문서 스캔
- 교체
- 경북대
- H-모빌리티 클래스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |