显示安全目标是驾驶舱域控制器,可让 Android 为汽车中的所有显示屏供电,包括那些对安全性和可用性有要求的显示屏。
图 1. 集群概览。
相关信息
如需详细了解 GitHub,请参阅 Automotive Design for Compose。
术语
- 平台
- 硬件、Hypervisor、操作系统和相关库的组合。
- 安全监控器
- 一款用于监控车辆状态并验证相应视觉信息是否按预期向用户显示的应用。
显示安全组件
显示屏安全软件由三个主要组件构成:
DriverUI:一种 Android 系统应用,用于呈现整个仪表板显示屏,但不包括由 HAR 呈现的安全或监管元素。
高可用性渲染器 (HAR):一种质量管理流程,用于在冷启动后快速渲染必须存在的显示元素,并在 Android 不可用时渲染占位元素。HAR 可移植,并且侧重于关键驾驶信息。
安全设计工具链:一组工具,用于从设计源生成安全监控器实现的相关配置,以实现相关的 ASIL-B 安全目标。
所有组件都使用设计工具链 Automotive Design for Compose 来验证它们是否是根据同一 OEM 设计定义创建的。
图 2. 显示安全组件。
高可用性渲染器
HAR 是用 Rust 编写的,包含以下组件:
平台抽象层 (PAL)。用于与多个子系统(包括图形、摄像头、音频、用户输入(例如方向盘控制)、车辆数据(也称为“信号”或“属性”)、车辆配置(例如燃油车或电动汽车、左舵或右舵)和用户偏好设置(例如公里/小时和英里/小时)进行交互的抽象层。
针对目标平台的 PAL 实现。
使用 PAL 开发的 HAR 应用。
Google 定义了 PAL,并提供了 PAL 和 HAR 应用的参考实现。参考 HAR 应用提供了所有构建块,并包含一个参考主循环。OEM 应自定义 PAL 实现和 HAR 应用,以满足其要求。HAR 使用 Impeller 进行渲染。
如需了解详情,请参阅以下资源:
DriverUI
仪表盘界面通常位于方向盘后面的单独显示屏中。OEM 逐渐将仪表盘和 IVI 相结合。此组合界面即 DriverUI。
DriverUI 是一款 Android 系统应用,可呈现整个仪表盘显示屏,但不包括由 HAR 呈现的安全相关元素或监管元素。DriverUI 会显示与媒体播放、电话通话、地图、导航和其他内容相关的信息,并使用 Automotive Design for Compose 实现。
AAOS 提供了两个用于构建仪表盘的 API。仪表板集群 API(也称为 Cluster 1)处于维护模式,建议 OEM 迁移到 ClusterHomeManager API(也称为 Cluster 2)。
Google 提供了 Cluster 1 和 Cluster 2 API 的参考实现。
如需了解详情,请参阅 DriverUI。
混合 HAR 和 DriverUI 输出
HAR 和 DriverUI 使用单独的显示屏来呈现界面。这两个输出会合成并显示为一张图片,供 DriverUI 使用。
为此,HAR 会根据从 DriverUI 接收到的定期心跳消息来控制 Android 输出显示区域的透明度,以表明 DriverUI 正在运行。
当 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 上构建和运行 Display Safety。SDV 功能齐全,使用两个 guest 虚拟机来运行完整的显示安全集群。
软件定义汽车
Android Automotive OS (AAOS) 软件定义车辆 (SDV):
- 需要两个 guest 虚拟机才能显示完整集群。
- 在客机虚拟机中运行 SDV Media(也称为快速启动虚拟机)中的 HAR。
- 在运行 SDV-IVI 虚拟机的单独的 guest 虚拟机中运行 DriverUI。