分享

Android Automotive OS Whitepaper | Android Automotive OS Book

 昵称55828825 2023-10-24 发布于北京

作者:

Peter Gessler(Android 汽车架构师)、
Tino Müller(移动解决方案)、
Marius Mailat(首席技术官)

抽象的

谷歌用于互联车载信息娱乐(IVI)系统的Android汽车操作系统已经颠覆了传统的汽车信息娱乐格局。在本技术白皮书中,我们将概述Android汽车操作系统的功能和架构,以支持原始设备制造商( OEM)和一级供应商有关其未来信息娱乐战略的决策过程。

关键词

Android Automotive、操作系统 (OS)、Google 汽车体验服务 (GAS)、人机界面 (HMI)、车辆信息娱乐系统 (IVI)、用户 (UX)

一、简介

当今的用户要求汽车 IVI 和互联服务提供与他们最喜欢的消费电子设备、应用程序和云服务相同的洞察力和令人兴奋的体验。此外,他们希望将个人应用生态系统集成到车辆中。现在,通过Google的Android汽车操作系统,所有这一切都可以轻松实现。

如今,全球汽车制造商正在仔细评估 Android 汽车操作系统的优势。一些公司已经选择与 Google 建立正式合作伙伴关系,共同创建下一代 IVI(包括)。谷歌汽车服务(GAS)。其他人正在使用开源项目AOSP 包括。独立构建 Android 汽车系统的汽车扩展,而三分之一的人仍然犹豫不决,主要是由于对疑虑和数据更新的担忧。

对于那些目前正在制定决策十字路口的人来说,我们希望找到谷歌 Android 汽车操作系统的一些更具技术性的方面。论文 然而,我们并不试图解决所有技术方面的问题,而是旨在提供一个概述。如果需要更深入的讨论,我们推荐我们的 Android 汽车基础培训。

二. 功能概述

为了了解操作系统的各个组件和附加值,我们想对其结构进行简要概述。

图 1 显示了 Android Automotive 的抽象层架构,分为四层。在本节中,我们重点关注 GAS 和内置应用程序。

谷歌汽车服务(GAS)
GAS 描述了一组特定于客户的技术服务,这些服务由 Google 预编译并通过许可模式提供。最重要的服务是

  • 谷歌地图和导航:用于从 A 点到 B 点的导航,具有智能地址、路线、加油站和充电站搜索。
  • Google Assistant:语音个人助理,用于控制各种车辆功能(可以扩展)或向用户提供附加信息。
  • Google Playstore:提供和管理专为车辆使用的第三方应用程序
  • 设置向导创建车辆用户配置文件帐户和连接设置。
  • 汽车键盘:适合汽车行业操作触摸屏的键盘,支持多种语言。

OEM 通过与 Google 的关联合作伙伴关系获得 GAS 的访问权限。这提供了密切的沟通和支持、扩展的技术文档以及带有新更新和升级的季度预发布 (QPR) 版本。

Non-GAS描述的是不需要集成GAS的平台版本。OEM 只需下载免费提供的 AOSP 源代码以及汽车扩展,然后集成自己的应用程序和服务。例如,如果计划在中国推出,由于该市场无法提供 Google 服务,或者如果您是没有 OEM 合同的一级供应商,因为 Google 目前只与 OEM 直接合作,您可以选择此变体。

英雄应用程序除了 GAS 之外,谷歌还在开发诸如

  • 媒体中心用于集成媒体源(例如LocalMediaPlayer )的骨架。该骨架完全集成,并与通知中心和拨号器无缝交互。
  • 拨号器中央电话应用程序,允许管理所连接智能手机的联系人并拨打电话。
  • 汽车设置管理各种系统设置,例如时间和语言、用户管理和连接。
  • 通知中心简短的系统通知用户和启动应用程序的交互。

这些应用程序可从android.获取。除了这些特定于车辆的应用程序之外,还可以在…/package/apps/…上获得许多其他应用程序。

三.弗拉姆电子作品和图书馆

为了创建整体HMI,需要各种框架和库来集成应用程序并实施适用于所有系统和用户应用程序的通用规则和限制

UI 框架eworks SystemUI / CarSystemUI管理中央屏幕的总体结构。如有必要,用户可以自定义这些并更改栏的各个片段及其内容(例如屏幕顶部的状态栏、底部的全局导航栏以及主片段和HVAC 栏)。此外,OEM/Tier 1 可以通过SystemUI管理主题(颜色、字体和样式的使用)和弹出窗口的显示

Google 将SystemUI定义为“……为系统提供 UI 但在 system_server 进程之外的持久进程”[2]。SystemUIApplication使用一组定义的服务扩展了SystemUI,例如SystemBarsPowerUI或以隔离方式工作的自行设计的服务,它们是系统用户界面的主要部分,并从启动过程开始

Android Automotive 最重要的扩展之一是DrivingUxRestrictions框架。这已经集成到谷歌提供的应用程序中。该框架使用 OEM 指定的配置文件来防止最终客户在某些驾驶情况下进行触摸交互,从而使用户不会分心。OEM可以扩展和定制其中的现有框架。

汽车库。除了针对 HMI 描述的功能之外,Google 在其他层上还提供了无数其他功能。我们想指出三项特殊服务[2],它们为我们减少了很多工作。

汽车信息管理器。根据开发策略,原始设备制造商可能希望使用一个平台版本管理多种车辆变体。CarInfoManager可用于动态调整 HMI 作为代理组件,它提供有关车辆型号、变型和其他相关车辆属性的静态信息。

汽车电源管理器信息娱乐系统及其应用的行为很大程度上取决于车辆的系统状态。它们通过CarPowerManager车辆 HAL和基于通用状态机的车辆微控制器单元 (VMCU)进行通信,如图 2 所示。

图 2:Google 的汽车电源状态机。基于[3]。
因此,应用程序可以在特定状态或状态更改时执行单独的操作。例如,在打开/关闭蓝牙或Wi-Fi等服务时,这是必要的。

汽车投影管理器。不同投影技术的有效集成和处理是车载信息娱乐系统的关键要求。用户可以自由选择Android Auto、Apple CarPlay或其他镜像技术。通过CarProjectionManager,Google可以开发一个应用程序,保证在建立连接、管理智能手机和关闭连接时具有相同的系统行为。

四.Android汽车操作系统架构

Android 平台 (AOSP) 一般可分为 3 个中显示的组件。这些组件是:

  • 应用框架和应用
  • Android 汽车系统服务和 Binder IPC
  • 硬件抽象层
  • Linux内核
图3:Android系统架构[4]。
Google 扩展了 AOSP 系统
  • 运输系统应用
  • 汽车API
  • 汽车服务
  • 车辆硬件抽象层

提供功能齐全的与车辆关联的车辆信息娱乐操作系统(参见图1)。IVI的源代码分配通常包括

OEM和第3应用程序作为一组Android应用程序,包括/product中的HMI和应用程序后台服务。

Android 开源项目 (AOSP)。包括来自通用系统应用程序、应用程序框架、通过 HAL 接口的系统服务的所有 GIT 树包,并且应位于 /system 分区中。

板级支持包 (BSP)。包括 Linux 内核映像以及给定硬件的 HAL 实现。BSP 依赖于片上系统 (SoC),并且是 /vendor 分区的一部分。

OEM可以通过自行开发的汽车或非汽车应用和系统服务来扩展现有源代码,例如平视显示器(HUD)管理、轮胎压力监测、充电程序管理等,以扩展其信息娱乐系统的功能。

由于Project Treble中进行的架构更改以及可用分区的扩展,未来不仅可以更换HMI层,还可以更换Android框架或BSP和硬件(图4)。

图4:基于平台的操作系统架构[5]。
以下部分概述了各个系统层的职责和任务:

应用程序框架应用程序框架通常称为“HMI 层”,包含系统和用户应用程序。我们的建议是以这样的方式设计应用程序:它们只负责可视化,包括可视化。小计算不会阻塞MainUI线程,而更多的核心业务逻辑会阻塞到服务层的系统服务。此外,应用程序使用后台服务管理自己的翻译标签和通知。

设计允许将来轻松更新和多种 HMI 设计,例如针对不同的汽车品牌。

服务层系统服务包含在服务层中,由SystemServer启动。它们作为系统进程运行,这赋予它们普通 Android 服务所没有的额外权限。这种方法为 OEM 提供了开发其他应用程序的机会,这些应用程序可以使用该服务而无需重复源代码。此外,出于安全原因,OEM 可以使用这些服务作为附加层,以避免应用程序与硬件抽象层之间的直接通信。

车辆 HAL车辆 HAL 的作用是以可扩展、与车辆无关的方式向系统服务公开特定于汽车的接口。这些接口包括

  • 访问车辆中 ECU 的信号
  • 访问从车辆微控制器单元生成的信号至 IVI OS
  • 访问车辆网络上可用的面向服务的功能(例如:SOME-IP)

所描述的层是平台的核心元素,负责应用程序和车辆 ECU 之间的数据交换。详细架构如图 5 所示。

图 5:带有扩展的详细软件组件架构视图。
这些流程将在不同的组件和层之间自上而下和自下而上地运行。

五、总结与结论

在本技术白皮书中,我们提供了有关 Android 汽车操作系统 (AAOS) 的一些见解,该操作系统由 Google 不断开发,并可在 android. 上公开获取。除了基本功能、框架库之外,我们还解释了分层架构并描述了 OEM 如何扩展系统。

我们认为 Android Automotive 是一个有效的平台,包含所有必要的核心功能。它需要较低的互联信息娱乐系统的开发、集成和维护成本。该系统可以完全定制,但是与原始源代码的任何偏差都会增加 OEM 的开发和维护工作量。另一个好处是,谷歌将定期发布补丁和年度重大升级,增加功能、扩展功能和其他改进。

根据我们的经验,与通常的4年开发周期相比,IVI开发时间可以缩短2年。在这种情况下,部署了 Android 汽车操作系统,包括。开发了 GAS 和完全定制的 HMI。非 GAS 系统的实施将需要额外的开发和集成。

有关 Android Automotive OS 的更多技术信息,我们推荐我们的Android Automotive OS 工作商店可以更深入地了解技术细节。

六.参考

  1. 安卓汽车
  2. Android汽车系统UI
  3. Android 汽车电源管理
  4. Android 汽车 Android 架构
  5. 高音项目。Android 8 有什么不同?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多