驾驶信息系统(汽车仪表)是车辆信息显示中心,各种报警指示信息、车辆行驶状态、累计、小计、行车电脑平均油耗、瞬时油耗、续驶里程等信息都显示在仪表上;驾驶员要依据这些信息进行驾驶操作,故这些信息的准确性、可靠性尤为重要,关乎到驾驶安全等方面。
实际汽车的工作环境复杂,例如:在车辆刚起动或路面剧烈颠簸时,都有可能导致驾驶信息系统的供电电源出现短暂过低或丢失。当电源重新恢复正常时,通常驾驶信息系统会重新复位,这样就势必导致前面显示的一些内容被复位重新初始化,被破坏掉,如仪表菜单中所有个性化设置被复位,时钟、行驶时间、行驶距离、续驶里程等重要信息将部分丢失,这样用户就不得不重新设置时间和一些个性化需求的菜单内容。有些重要信息如小计里程数等永久丢失,行车电脑中的平均油耗、瞬时油耗、续驶里程被复位得重新计算,仪表中所有历史记录都被清空,势必给用户带来不必要的麻烦和烦恼。我们知道计算机有冷启动和热启动之分,冷启动就是整个系统完全全新初始化,而热启动只是对一些关键的配置进行重新配置,一些用户设置和选项将维持上次工作时状态。我们可以将这一理念应用到汽车仪表上,也就是说在车辆由于各种原因出现短时间断电时,仪表能识别出来,同时利用芯片存储单元RAM的电容特性,在对芯片系统资源进行必要配置后,可以保留上次工作中显示出来一些重要信息,如时间、小计等内容,不对其进行重新初始化,这样就让用户感觉不到曾出现过瞬间的掉电。而若断电时间间隔很长,一方面由于RAM电容特性,它只能维持一定时间,另一方面为了系统可靠性,需要对整改系统和变量都要进行全面的初始化。在驾驶信息系统上采用新方法(硬件加软件检测)可以避免此问题,当仪表短时间断电又重新恢复后,仪表能精准可靠地判断是否应该从上次断电前状态继续工作。
1 纯软件方案
利用微处理器RAM的电容特性,RAM中存储数据在短时间掉电还能保存一段时间。将那些客户能直接感知到的信息、需要维持不变的变量分配到相邻的同一区域,通过软件先在存储仪表关键数据的RAM区间的首尾各设置一标志单元,并写好特殊的标志数据,在系统配置中要求对该指定区域不自动被初始化,这样每次仪表重新上电工作后,仪表软件首先读取这两标志单元的内容,并判断是否为预先设置的标志数据。根据RAM电容RC放电时间曲线特性,若还是自己设置的特殊标志,则表明在这次上电之前的断电时间间隔可能很短,然后再继续对存在中间的关键显示数据进行一些必要的有效性判断,如时钟的分钟数值不得大于60、小时不得大于24、小计不得大于1000等,若这些数值有任何一个不合理,则认为整个区域都有不可靠风险,系统要冷启动,对整个RAM单元数据进行初始化。若这个关键标志单元有任一个数据被破坏,系统就认为前面断电时间间隔过长,仪表将热启动,就对这些关键数据进行重新初始化,仪表基于上次数据继续工作;否则,若任一标志单元不是预设置的标志数据,仪表将冷启动,重新初始化这些关键数据单元,同时包括这2个标志单元。纯软件方案系统算法框图如图1所示。
此方案存在以下缺点。
1) 无法精准控制冷热启动的时间间隔阈值,仪表无法掌控断电多长时间内是热启动。系统完全取决于该主芯片的存储单元RAM的电容放电特性曲线参数,不同的芯片有不同的特性,而且无法改变。这样将导致无法达到期望断电多久以内希望热启动,超过多久整个系统会初始化冷启动。
2)同一仪表在不同的功耗下会导致RAM电容放电快慢不同,从而导致热启动的时间间隔一致性不好。由于主芯片和其它外围电路共用同一电源系统,所以系统在前一次断电时,外围系统的工作状态和耗电情况也将会影响到主芯片存储单元RAM的数据保持时间长度。若断电后有些电路处于导通状态,则整个系统的电就会很快耗尽,主芯片存储单元RAM的数据丢失会很快;而若所有回路都处于低功耗的断开状态,主芯片存储单元RAM的数据丢失就会慢很多。这样就势必导致同样一块仪表在不同的外界条件下,判断冷热启动的断电时间间隔长短不一,且无法掌控。
3)只是简单地判断RAM区间的首尾状态和对一些数据的有效性。由于硬件的特性,每个RAM单元都是由几个电容构成的,但是在实践中会发现它们的放电时间不完全一致,有的长些、有的短些。这样在断电时间处于冷热启动临界点时,很容易出现首尾关键状态标志单元和那些重要数据的有效性都没问题,但其中某些数据可能出现破坏,这时软件仍然判断且采用热启动,导致这些内容被错误地直接显示出来了。
2 软硬件配合法
采用软硬件配合法是为了解决上述纯软件法无法精准控制冷热启动时间间隔长短的问题。图2为软硬件配合法检测电路示意图。图3为软硬件配合法系统算法框图。
2.1系统方案描述
在整车电源出现短暂过低或丢失(UBattery短时间跌落,见图4)时,仪表系统重设。
1)完成一般的系统初始化工作,而且在每次重新上电后开关口A处于断开状态,确保端口B的电压还是上次系统工作时系统给B点充电以及断电后RC放电所剩余的电压。
2)软件首先读取并计算出B点电压UB,判断UB是否≥Uo(Uo依据充放电电路RC特性,由所期望的冷热时间间隔标定出此时间所对应的电压值);若是,则表明系统断电的时间间隔小于所期望的冷热启动时间间隔,则热启动,系统不对这些关键RAM数据进行重新初始化复位操作,保持现状;若否,则表明断电时间超过了冷热启动的时间长度,系统对RAM所有数据进行初始化。
3)系统对开关口A点电压UA置为高,接通开关,给监测B点供电UB,为下一次判断系统断电系统复位后重新判断B点的电压作准备。
4)系统进入主程序循环。
2.2Uo参数的设定方法
1)RAM硬件特性可决定一个数据安全时间t0(RAM完全掉电,在t0内RAM数据可确保没有丢失)。
2)通过RC电路可得到一个安全电压阈值:Uo=U0×e-t/R×C(t<t0,并且t<自身的充放电时间)。U0为系统稳定电压(由具体系统方案决定,如+5V等)。
3)由于重新上电后,图2中RC回路是独立的,这样该RC电路就不受外围电路的功耗影响,能确保同一仪表在各种工况下都能维持一致性。而且由于工作时的电压UB已知,RC数值可控且不受外围电路影响,可以根据RC的充放电特性或根据实际放电进行标定,这样就可以精准地设计出我们所期望的冷热启动时间间隔阈值,能确保冷热启动的精准性。
3 总结
若系统断电时间在冷热启动的临界点,纯软件方法会出现仪表系统误判为热启动,从而导致在有些数据被异常破坏的情况下,这些错误的信息被直接错误地显示出去了,造成系统的不可靠,引起不必要的麻烦和抱怨。而采用软硬件相配合的方法,我们就可以先测试出系统冷热启动的临界点,然后选择一个合适的RC值对应一个合理的时间间隔,和临界时间保持足够的安全余量,这样就从根本上确保了冷热启动方案的可靠性。新型冷热启动技术已在上海汽车荣威550/350车型上予以应用,值得推广。