Automotive

Consolidation in In-vehicle Infotainment Software Architecture

chbae 2023. 4. 23. 14:57
728x90

이 글에서는 IVI (In-Vehicle Infotainment) 아키텍처의 통합에 대해 간단히 설명하고자 한다. 현대 고급차에서는 수백개의 ECU가 사용되고 있고, 이는 비용적, 소프트웨어 아키텍처 측면에서 상당히 부담으로 작용하고 있고, 이를 점차 통합하여 적게 가는 방향으로 가고 있다.

 

그 예로 기존에 각각 다른 SoC를 사용하던 Cluster와 IVI가 통합되어 Hypervisor를 사용하여 하나로 가려고 하고 있다.

 

그림 1. ECU Consolidation

 

간단히 설명하면

  • Cluster는 Safety Critical하기 때문에 ASIL 등급을 만족하여야 하고 현재 Linux가 아직까지는 사용되기 어려워 RTOS를 위에 Cluster Application을 개발하고 있다. 물론 Linux Foundation의 ELISA 프로젝트에서 Linux에 Safety 기준을 만족하도록 노력을 하고 있다.
  • IVI 부분은 Safety Critical을 크게 요구하지 않기 때문에 Linux, Android 등으로 많이 올리고 있는 추세이다. Android는 Android Automotive를 사용하는데 Google 인증을 받아 GAS (Google Automotive Suite)를 사용하는 OEM과 GAS를 사용하지 않고 자체적으로 구축하는 진영으로 나뉘어 진다. Linux를 사용하는 대표적인 회사는 Mercedes, Hyundai 등이 있고 Android Automotive를 사용하는 회사는 GM, PSA 등 여러 회사가 있다.
  • 최근 들어 Hypervisor 을 사용하여 Cluster, IVI를 하나의 SoC에서 지원 하도록 아키텍처를 구성하고 있고 Samsung, Qualcomm, Intel, NVIDIA, Renesas 등의 SoC를 사용한다.

 

그림 1. ECU Consolidation에서는 간단히 Hypervisor 통합을 보여주지만 실제 IVI 시스템은 Vehicle Network 을 통해 외부로 통신하는 SoC를 따로 놓기도 하는 등 훨씬 더 복잡한 HW / SW 아키텍처 구조를 가지고 있다.

 

회사마다 다르고, 현재 필자의 프로젝트와도 다르지만 그림 1보다 조금 더 자세히 나온 그림은 다음과 같다.

 

그림 2. IVI Software Architecture

 

그림 2는 QNX Hypervisor을 사용하여 QNX OS에 Cluster를, IVI는 Guest OS로 Android가 올라와 있는 그림이다. 추가로 CAN과 같은 Vehicle Network 통신을 위해 Automotive Controller Hardware 위에 Autosar 스택이 올라 간 것을 볼 수 있다.

 

실제 필자의 프로젝트는 이보다 더 복잡하고 많은 SoC 및 OS가 올라가 있다. Configuration Management 관점에서 각 OS 별 빌드 방법, 저장소 관리하는 방법, 이를 통합하여 최종 이미지를 제공하는 방법을 많이 고민하고 있다. 또한 CI/CD가 지향하는 목표를 달성하기 위한 노력도 지속적으로 하고 있고 이 과정에서 많은 시행착오가 있는데, 이에 대한 글은 다음에 써볼 예정이다.

 

Reference