新闻中心

EEPW首页>嵌入式系统>设计应用> 车载信息系统的快速发展与可重用设计

车载信息系统的快速发展与可重用设计

作者: 时间:2012-12-03 来源:网络 收藏


同样,制造商需要预先对下载进行管理(例如根据车辆识别号分类),这样用户即可只下载适用于所用车型且车载系统支持的应用和升级程序。最后,制造商还应保证为互连汽车的车载系统持续提供的更改不会对现有应用程序和功能造成任何影响。例如,在越野旅行时,车主在下载了新导航应用程序后不幸地发现其与媒体播放器不兼容。一点不足就会令车主对整个车辆生产线产生强烈的不良反馈。

面对这些挑战,解决方案的首要内容就是同一个解决方案应满足HMI在快速发展、品牌重新定位和自定义方面的各种需求:这就需要一种能够将HMI从其他基础功能中独立出来的系统架构。解决方案的另一方面就是将可用资源独立开来,以便新应用程序能够顺利运行,同时保证为系统中的重要进程提供足够的资源。

互联汽车技术的架构

为了测试这种方法的可行性,我们制作了可以将AdobeFlashHMI从基础应用程序汇总中独立出来的架构,并设计了一系列小型的ActiONScript扩展程序,以将HMI与基础程序衔接起来。我们还为我们的PPS服务、QNXAviage多媒体技术套件以及QDB(QNX数据库服务器)各创建了一个扩展程序。

PPS是在松散耦合信息架构中针对发布者和订阅者提供的一种基于对象的服务。1根据实现服务的需要,任何PPS服务客户端都可以是一个独立的发布者、订阅者,也可以同时是发布者和订阅者。发布者和订阅者只需能够在PPS文件系统路径名下的空间内读取和写入对象及其属性。当然,订阅者必须知道其感兴趣的对象和属性,而发布者则必须了解订阅者可能感兴趣的对象和属性,但是,无论是发布者还是订阅者都需要更多的了解系统的其他部分。写入到永久存储器的对象在重启后仍可保留。

我们推出PPS服务是为了处理Adobe Flash应用程序和所有数据源发布者组件之间的信息交换;这些组件包括Webkit(浏览器)、蓝牙、GPS、音频音量控制等。PPS模型提供的最主要优势在于组件之间的API更为一致且处于松散耦合网络中。

而且PPS能让我们在不接触基础应用程序的情况下重新设计HMI.它允许我们为添加新的组件(例如,车辆远程系统或ITS识别系统),而无需在其他信息范例方面浪费开发时间。对于所有这些,我们需要知道的就是他们需要发布什么,以及他们需要从PPS中了解到哪些情况。此外,该架构还能确保无需为了迎合新版本而对其他组件进行不必要的更新。

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

资源分离

我们选择的技术可以在管理车载系统新程序产生的影响方面提供两大技术优势(除了标准流程和内存保护)。首先,基于Adobe Flash的HMI使我们能够在二级Flash播放器(其虚拟机作为"沙盒"使用)中运行不受信任的程序。其次,QNX Neutrino RTOS提供有自适应资源分区功能,这是一项独特的动态技术,可以提供未使用的CPU时间来处理相应的需求,同时保证关键流程对资源的需求。

为确保新引入的应用程序不会为我们的系统带来任何问题,我们选择了采用二级Adobe Flash播放器。该播放器专门用于播放不受信任的应用程序(也就是说,对于我们无法确定其安全性的应用程序),可以独立运行该应用程序,而不会对其他应用程序或整个系统的可靠性和性能造成任何负面影响。

与所有的Flash播放器一样,该二级播放器会在其独立的虚拟机环境中运行,这是因为如此才能与系统中的其他应用程序分离开来。二级播放器虚拟机环境中的程序不会挤占系统中主播放器或其他组件的资源需求。这一简单实用的技术使我们能够在虚拟环境中尝试运行任何Flash程序,而无需担心导致系统崩溃。事实上,任何开发工程师都能够编写所需的应用程序,并毫无危险的在二级播放器中运行它们。

分区

资源分区是操作系统中最常采用的做法,旨在保护不同应用程序或应用程序组不受彼此影响。它们就像是虚拟的墙壁一样,可以避免一个应用程序中断另一个应用程序,或挤占其资源。受分区保护的主要资源就是CPU时间,但是分区还可以用来保护其他共享资源,例如内存或文件空间(磁盘或闪存)。

实时操作系统(RTOS)采用了自适应分区技术。与传统的固定式分区模型相比,自适应分区更为灵活。它可以保证特定进程的时间,就像传统的分区方式一样。但是,与传统分区方法不同的是,这种技术更为灵活,自适应分区可以根据运行时间条件自动调整分区。

本文小结

如今车载系统必须与跟得上消费设备发展的快速步伐。使用Adobe Flash Lite用户界面的系统通过PPS与基础组件的通信,来构建车载系统的经验是最为高效的解决方案。它可以提供品牌化、本地化和自定义的用户界面,而不会对基础组件造成任何影响,同时还可以便捷地增加新应用程序和组件(在开发过程中和后续使用中)。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭