반응형

자동차 소프트웨어(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 표준을 기반으로 개발

 

개발 프로세스(보편적인 완성차 업체에서 채택하고 있는 방식)

  1. 요구사항 분석
  2. 시스템 설계
  3. SW 아키텍처 설계 (AUTOSAR 기반)
  4. Application SWC 개발 (C/C++/MATLAB Simulink)
  5. RTE 코드 생성
  6. MCAL/BSW 설정
  7. ECU 통합 & 빌드
  8. HIL 시험, 단위 시험, 통합 시험
  9. 차량 시험(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 탑재) 소프트웨어가 복잡해지고 많은 기능을 추가되면 될수록 소프트웨어 생산성 향상을 위한 개발 프로세스 및 표준들이 필요해질 것이고 발전 될 것임

반응형

+ Recent posts