首先申明一下,该方案采用的基于利用远程通讯模块,利用CAN数据更新,给后续需要进行远程升级车载模块的朋友提供一种解决思路。
- 引言
组合仪表是驾驶员与汽车的交互界面,为驾驶员提供车速、电机转速、电量、水温、档位信息及各指示灯,是现代汽车必不可少的部件之一,同时由于电子软件周期性的更新需求,让组合新仪表实现远程更新也显得日益迫切了。
TBOX终端是一个集成了CAN总线数据收发,4G通讯的功能模块。
通过TBOX终端与仪表在整车CAN总线上互联,按照制定的远程更新协议,就能实现远程更新组合仪表。
如果出现远程更新组合仪表失败,汽车就无法正常显示电量、车辆档位等信息,会对驾驶员造成非常直观的黑屏并对行车造成很大的不便。保证使用TBOX终端实现远程更新仪表的成功率就显得非常重要了。
对于远程更新组合仪表失败问题,本文研究了出现问题的根本原因,针对根本原因制定了解决对策。
- 更新组合仪表出现的问题
通过大巴实车远程更新仪表循环压力测试,在实验车上多次出现了远程更新仪表失败案例。
如图数据显示,大巴远程更新仪表项目调试阶段,在台架测试时(测试数据是上千次的更新),出现的问题案例概率极低,并且前期大量时间花费在台架进行联调,发现远程更新仪表失败的概率也是比较低,偶尔出现的更新失败案例,想再次复现该问题就很困难,难以定位更新失败原因,导致TBOX远程更新组合仪表失败的问题没有被挖掘出来。
但是从201x年开始进行实车模块联调测试开始,远程更新仪表失败问题案例就逐渐增多,而且由于TBOX远程更新组合仪表失败,会对继续使用远程更新造成极大的隐患;因为TBOX远程更新的交互界面目前全部是使用组合仪表界面进行功能交互,如果组合仪表更新失败了,这样必定会导致用户无法继续使用远程更新功能!
由于在实车测试中发现该问题出现概率变得很高,并且对TBOX远程更新项目造成的影响也很大,我们只能继续重新对整个更新流程进行排查,慢慢分析大量出现更新失败的案例和数据,从TBOX端和仪表端进行多方面分析和论证,查找其可能产出的根本原因。
- 原因分析
从大量的更新失败报文分析,通常会出现两种状况:
一种现象是TBOX远程更新组合仪表中,偶尔会随机(无概率)的出现仪表更新过程中无应答,导致终端判定仪表更新失败,并自动退出更新流程。同样利用PC机电脑更新仪表复现以上问题,也会出现 仪表更新失败,而且报文现象也是更新过程中仪表也会突然无应答。
还有一种现象,也是在更新仪表中,偶尔会出现仪表数据应答报文中的某一帧报文延迟应答。导致终端会判断仪表应答超时,自动退出更新流程。
3.1 TBOX问题分析
TBOX端,根据获取的更新失败报文分析,发现会出现一个模块连续在一个短时间内,无法更新,现象是:TBOX更新模块时,当模块更新失败后,会进行十次循环更新(增加十次循环,是保证用户在点击更新后,该模块能烧写成功,如果十次循环都更新不成功,则表示该模块更新存在问题),但是这十次循环更新中,会出现连续十次模块无应答现象,但是在该十次循环更新结束后,再次操作更新失败模块,就又能更新成功。分析该现象后,考虑到存在的问题极有可能是该模块进入静默状态,在该模块尚未退出静默状态时,TBOX给模块发送请求报文,模块都不会去应答,及静默机制与TBOX终端模块更新策略方面,出现不兼容问题。
3.2仪表问题分析
从台架更新仪表和实车更新仪表测试条件对比发现,测试的模块和更新数据保持一致,只有整车报文负载率方面不一致;在实车更新组合仪表时,整车存在模块显然更多,整车报文负载率在CAN总线上也比在台架环境下的报文负载率更高,而且台架环境和模块显得过于单一。对比后:出现仪表更新失败率增大的情况。基本可以确定是在实车更新组合仪表时,由于整车报文过多及CAN报文负载率过高,导致组合仪表容易出现更新失败。
- 改善方案
对TBOX终端,改进方法:
增加当出现更新模块失败时,下一次继续更新的时间间隔加大到5S。
防止由于模块进入静默状态,5s内还未退出静默策略,终端又持续发送更新请求报文,导致出现更新仪表失败。
对组合仪表更新改进策略:
修改原应答报文的发送处理机制,将超时取消发送修改为延长到50ms(诊断应答最大时限),增加仪表发送烧写报文延时机制,防止出现因CAN报文负载率过高,导致发送报文未及时应答,出现更新失败。
- 改善总结
通过以上论述,出现远程更新仪表失败的问题已经解决,实车循环验证TBOX远程更新组合仪表1000次,没有出现更新仪表失败问题;同时使用PC机在IG-ON档大巴更新仪表,也未发现更新组合仪表失败。
- 结语
本文主要分析了实车远程更新组合仪表失败原因,并针对原因进行了排查和改进,改善后的效果明显,为后续远程更新提供了开发经验,希望后期遇上以上问题时,能借鉴解决此类问题的方法。