微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 车载信息娱乐系统软件设计要点

车载信息娱乐系统软件设计要点

时间:01-30 来源: 点击:

面对日趋激烈的市场竞争和越来越挑剔的用户,汽车制造商和汽车配件供应商一直在努力创新--具有更新科技含量和更好用户体验的产品不断被应用到汽车中。先进的车载信息娱乐系统已经迈入了一个新的科技时代。它从原先控制收音机或空调的简单系统发展到现在可以包含免提电话、卫星导航、互联网服务和支持多种媒体的前后座影音播放的复杂大系统。无论是高端产品,还是中低端产品,这种系统的软硬件设计都要满足严格的安全性标准,同时又要具有很好的易用性和灵活性。本文将从安全性、实时性、环保性和新颖性等几个方面对该系统的软件设计提出一些思考,希望能够有助于从事此类系统开发的工程师。

安全性

这里所说的安全性是指(1)系统能够长时间提供有效服务而不发生故障;(2)一旦有故障发生,系统能够自行处理;(3)系统能够自动保存故障诊断文件。

处理安全性相关的问题原则是隔离和冗余。隔离就是模块化。冗余就是增加备份。对硬件设计来说,模块化和增加冗余设备都是很直接的。实际的挑战来自于软件的安全设计,而且大多数的系统故障是由于软件的错误。设计良好的软件模块应当保证某个模块中发生的故障不会导致其它模块也发生故障,更不会导致整个系统故障;而实际系统设计还应该保证发生故障的模块很快重新启动或及时由备份模块替代,同时整个系统的其它部分正常运转。

举例来说,系统中某个任务发生故障--想要改写属于另一个任务的内存区,系统的监控程序会监控到这是一个非法事件,并重启发生故障的任务,同时保存故障诊断文件以供开发人员今后解决问题--监控程序可以非常详细地记录故障发生时的系统状况,从而能够帮助开发人员快速定位问题。

显然,对于车载信息娱乐系统这样的大系统,传统的单内核操作系统由于没有充分隔离内核任务和应用程序的内存空间,很难实现以上例举的操作。在工业界非常流行的QNX微内核实时操作统,经过多年的实践和创新,充分实现了各个系统服务的隔离,成为设计高安全性软件的良好基础。

实时性

简单地说,实时性就是系统任务在有效的时间内得到有效的结果。

车载信息娱乐系统是一个多任务的复杂系统,其中包含有许多和汽车网络进行交互的子系统,如CAN和MOST,也包括其它的通讯协议,如 RS232、Ethernet以及蓝牙等。从系统软件设计的开始就要考虑系统的实时特性是非常重要的。一方面,引入实时性设计能够为用户带来更好的应用体验,如稳定和流畅的多媒体播放,准确和有效的导航提示等;另一方面,系统的实时性设计能够保证某些关键任务的顺利执行,比如蓝牙电话和倒车画面播放等。反过来讲,如果这个系统不能够很好的处理各个任务的优先级和实时性,那么在系统实际运行的过程中,难免会出现一个或多个任务无法及时完成,从而导致系统故障和用户投诉。

更为关键的是,整个系统是如此复杂,通常从关机状态(电源彻底关闭)到系统启动进入正常运行状态要花费数百毫秒。而汽车启动时,CAN器件通常会在 65毫秒内发送开机的信号。连接在CAN总线上的信息娱乐系统必须要在55毫秒或更少的时间内准备好接收开机信号,并在100毫秒内响应开机信号。如果信息娱乐系统不能及时响应CAN开机信号,它将很可能被认为是有故障的CAN器件而被排除在CAN网络之外。

从实时性的设计出发,系统必须在完成初始化之前就要开始相应CAN网络的信息。传统的方式是使用额外的辅助器件来进行此类任务--增加了硬件成本。现在,采用QNX的"mini-driver"技术可以完全省去这些辅助器件。mini-driver的设计使某些器件驱动,比如CAN驱动,在系统启动期间就可以使用--顺利处理来自CAN网络的事件响应;当系统启动完成之后,更完备的驱动会接管mini-driver的所有任务--软件成本很低。

环保性

环保性是指系统能够有效地进行电源管理。

汽车内的电源管理是一项非常具有挑战性的任务。汽车电源是电量受限制的电池。在汽车熄火之后,一方面,车内系统,尤其是信息娱乐系统不能有过大的耗电量,必须保证正常电池在几天、甚至几周后仍然能够顺利点火;另一方面,信息娱乐系统也要能够在超低能耗的状态之下对特定事件作出有效和及时的响应。如果没有一个多层次的待机状态,系统每次都要完全重启,那么不但每次都有较长的开机时间,而且很难满足对许多实时性事件的正确响应,如在上节所述的CAN 开机信号。

解决的方案就是根据具体的需要定制多层次的待机状态,使得信息娱乐系统能够随着时间的推移和电池电量的下降逐步进入各个低能耗待机状态,直至彻底关机。在每个不同的待机状态系统都可以对特定

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top