반응형
자동차 소프트웨어(Automotive Software)는 차량 내부의 전자제어장치(ECU)와 센서, 액추에이터 등을 제어하고, 안전·주행·편의 기능을 수행하는 모든 소프트웨어를 의미, 전통적인 기계 중심의 자동차에서, 지금은 소프트웨어 중심(SDV:Software Defined Vehicle)으로 변화하면서 자동차 SW의 비중과 복잡도는 폭발적으로 증가하는 추세
1. 자동차 소프트웨어의 전체 구조
자동차 한 대에는 70 - 150개 이상의 ECU가 있고, 이 ECU들은 수십~수백개의 기능을 수행
자동차 소프트웨어는 크게 3계층 구조로 볼 수 있음
(1) Application Layer
- 운전자/차량 기능을 직접 수행
- 예: ADAS, IVI, BMS(Battery Management System)
(2) Runtime Environment (RTE) / Middleware
- Application과 하드웨어 사이의 중간 매개
- AUTOSAR RTE가 대표적
- 소프트웨어 간 통신, 데이터 전달, 서비스 추상화 담당
(3) Basic Software (BSW) / OS / Driver Layer
- 하드웨어를 직접 제어하는 저수준 SW
- 메모리 관리, 통신 드라이버(CAN, LIN, Ethernet), PWM, ADC, GPT(General Purpose Timer)
- AUTOSAR MCAL이 여기에 해당
2. 자동차 소프트웨어의 주요 구성 요소
1) ECU Software
각 ECU는 하나의 작은 컴퓨터이며 다음 SW로 구성
- 부트로더
- AUTOSAR OS
- Basic Software (통신/메모리/진단)
- Application SWC(Software Component)
2) 통신 소프트웨어
차량 내부의 네트워크를 통해 ECU 간 정보 전달
- CAN / LIN / Ethernet
- FlexRay(과거 사용)
- SOME/IP, DDS(차량 서비스 기반 통신)
3) 제어 알고리즘
- 엔진 제어(파워트레인)
- 변속기 제어
- ABS/ESC
- 스티어링 제어
- 배터리/주행모터 제어(EV)
4) ADAS 및 자율주행 소프트웨어
- 카메라, 레이더, 라이다 센서 처리
- 객체 인식
- 경로 생성 및 제어
- 센서 퓨전
3. 자동차 소프트웨어 개발 과정
자동차 SW는 안전이 매우 중요하며 ISO 26262 표준을 기반으로 개발
개발 프로세스(보편적인 완성차 업체에서 채택하고 있는 방식)
- 요구사항 분석
- 시스템 설계
- SW 아키텍처 설계 (AUTOSAR 기반)
- Application SWC 개발 (C/C++/MATLAB Simulink)
- RTE 코드 생성
- MCAL/BSW 설정
- ECU 통합 & 빌드
- HIL 시험, 단위 시험, 통합 시험
- 차량 시험(Vehicle Test)
현업에서는 차종 개발 일정에 따라 유동적으로 동작
4. 자동차 소프트웨어에서 사용하는 대표 기술
1) CAN, LIN, Ethernet 통신
ECU 간 신뢰성 있는 실시간 통신
2) RTOS (Real-Time OS)
- Task Scheduling
- Interrupt
- Timer
AUTOSAR OS가 대표적이나 FreeRTOS 등의 오픈소스 또한 존재
3) 배터리 관리 (BMS) 알고리즘
전기차에서 가장 중요한 SW 중 하나
4) ADAS 소프트웨어
차량 센서값에 기반한 주행 보조 제어
5) IVI 소프트웨어
인포테인먼트 시스템으로 최근에는 더 많은 기능들이 통합되어가는 추세
5. 자동차 소프트웨어 표준 - AUTOSAR
현재 자동차 SW의 표준은 AUTOSAR
AUTOSAR의 목적
- ECU 간 표준 인터페이스 제공
- 소프트웨어 재사용성 증가
- 기능 확장 및 유지 보수 용이
- OEM-협력사 간 개발 표준화
Classic Platform (CP)
- 안전/실시간 제어가 필요한 ECU
- 파워트레인, 바디, 샤시 등
Adaptive Platform (AP)
- 자율주행/고성능 컴퓨팅
- POSIX 기반 (C++14~20)
- SOME/IP, DDS 사용
6. 자동차 소프트웨어가 중요한 이유
- 전기차/자율주행 시대에는 차량 가치의 대부분이 SW에서 결정(SDV, Software를 통해 모든 것이 제어되는 시대가 도래)
- SW 업데이트만으로 새로운 기능을 제공(예: 테슬라 오토파일럿)
- 안전/신뢰성 확보가 필수
결국, 제어기들은 점점 통합되고(MCU 혹은 AP 탑재) 소프트웨어가 복잡해지고 많은 기능을 추가되면 될수록 소프트웨어 생산성 향상을 위한 개발 프로세스 및 표준들이 필요해질 것이고 발전 될 것임
반응형
'차량용 소프트웨어' 카테고리의 다른 글
| 차량 개발 프로세스 개요 (0) | 2025.12.05 |
|---|---|
| 소프트웨어 공급망 (Software Supply Chain) (0) | 2025.11.19 |
| 차량용 Ethernet(Automotive Ethernet) (0) | 2025.11.19 |
| HIL(Hardware-In-the-Loop) 시험이란? (0) | 2025.11.19 |
| CAN, CAN FD(Controller Area Network, - Flexible Data-rate) 통신 (0) | 2025.11.19 |