美文网首页
Android Automotive 入门介绍

Android Automotive 入门介绍

作者: 小城哇哇 | 来源:发表于2023-01-15 19:51 被阅读0次

    Android Automotive 入门介绍

    版本变更

    版本 日期 修改人 描述
    V1.0 2022.06.18 越过山风 Android Automotive 入门介绍

    Android Automotive概述

    Android Automotive是直接在车载硬件上运行的Android平台,预安装了车机音视频娱乐的应用,以及其他一些第二方以及第三方的Android应用

    Android Automotive是由Google在2017年推出的Android平台的车载信息娱乐系统(In-Vehicle Infotainment 简称IVI),2019年宣布对第三方开发者开放开发权限。

    Android Automotive汽车子系统之间相互连接,可以通过总线拓扑实现了车载音视频娱乐系统的互联互通。

    常见总线拓扑如下:

    • CAN(Controller Area Network) 总线:控制器局域网络,ISO国际标准化的串行通信协议。由德国博世公司开发,最终成为国际标准(ISO 11898)。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统的标准总线。

    • LIN(Local Interconnect Network) 总线:局域互联网络,针对汽车分布式电子系统而定义的一种低成本的串行通讯网络,是对CAN等其它汽车多路网络的一种补充,适用于对网络的带宽、性能或容错功能没有过高要求的应用,基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,是UART中的一种特殊情况。

    image.png

    除此之外,还有面向媒体的系统传输 (MOST) 总线以及汽车级以太网和 TCP/IP 网络(如 BroadR-Reach)

    同时,Android Automotive通过硬件抽象层(VEHICLE HAL)为Android汽车开发提供了一致的硬件抽象层接口,从而无需过多的考虑物理传输层。

    正因如此,系统集成供应商可以将平台特定功能的HAL接口与特定技术的网络接口(如CAN,UART)等接口进行连接,以实现HAL模块功能。

    例如,可以通过运行了RTOS实时操作系统的微控制单元MCU,用于进行CAN总线访问或类似操作,然后再通过串行链路连接到运行了Android Automotive的CPU。

    通过统一的硬件抽象层,每个合作伙伴都可以选择适合自己的硬件架构。

    Android Automotive与Android

    Android Automotive与整个Android之间有如下的关系

    • Android Automotive是基于Android平台。Android Automotive不是Android的分支或者并行开发的分支。与手机和平板电脑等Android设备使用相同的代码库,可以利用现有的安全模型,开发者工具和基础架构,并保持了高度的可定制性,可移植行,完全免费提供并且开源。

    • Android Automotive扩展了Android平台,意在打造一个支持车载娱乐的信息系统,其增加了对汽车的特性,要求及技术的支持,是一个全栈式的车载信息娱乐开放平台。

    Android Automotive与Android Auto

    • Android Auto是在用户手机上运行的一个互联投屏子系统,将支持Android Auto的一些手机应用(例如Spotify)及车载信息娱乐功能(如消息,通话,媒体,导航)通过USB连接或者无线连接投射到车载信息娱乐系统进行交互,这里的车载信息娱乐系统可以是基于Android平台的,也可以是基于Linux平台的,从而复用了手机上的部分功能。Android Auto 支持为汽车投屏开发设计手机端的应用程序。
      image.png
    • Android Automotive是一个基于车载硬件直接运行的,开源的,高可定制的操作系统和平台,为信息娱乐提供强大的技术支持。Android Automotive 支持通过Android开发车机端的应用程序。
    image.png

    Android Automotive架构

    [图片上传失败...(image-dda531-1673869877937)]

    Android Automotive架构如上图,简单说明如下

    • CAR API:Android Automotive 汽车Framework层面向汽车APP开发特有的接口,该API类似于Android原生的Framework API,以android.car.jar提供给APP使用,对应的代码详见:/platform/packages/services/Car/car-lib

    • CAR SERVICE:Android Automotive 汽车系统核心服务,实现了系统中与车相关的服务,对应的代码详见 /platform/packages/services/Car/

    • VEHICLE HAL: 车载HAL,定义了OEM可以实现的车辆属性的接口,定义详见hardware/libhardware/include/hardware/vehicle.h, 其实现详见 hardware/libhardware/modules/vehicle/

    本文转自 https://juejin.cn/post/7110801076068024357,如有侵权,请联系删除。

    相关文章

      网友评论

          本文标题:Android Automotive 入门介绍

          本文链接:https://www.haomeiwen.com/subject/ammacdtx.html