안전 타겟이 콕핏 도메인 컨트롤러를 표시하고 Android가 안전 및 가용성 요구사항이 있는 디스플레이를 비롯한 자동차의 모든 디스플레이에 전원을 공급할 수 있도록 지원합니다.
그림 1. 클러스터 개요
관련 정보
GitHub에 대해 자세히 알아보려면 Compose를 위한 자동차 설계를 참고하세요.
용어
- platform
- 하드웨어, 하이퍼바이저, 운영체제, 관련 라이브러리의 조합입니다.
- 안전 모니터
- 차량 상태를 모니터링하고 관련 시각적 정보가 사용자에게 의도한 대로 표시되는지 확인하는 앱
안전 구성요소 표시
디스플레이 안전 소프트웨어는 세 가지 주요 구성요소로 구성됩니다.
DriverUI: HAR에서 렌더링한 안전 또는 규제 요소를 제외한 전체 계기판 디스플레이를 렌더링하는 Android 시스템 앱입니다.
고가용성 렌더러 (HAR): 콜드 부팅 후 빠르게 표시되어야 하는 디스플레이 요소와 Android를 사용할 수 없을 때 자리표시자 요소를 렌더링하는 품질 관리 프로세스입니다. HAR은 휴대 가능하며 중요한 운전 정보에 중점을 둡니다.
안전 설계 도구 체인: 설계 소스에서 안전 모니터 구현을 위한 구성을 생성하여 관련 ASIL-B 안전 목표를 달성하는 도구 집합입니다.
모든 구성요소는 디자인 도구 체인인 Automotive Design for Compose를 사용하여 동일한 OEM 디자인 정의에서 생성되었는지 확인합니다.
그림 2. 안전 구성요소를 표시합니다.
고가용성 렌더러
HAR은 Rust로 작성되며 다음 구성요소로 구성됩니다.
플랫폼 추상화 계층 (PAL) 그래픽, 카메라, 오디오, 사용자 입력 (예: 스티어링 휠 컨트롤), 차량 데이터 (신호 또는 속성이라고도 함), 차량 구성 (예: 가솔린 또는 EV, 좌측 또는 우측 핸들) 및 사용자 환경설정 (예: km/h 및 mph)을 비롯한 여러 하위 시스템과 인터페이스하는 추상화입니다.
타겟 플랫폼의 PAL 구현
PAL로 개발된 HAR 앱
Google은 PAL을 정의하고 PAL과 HAR 앱의 참조 구현을 제공합니다. 참조 HAR 앱은 모든 빌드 블록을 제공하고 참조 기본 루프를 포함합니다. OEM은 요구사항에 맞게 PAL 구현과 HAR 앱을 맞춤설정해야 합니다. HAR은 렌더링에 Impeller를 사용합니다.
자세한 내용은 다음을 참조하세요.
DriverUI
클러스터 UI는 일반적으로 별도의 디스플레이에 핸들 뒤에 배치됩니다. OEM은 클러스터와 IVI를 점진적으로 결합합니다. 이 결합된 UI가 DriverUI입니다.
DriverUI는 HAR에서 렌더링한 안전 관련 또는 규제 요소를 제외한 전체 계기판 디스플레이를 렌더링하는 Android 시스템 앱입니다. DriverUI는 미디어 재생, 전화 통화, 지도, 탐색 등과 관련된 정보를 표시하며 Compose용 Automotive Design을 사용하여 구현됩니다.
AAOS에는 계기판을 빌드하는 두 가지 API가 있습니다. Instrument Clusters API(클러스터 1이라고도 함)는 유지보수 모드에 있으며 OEM은 ClusterHomeManager API (클러스터 2라고도 함)로 이전하는 것이 좋습니다.
Google은 클러스터 1 및 클러스터 2 API의 참조 구현을 제공합니다.
자세한 내용은 DriverUI를 참고하세요.
HAR 및 DriverUI 출력 혼합
HAR와 DriverUI는 별도의 디스플레이를 사용하여 UI를 렌더링합니다. 두 출력 모두 합성되어 DriverUI에 하나의 이미지로 표시됩니다.
이를 위해 HAR은 DriverUI에서 실행 중임을 나타내는 주기적인 하트비트 메시지를 수신하는 것을 기반으로 Android 출력이 표시되는 영역의 투명도를 제어합니다.
DriverUI가 실행되고 있지 않으면 HAR이 하트비트가 없음을 감지하고 DriverUI 영역을 불투명하게 렌더링하고 자리표시자를 표시합니다. 하트비트가 수신되면 HAR은 자리표시자를 삭제하고 DriverUI 영역을 투명으로 설정합니다.
DriverUI와 HAR은 리모트 프로시져 콜(RPC)을 사용하여 서로 통신합니다. 하트비트 메시지는 RPC 채널을 통해 전송되는 데이터의 예이며 타임스탬프가 필드 중 하나로 구성됩니다.
gRPC는 RPC에 사용됩니다. SDV에서 SDV 통신 스택은 SDV 게이트웨이 클라이언트를 제공하여 DriverUI에서 HAR로 채널을 검색하고 설정합니다.
그림 3. HAR 및 DriverUI 구성
안전 설계 도구 모음
안전 설계 도구 모음은 OEM이 순서대로 사용하여 Figma 설계 문서에서 생성된 안전 모니터 솔루션을 제공하는 일련의 도구입니다.
안전 설계 컴파일러는 안전 모니터를 빌드하기 위한 후속 코드 생성을 유도하는 안전 아티팩트를 생성합니다. 설계 컴파일과 코드 생성을 분리하면 사용된 코드 생성기가 ISO-26262 TCL-3 등급을 달성할 수 있습니다.
그림 4. 안전 설계 도구 모음을 사용합니다.
컴파일러 아티팩트가 생성된 후 도구 모음은 사람이 읽을 수 있는 보고서를 생성할 수 있습니다. 이 보고서는 OEM 안전 엔지니어가 Figma 디자인에서 생성된 아티팩트를 검사하여 검증할 수 있는 파일입니다.
Google은 ASIL 인증을 받지 않은 안전 모니터의 참조 구현을 제공합니다. OEM은 요구사항을 충족하도록 안전 모니터를 맞춤설정하고 구현을 인증받아야 합니다.
자세한 내용은 안전 설계 도구 체인을 참고하세요.
SDV에 안전 표시
SDV에서 디스플레이 안전을 빌드하고 실행할 수 있습니다. SDV는 기능이 완료되었으며 게스트 VM 2개를 사용하여 전체 디스플레이 안전 클러스터를 실행합니다.
소프트웨어 정의 차량
Android Automotive OS (AAOS) 소프트웨어 정의 차량 (SDV)은 다음을 충족해야 합니다.
- 전체 클러스터를 표시하려면 게스트 VM이 두 개 필요합니다.
- 게스트 VM에서 SDV 미디어 (빠른 부팅 VM이라고도 함)로 HAR을 실행합니다.
- SDV-IVI VM을 실행하는 별도의 게스트 VM에서 DriverUI를 실행합니다.