背景介绍
谷歌创立的开放手机联盟(OHA)已走过七个春秋,该联盟已经让安卓 (Android) 操作系统更容易被手机开发商所利用。在其成立后的相当短的时间内,安卓平台已经发展成为主流智能手机和平板操作系统,目前开始出现在汽车和工业应用等拓展市场。苹果 (Apple) 的iOS和微软的Windows CE等与之竞争的操作系统正在失去市场份额,基于安卓系统的设备则取而代之。事实上,可下载的有用的安卓应用的数量已经增长到近110万个(数据来源:AppBrain 2014年1月)。
基于安卓系统的消费电子设备用户还希望可以在开车或乘车时使用他们的应用程序和设备功能。对于想要实现基于安卓系统的车载信息娱乐系统设计师来说,这里有多种途径,例如对安卓操作系统进行全面定制后直接加载到芯片平台(裸机)上,或者将智能手机与汽车的基础架构简单链接。本文将对这些途径及其利弊进行介绍。
车载安卓智能设备
最近,谷歌在拉斯维加斯2014年国际消费类电子产品展览会 (2014 International Consumer Electronics Show) 上宣布,开放汽车联盟 (OAA) 的使命是使安卓平台应用于汽车。除了谷歌以外,开放汽车联盟的创始成员包括奥迪 (Audi)、通用 (GM)、本田 (Honda)、现代 (Hyundai)和nVidia。其他厂商预计也将相继加入开放汽车联盟,但是关于安卓平台将如何用于汽车的细节尚处于讨论阶段。一些制造商,例如起亚 (Kia) 和雷诺 (Renault),已经将定制的安卓系统加载于量产汽车上,并使其自身精心管理的安卓应用库可在车内使用。下表概括了智能手机安卓系统的现有功能和车载安卓系统必备功能之间的差别。
表1:与安卓智能手机相比车载安卓的潜在要求。
如果开放汽车联盟建立了一个共同的安卓基础平台,现有的实现方法可能很快就可以发挥作用,因为任何经过谷歌批准的新安卓操作系统无疑会降低维护和支持成本。与早期安卓版本和车载设备的兼容性将是一个重要特征,同时也将是开放汽车联盟首要关注的问题。在整车使用寿命期内,车主不可能像智能手机用户那样频繁升级车载软件。谷歌大约每隔九个月发布一次新安卓版本(图1),而安卓4.4“KitKat” 版本正处于量产过程中。智能手机市场的各个安卓版本都未能存活很长时间。相比之下,这些版本很可能作为内置汽车配置使用较长时间。
图1 :安卓版本及其分布 整合安卓智能设备
考虑到安卓的普及性,驾驶员或乘客人人拥有一部安卓智能设备的情况是极有可能发生的。在理想情况下,这样的设备将可以方便地连接到汽车基础架构的某些部件上,可能有多种连接形式,整合深度取决于使用情况。在最简单的整合形式中,用户喜欢在驾车时给自己的智能手机充电,而每部汽车都有一个用于连接 USB充电器的12V配件。较复杂的是内置蓝牙配对套件,它可以让智能设备的音乐通过车内音响系统进行播放。大多数新款汽车现在都有这个功能(图2)。
图2:与实施成本有关的智能设备集成水平。
不断涌现的新标准正在提升车内设备集成水平。汽车连接联盟(Car Connectivity Consortium, CCC)(http://www.mirrorlink.com) 自成立起就致力于推动设备集成标准的确立,使在车载信息娱乐主机上远程管理和显示加载于智能手机的应用成为可能。汽车连接联盟已经规定使用通用即插即用 (UPnP) 装置控制车载应用的存取。另一项标准 -- 虚拟网络计算 (Virtual Network Computing, VNC) 让智能手机显示屏上显示的信息得以复制到作为瘦客户机的信息娱乐主机上。然后,该应用可以在智能手机上运行,但在信息娱乐主机上能够被看到。
电子设计自动化技术的领导厂商 Mentor Graphics近日发布一份题为《车载安卓系统的实施方案和注意事项》的研究报告。
目前,大多数集成都是通过USB连接线完成的,但是这种途径显得笨拙且不可靠。一些车载信息娱乐主机现在拥有Wi-Fi功能,因此现在有了另外一种智能设备集成途径。
集成智能设备也可以为信息娱乐主机提供漫游3G/4G/LTE连接。这提供了一种替代内置无线调制解调器的廉价选择,以及多种单独的资费和数据套餐。
无论是成本还是集成规模,汽车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内的安卓系统,支持前后车辆功能。
为了在LinuxContainer内运行安卓系统,必须对支持该Container的Linux内核进行一些修改。在典型的使用情况下,在前端屏幕上有信息娱乐控制器去控制后座安卓的显示。支持安卓显示的硬件资源,如通过 USB 输入的触摸屏信息、音频和图形,需要虚拟化,然后提供给使用后显示器的用户。这将有助于尽可能在车上重现“消费电子设备”的体验。
音频资源需小心加以管理:前座信息娱乐用户将需要访问导航命令、电话呼叫、系统警告、多媒体播放器等,还可以优化声道和静音。在后座用户使用的是单声道,可用于欣赏音乐/娱乐用途。
Linux Container的替代方法是使用完全嵌入式虚拟机管理程序,它可以管理可用的SoC硬件资源,并将其分配给多个域/操作系统。虚拟机管理程序经过配置后可以精确管理哪些资源是GuestOS,安卓、Linux、AUTOSAR或其他操作系统可用的,并允许域之间进行一些通信。Mentor Graphics 最近展示了一款混合域系统,其中的AUTOSAR数据来自车载电子控制单元 (ECU),这些AUTOSAR数据被送入运行于单一硬件平台上的数字仪表板及信息娱乐系统内(图4)。
图4:带有运行于单一SoC的AUTOSAR、仪表板和信息娱乐系统的混合车辆操作系统。
结论
安卓已经蔚然成风。越来越多的智能设备用户希望能在车内访问安卓应用程序。制造商拥有多种实施方案,在成本、集成程度和功能上有多个层次可选。谷歌的开放汽车联盟和汽车连接联盟推广集成设备的倡议等标准化努力将进一步加快车载安卓系统的发展。这些解决方案的供应商既要谨慎行事以覆盖广泛的 Android APP选择,还要保持车内计算系统的安全性和完整性。汽车现在已经为被归类为消费电子设备做好了准备吗?我们重新定义“移动设备”的日子不会很久远。