车载安卓系统的实施方案和注意事项
扫描二维码
随时随地手机看文章
谷歌创立的开放手机联盟 (OHA) 已走过七个春秋,该联盟已经让安卓 (Android) 操作系统更容易被手机开发商所利用。在其成立后的相当短的时间内,安卓平台已经发展成为主流智能手机和平板操作系统,目前开始出现在汽车和工业应用等拓展市场。苹果 (Apple) 的 iOS 和微软的 Windows CE 等与之竞争的操作系统正在失去市场份额,基于安卓系统的设备则取而代之。事实上,可下载的有用的安卓应用的数量已经增长到近110万个(数据来源:AppBrain 2014年1月)。
基于安卓系统的消费电子设备用户还希望可以在开车或乘车时使用他们的应用程序和设备功能。对于想要实现基于安卓系统的车载信息娱乐系统设计师来说,这里有多种途径,例如对安卓操作系统进行全面定制后直接加载到芯片平台(裸机)上,或者将智能手机与汽车的基础架构简单链接。本文将对这些途径及其利弊进行介绍。
车载安卓智能设备
2007年,由谷歌成立的开放手机联盟与手机制造商和半导体厂商宣布推出专门针对手机开发社区的安卓操作系统。最初版本被称为“Cupcake”(纸杯蛋糕),此后发布的版本均以甜点主题命名。在推出“Honeycomb”(蜂窝)版本的同时,谷歌打造了其首款平板电脑专用操作系统,2012年发布的“Ice-Cream Sandwich”(冰淇淋三明治)版本将智能手机和平板电脑操作系统的要求整合到一个平台上。现在,基于安卓系统的智能手机占据了五分之四的市场份额,而剩余份额基本上采用的是苹果的 iOS 系统。
最近,谷歌在拉斯维加斯2014年国际消费类电子产品展览会 (2014 International Consumer Electronics Show) 上宣布,开放汽车联盟 (OAA) 的使命是使安卓平台应用于汽车。除了谷歌以外,开放汽车联盟的创始成员包括奥迪 (Audi)、通用 (GM)、本田 (Honda)、现代 (Hyundai)和 nVidia。其他厂商预计也将相继加入开放汽车联盟,但是关于安卓平台将如何用于汽车的细节尚处于讨论阶段。一些制造商,例如起亚 (Kia) 和雷诺 (Renault),已经将定制的安卓系统加载于量产汽车上,并使其自身精心管理的安卓应用库可在车内使用。下表概括了智能手机安卓系统的现有功能和车载安卓系统必备功能之间的差别。
表1:与安卓智能手机相比车载安卓的潜在要求。
如果开放汽车联盟建立了一个共同的安卓基础平台,现有的实现方法可能很快就可以发挥作用,因为任何经过谷歌批准的新安卓操作系统无疑会降低维护和支持成本。与早期安卓版本和车载设备的兼容性将是一个重要特征,同时也将是开放汽车联盟首要关注的问题。在整车使用寿命期内,车主不可能像智能手机用户那样频繁升级车载软件。谷歌大约每隔九个月发布一次新安卓版本(图1),而安卓 4.4 “KitKat”版本正处于量产过程中。智能手机市场的各个安卓版本都未能存活很长时间。相比之下,这些版本很可能作为内置汽车配置使用较长时间。
图1 :安卓版本及其分布(数据来源:Phandroid,2013年12月)。
整合安卓智能设备
考虑到安卓的普及性,驾驶员或乘客人人拥有一部安卓智能设备的情况是极有可能发生的。在理想情况下,这样的设备将可以方便地连接到汽车基础架构的某些部件上,可能有多种连接形式,整合深度取决于使用情况。在最简单的整合形式中,用户喜欢在驾车时给自己的智能手机充电,而每部汽车都有一个用于连接 USB 充电器的 12V 配件。较复杂的是内置蓝牙配对套件,它可以让智能设备的音乐通过车内音响系统进行播放。大多数新款汽车现在都有这个功能(图2)。
图2 :与实施成本有关的智能设备集成水平。
不断涌现的新标准正在提升车内设备集成水平。汽车连接联盟 (Car Connectivity Consortium, CCC) (www.mirrorlink.com) 自成立起就致力于推动设备集成标准的确立,使在车载信息娱乐主机上远程管理和显示加载于智能手机的应用成为可能。汽车连接联盟已经规定使用通用即插即用 (UPnP) 装置控制车载应用的存取。另一项标准——虚拟网络计算 (Virtual Network Computing, VNC) 让智能手机显示屏上显示的信息得以复制到作为瘦客户机的信息娱乐主机上。然后,该应用可以在智能手机上运行,但在信息娱乐主机上能够被看到。汽车连接联盟已经成为领先的汽车产业联盟,拥有超过80个成员,占全球汽车产能的70%。汽车连接联盟还正在定义车载应用批准流程,这是由于汽车制造商想要严密控制哪些应用可以用于车载用途。因为汽车连接联盟是仅针对安卓系统的组织,该组织将寻求与谷歌近期成立的开放汽车联盟密切合作。
目前,大多数集成都是通过 USB 连接线完成的,但是这种途径显得笨拙且不可靠。一些车载信息娱乐主机现在拥有 Wi-Fi 功能,因此现在有了另外一种智能设备集成途径。Wi-Fi 联盟 (Wi-Fi Alliance) (www.wi-fi.org) 还提供了 Miracast 标准,一种端对端的标准,它可以使希望共享多媒体流的基于 Wi-Fi 的设备之间实现无缝连接。
集成智能设备也可以为信息娱乐主机提供漫游 3G/4G/LTE 连接。这提供了一种替代内置无线调制解调器的廉价选择,以及多种单独的资费和数据套餐。然而,即将出台的欧洲 eCall 法案要求所有新车都必须具有自动紧急呼叫求助功能,这可能意味着内置调制解调器必须始终存在。到2015年底或2016年,量产汽车可能就必须遵守 eCall 法案的相关规定。在此期间,集成智能设备就可以成为一种有效的替代品。
无论是成本还是集成规模,汽车OEM厂商奥迪均处于高端水平,该公司已经推出一款专为车内使用设计的专用10.2英寸的平板设备。“奥迪平板电脑”有权访问专门的应用商店,并可以通过 Wi-Fi 连接车辆的导航和信息娱乐系统。这种方法的优点在于移动设备解决方案处于严格管理下并经过高度集成,与软硬件整合的品质极高。
与安卓系统兼容的架构
安卓系统与车辆整合的其他途径是利用灵活但安全的多域软件架构。这些途径包括将安卓系统设置为GuestOS,或者设置到现有操作系统之上(例如以 Linux Container方式),或者设置为与另一个操作系统并行的GuestOS(图3)。
在 Linux Container (LXC) 技术的支持下,安卓客户端的资源、访问控制和安全由主机 Linux 操作系统管理。对于关注安卓安全的系统设计师来说,这是一种在标准 Linux 平台上很好地提供安卓应用访问权限以及运行其他系统功能的方式。多核片上系统 (SoC) 平台使这个架构更具吸引力,因为足够多的 Linux 和安卓域资源可以让它们同时有较好的表现。除了中央处理器 (CPU) 资源,内存、图形处理资源和其他外围设备都可以实现共享。两个域的输出可以重组为一个共同的人机界面 (Human Machine Interface, HMI),从而使用户能够从两个域中选择功能。
图3:Linux Container 内的安卓系统,支持前后车辆功能。
为了在 Linux Container内运行安卓系统,必须对支持该Container的 Linux 内核进行一些修改。在典型的使用情况下,在前端屏幕上有信息娱乐控制器去控制后座安卓的显示。支持安卓显示的硬件资源,如通过 USB 输入的触摸屏信息、音频和图形,需要虚拟化,然后提供给使用后显示器的用户。这将有助于尽可能在车上重现“消费电子设备”的体验。
音频资源需小心加以管理:前座信息娱乐用户将需要访问导航命令、电话呼叫、系统警告、多媒体播放器等,还可以优化声道和静音。在后座用户使用的是单声道,可用于欣赏音乐/娱乐用途。
Linux Container的替代方法是使用完全嵌入式虚拟机管理程序,它可以管理可用的 SoC 硬件资源,并将其分配给多个域/操作系统。虚拟机管理程序经过配置后可以精确管理哪些资源是GuestOS,安卓、Linux、AUTOSAR 或其他操作系统可用的,并允许域之间进行一些通信。Mentor Graphics 最近展示了一款混合域系统,其中的 AUTOSAR 数据来自车载电子控制单元 (ECU),这些AUTOSAR数据被送入运行于单一硬件平台上的数字仪表板及信息娱乐系统内(图4)。
图4:带有运行于单一 SoC 的 AUTOSAR、仪表板和信息娱乐系统的混合车辆操作系统。
结论
安卓已经蔚然成风。越来越多的智能设备用户希望能在车内访问安卓应用程序。制造商拥有多种实施方案,在成本、集成程度和功能上有多个层次可选。谷歌的开放汽车联盟和汽车连接联盟推广集成设备的倡议等标准化努力将进一步加快车载安卓系统的发展。这些解决方案的供应商既要谨慎行事以覆盖广泛的Android APP选择,还要保持车内计算系统的安全性和完整性。汽车现在已经为被归类为消费电子设备做好了准备吗?我们重新定义“移动设备”的日子不会很久远。
作者简介
Andrew Patterson 是 Mentor Graphics 嵌入式软件事业部业务发展总监,汽车市场是他的专长。加入 Mentor 之前,Andrew 在设计自动化市场驰骋超过25年的时间,精通各种技术、汽车仿真模型开发、虚拟原型设计和机电一体化。目前,他在 Mentor 主要负责嵌入式软件战略,与运行于多种主机硅平台上的 Linux、AUTOSAR 和其他域开展合作。Andrew 拥有英国剑桥大学的工程和电子科学硕士学位。