在线工博会

车载信息系统的快速发展与可重用设计
Kristopher Cieplak
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
当今的消费者希望车载系统能够与智能电话等消费类产品进行无缝互连,从而能够简易地集成一些最新的应用软件于车载系统中。而很多最新的应用软件在车辆生产时往往还不存在,因此这对于开发商而言是一个有趣的挑战。汽车生产厂家以及它们的一线供货商需要确保它们所提供的车载信息系统应该能够轻松的应用于不同的车型,而且还应该能够方便并安全的接纳当前以及未来的新技术。
在制造过程中取得成功的关键因素之一就是可重复使用性。这一点,对软件来说也是如此。就像在不同的车型上重复使用相同的汽车底盘或轮毂一样,这可以节省制造商的时间、金钱和精力,而为多种不同车型安装同样的软件系统则能够提高效率,同时降低成本。问题是HMI的设计工作需要根据每款车型进行特定的延伸。
而且完成设立独特品牌车辆生产线的初始投资后,接下来需要做的就是每年改进HMI设计,以使其与全新车型相匹配。为此,您需要:赋予每种车型独特的品牌定位并定期更新车型的外观和驾乘感,认识到架构的重要性,从而可以最大程度降低更改车载HMI所带来的工作量和风险。
为了减少HMI的设计成本,应考虑在项目中使用即适合车载系统,又可以获得经验丰富的工程师社区支持的技术。成熟的工程师社区可以提供大型人才储备库,从而使项目能够吸收到足够的HMI设计和开发团队成员,并使项目受益于整个开发社区的资深知识储备和经验。

(图片)

图 1:QNX CAR的架构将Adobe Flash HMI从基础的实时操作系统(RTOS)和服务中独立出来

我们的QNX CAR(互连汽车参考模型)项目证明,这些需求可以通过为HMI创建使用Adobe Flash Lite(应用于嵌入式应用程序的Adobe Flash)的HMI架构,以及能够将Flash代码与原始C/C++代码直接连接起来的小型动画动作脚本扩展程序(ASE)实现。这些扩展程序可以提供各种服务所需的全部界面:QNX永久性发布/订阅服务(PPS)、QNX Aviage多媒体技术套件以及数据库服务器(DB)。
该策略使我们能够提供HMI与基础部件相互独立的架构:Web kit(浏览器)、蓝牙、GPS、音频控制以及多媒体套件。HMI设计师可以创建和实现各种自定义数量的用户界面,以满足品牌要求和车型需要。由于无需对基础部件做任何更改,设计师即可以在使整车达到和谐的美学效果,并为客户提供一系列精美设计,又不会在功能方面带来任何负面影响。

(图片)

图 2:在QNX CAR系统中,基于Adobe Flash的用户界面使用PPS与基础服务和QNX Neutrino RTOS进行通信。同时,还可以在不修改 HMI 下任何代码的情况下更改 HMI.

下一代应用
一辆汽车在投入生产前要历经数年的设计、开发和加工,而在此期间进入市场的全新消费设备和应用程序已历经多次更新换代。而客户则希望车载系统能够紧跟时代步伐。就像期望自己的手机和掌上数码设备能够支持最新应用并可轻松升级到最新技术水平一样,在不久的将来客户也会希望他们的车载系统能够下载和集成最新的消费应用,并能够在全新的消费设备上使用下一代技术和界面。
很少有人会使用一部手机或MP3播放器超过1–2年而不更换,因为它们的价格相对便宜,而且消费者更愿意通过更换新机来升级到更新的技术,甚至仅仅是为了与穿着搭配。但同时很少有人愿意或是有能力仅仅为了升级媒体播放器或更新数字仪表盘的外观和样式而更换一辆价值3万美元的汽车。因此,汽车制造商必须有一个长久的策略,不仅要不断关注现有的车载消费电子技术,同时还要注意这些现有的技术在整个汽车使用周期内都可以轻松而廉价的升级。
互连车辆及其未来技术
互连汽车在这方面为汽车制造商提供了更多的全新可能性。当然,这些新的可能性也存在着技术挑战。尤其是,制造商需要确保全新的应用程序和升级程序能够轻松地与现有系统兼容。他们还需要实现版本控制,从而使用户(或制造商本身)能够在需要或必要时,更换至原有车载技术版本。
同样,制造商需要预先对下载进行管理(例如根据车辆识别号分类),这样用户即可只下载适用于所用车型且车载系统支持的应用和升级程序。最后,制造商还应保证为互连汽车的车载系统持续提供的更改不会对现有应用程序和功能造成任何影响。例如,在越野旅行时,车主在下载了新导航应用程序后不幸地发现其与媒体播放器不兼容。一点不足就会令车主对整个车辆生产线产生强烈的不良反馈。
面对这些挑战,解决方案的首要内容就是同一个解决方案应满足HMI在快速发展、品牌重新定位和自定义方面的各种需求:这就需要一种能够将HMI从其他基础功能中独立出来的系统架构。解决方案的另一方面就是将可用资源独立开来,以便新应用程序能够顺利运行,同时保证为系统中的重要进程提供足够的资源。
互联汽车技术的架构
为了测试这种方法的可行性,我们制作了可以将AdobeFlashHMI从基础应用程序汇总中独立出来的架构,并设计了一系列小型的ActiONScript扩展程序,以将HMI与基础程序衔接起来。我们还为我们的PPS服务、QNXAviage多媒体技术套件以及QDB(QNX数据库服务器)各创建了一个扩展程序。
PPS是在松散耦合信息架构中针对发布者和订阅者提供的一种基于对象的服务。1根据实现服务的需要,任何PPS服务客户端都可以是一个独立的发布者、订阅者,也可以同时是发布者和订阅者。发布者和订阅者只需能够在PPS文件系统路径名下的空间内读取和写入对象及其属性。当然,订阅者必须知道其感兴趣的对象和属性,而发布者则必须了解订阅者可能感兴趣的对象和属性,但是,无论是发布者还是订阅者都需要更多的了解系统的其他部分。写入到永久存储器的对象在重启后仍可保留。
我们推出PPS服务是为了处理Adobe Flash应用程序和所有数据源发布者组件之间的信息交换;这些组件包括Webkit(浏览器)、蓝牙、GPS、音频音量控制等。PPS信息处理模型提供的最主要优势在于组件之间的API更为一致且处于松散耦合网络中。
而且PPS能让我们在不接触基础应用程序的情况下重新设计HMI.它允许我们为车载信息系统添加新的组件(例如,车辆远程信息处理系统或ITS识别系统),而无需在其他信息范例方面浪费开发时间。对于所有这些,我们需要知道的就是他们需要发布什么,以及他们需要从PPS中了解到哪些情况。此外,该架构还能确保无需为了迎合新版本而对其他组件进行不必要的更新。

(图片)

图3:自适应分区拥有一系列规则用于保护特定的线程和线程组

资源分离
我们选择的技术可以在管理车载系统新程序产生的影响方面提供两大技术优势(除了标准流程和内存保护)。首先,基于Adobe Flash的HMI使我们能够在二级Flash播放器(其虚拟机作为"沙盒"使用)中运行不受信任的程序。其次,QNX Neutrino RTOS提供有自适应资源分区功能,这是一项独特的动态技术,可以提供未使用的CPU时间来处理相应的需求,同时保证关键流程对资源的需求。
为确保新引入的应用程序不会为我们的系统带来任何问题,我们选择了采用二级Adobe Flash播放器。该播放器专门用于播放不受信任的应用程序(也就是说,对于我们无法确定其安全性的应用程序),可以独立运行该应用程序,而不会对其他应用程序或整个系统的可靠性和性能造成任何负面影响。
与所有的Flash播放器一样,该二级播放器会在其独立的虚拟机环境中运行,这是因为如此才能与系统中的其他应用程序分离开来。二级播放器虚拟机环境中的程序不会挤占系统中主播放器或其他组件的资源需求。这一简单实用的技术使我们能够在虚拟环境中尝试运行任何Flash程序,而无需担心导致系统崩溃。事实上,任何开发工程师都能够编写所需的应用程序,并毫无危险的在二级播放器中运行它们。
分区
资源分区是操作系统中最常采用的做法,旨在保护不同应用程序或应用程序组不受彼此影响。它们就像是虚拟的墙壁一样,可以避免一个应用程序中断另一个应用程序,或挤占其资源。受分区保护的主要资源就是CPU时间,但是分区还可以用来保护其他共享资源,例如内存或文件空间(磁盘或闪存)。
实时操作系统(RTOS)采用了自适应分区技术。与传统的固定式分区模型相比,自适应分区更为灵活。它可以保证特定进程的时间,就像传统的分区方式一样。但是,与传统分区方法不同的是,这种技术更为灵活,自适应分区可以根据运行时间条件自动调整分区。
本文小结
如今车载系统必须与跟得上消费设备发展的快速步伐。使用Adobe Flash Lite用户界面的系统通过PPS信息处理与基础组件的通信,来构建车载系统的经验是最为高效的解决方案。它可以提供品牌化、本地化和自定义的用户界面,而不会对基础组件造成任何影响,同时还可以便捷地增加新应用程序和组件(在开发过程中和后续使用中)。 10/3/2011


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站