保持车辆网络稳定性的远程诊断方法研究
2023-05-24罗炜刘钦张小波赵能卿夏自强胡阳
罗炜 刘钦 张小波 赵能卿 夏自强 胡阳
【摘 要】随着汽车新四化的快速发展,汽车的配置功能越来越丰富,而伴随高智能化而来的是故障率的增高和检验故障的便利性。文章将远程诊断与传统诊断进行对比,对远程诊断的方法和原理进行分析,通过阐述远程诊断在实际运用中的改良优化方案,证明该方案在提升车辆诊断便利性的同时,也兼顾优化其对车辆通信网络稳定性的影响,为实现安全可靠的远程诊断运用提供技术参考。
【关键词】远程诊断;网络优化;以太网
中图分类号:U463.67 文献标志码:A 文章编号:1003-8639( 2023 )05-0053-03
【Abstract】With the rapid development of the new four modernizations of the automobile,the configuration function of the automobile is more and more rich,and accompanied by high intelligence is the increase of the failure rate and the convenience of fault inspection. This paper compares remote diagnosis with traditional diagnosis,analyzes the method and principle of remote diagnosis,and expounds the improvement and optimization scheme of remote diagnosis in practical application. While improving the convenience of vehicle diagnosis,it also optimizes its influence on the stability of vehicle communication network,which provides technical reference for realizing safe and reliable remote diagnosis application.
【Key words】remote diagnosis;network optimization;Ethernet
作者简介
罗炜(1990—),男,工程师,主要从事整车电子电气系统架构设计与研发工作。
伴随汽车智能化、网联化的发展,功能的复杂性也逐步提高,随之而来的是故障率的增加。传统的诊断方式已逐渐满足不了用户对车辆健康状态的关注需求,远程诊断车辆的方式在用户体验、维修便利、法规监测等方面逐步体现出优势,因此设计出实用可靠的远程诊断方案显得尤为重要。
1 远程诊断的方法和优势
汽车在运行过程中,各个电气模块实时监测自身的工作状态,当出现自身硬件软件故障、外部硬线I/O异常、交互通信丢失等非正常状态时,将记录相应的故障码和当时的关键数据信息,存储在只读存储器ROM中。当故障消失,故障状态相应字节将发生相应变化,标记为历史故障存储,若故障一直存在,其故障状态字节相应字节将保持,标记当前故障。
传统的诊断方式一般是使用与汽车模块诊断开发相匹配的读写工具,通过连接整车OBD口与车辆各网段模块实现物理层连接。传统诊断的过程是由手持工具发送诊断请求指令给车端,车端的模块收到请求后将诊断信息反馈给工具,并进行PC端或手持设备端的可视化显示。可见,传统的诊断需要维修人员现场对车辆进行操作,存在人力资源消耗大、工具定制化要求高、读取信息保存不便等多方面不足。
新的远程诊断方式从一定程度上解决了以上的不足之处。目前汽车智能化的配置基本普及,新车型基本都配备了网联终端硬件,该模块实现车端到云端后台的互联,从而衍生出大量的应用,如网络接连、远程控制、远程监控等,远程诊断功能也逐步成为借助此硬件基础上的拓展应用之一。
基于CAN的远程诊断在底层机制上参考OSI模型,网联终端的应用程序集成了远程诊断的应用软件与云端实现命令的接收和信息的传达,以及与车端的CAN总线实现从应用层至数据链路层再至网络层的诊断通信。一般情况下,网联终端在汽车网络拓扑中占用独立的CAN网段,由中央网关与其进行交互通信,网关建立与其他整车网段的通信桥梁,其他整车网联的模块通过中央网关与网联终端进行诊断通信。远程诊断省去了与车辆OBD外露接口连接的硬件工具,不需要人工插入设备进行诊断,所有过程可通过网联终端的应用程序或后台人员批量下发诊断命令完成。
远程诊断中0x19读取故障码是最常见的诊断服务,其下常用的有读取故障码数量和读取故障码DTC。诊断请求单帧里第1个字节是有效字节数,第2个字节为服务类型(类似0x19为故障码服务),第3个字节表示所请求的子功能(如故障码服务下0x1表示读取故障码数量,0x2表示读取故障码DTC信息),第4个字节则表示DTC状态掩码。被诊断的ECU模块收到故障码DTC请求指令后给予肯定响应帧类型及有效字节数、肯定响应字节0x59和对应子功能类型字节,后面的字节分别为DTC码的高字节、中字节、低字节及DTC状态码,每个DTC信息占用4个字节,如涉及多个故障码汇报,则总字节数超过单帧范围,网联终端通过首帧类型字节和有效字节数判断所收信息将不止单帧时便会在接收到反馈的首帧后发出流控制帧,被诊断ECU收到网联终端发出的流控制帧后,陆续将所有DTC信息按顺发送出来,后续的连续帧中第1个字节将表示帧类型和帧编号。
远程诊断通信过程中所述的DTC状态码占用1个字节,字节中每1位都对应不同的含义,从Bit7至Bit0可表达8种状态,如请求点亮警告指示灯、本次操作循环测试未完成、自上次清除后测试失败、自上次清楚后测试未完成、已确认的诊断故障代码、未确认的诊断故障代码、本次操作循环测试失败、测试失败,所在位为1时是有效,所在位为0时是无效。DTC状态码的目的是区分出故障码的类型,在运用中不一定所有的Bit都要使用,最常見的是区分出历史故障和当前故障,可以选取2个Bit分别作为2种故障代码的标志位。在远程诊断请求中的DTC掩码是为了让请求定位到故障类型,被诊断模块将收到的DTC掩码与存储的DTC状态码作“位与逻辑”计算,计算结果为非0则视为匹配,匹配DTC对应的4个字节内容便可放入反馈帧中发送出来,并通过网关转发给网联终端接收。
故障代码前3个字节分别代表的含义:一般高字节用来表示区分故障所指的车辆子系统,如动力类故障、底盘类故障、车身类故障和通信类故障;低字节用来表示故障的Type,例如短路、断路、电压过低、未标定、等待时间过长等;中间的字节则用于具体区分DTC实质含义。远程诊断的0x19服务读取故障中还有一种DTC snapshot辅助功能,它的子功能类型字节为0x4,在远程诊断请求中可以通过指定DTC让被测模块反馈该DTC记录的当时各类车辆数据,这个功能在动力底盘类的故障诊断中被经常使用。
通过远程诊断,车厂方可通过后台对批量车辆进行上述的各项诊断工作,可以定期地对大范围车辆进行故障摸排,对特定问题进行多车或单车的故障分析,一定程度提高了维修效率。同时,在汽车产业大环境不断前进的过程中,对排放的监测要求不断提高,对新能源管控不断完善,自动化的远程诊断也逐步被应用。
对于一些法规要求的诊断监测项,车辆可以设计成每次发动机起动后或高压Ready后网联模块向车辆网关发出特定的诊断请求,被检测模块通过网关接收诊断请求后,将诊断信息陆续反馈给网联终端,终端上传至车厂企业云端存储下来,供相关管理部门查阅。
对于一些车厂比较关注的诊断项,特别是故障码DTC,车辆可以设计触发条件,当网联终端收到指定的实时信号变化,特别是接收到在实时通信CAN报文中能说明车辆工作异常的信号,则触发自动诊断,故障信息被推送给车厂的企业后台,车厂可根据故障的严重程度,通过APP信息、短信或让经销商电联车主,建议其做相应处理或就近维修,大大提高了各环节效率。车主也可以通过手机APP自助诊断车辆,提升了车主对产品的信任度。
由此可见,远程诊断在内容上十分丰富,可以涵盖各种不同的诊断运用,在方法上灵活性强,可结合使用需求,在各种场景下进行远程诊断。远程诊断对比原始的人工诊断仪有巨大优势,只需提供一定的额外通信资源条件便可实现更加便捷的诊断服务。
2 远程诊断的网络优化
远程诊断的优势十分显著,使得对远程诊断运用的需求不断增多,而诊断通信是建立在车辆实时CAN通信网段上,实时通信的数据是各模块维持整车正常运作的重要条件,确保远程诊断数据不影响或尽量小地影响原车实时通信变得尤为重要,特别是当前整车功能愈加丰富,实时通信需求大增,CAN向以太网的转型处于过渡阶段,动力底盘等实时性要求高而对传统CAN依赖强等因素,留给远程诊断的网络负载占用量是不多的,因此设计远程诊断的网络优化方法十分重要。
当车厂企业对批量的车辆进行远程诊断指令下发时可以设置延后诊断,网联终端当判断车辆处于行驶工况下则将诊断任务后延,当车辆停止怠速或者下电时,网联终端模块可以择机进行之前没有完成的任务,必要时可进行远程上电和下电操作进行辅助。
对于非后台下发指令的远程诊断,如故障判断诊断、法规强制诊断、车主自助诊断等,这些诊断具备一定的时效性,则需要用另一种方法。通过网联终端在收到网关等待指令后计时发送下一条诊断请求,将各条诊断请求的时间间隔拉长,起到降低网络负载率的效果。网联终端还可以判断发动机起动后时长,等待一段时间后再开始车载诊断,降低了车辆运行初期的网络负载率。网联终端还可以持续监测发动机运行时长,整轮诊断完成后,如发动机未熄火且计时较长时间后,才进行下一整轮重复地诊断,降低了整车运行工况下大部分时间段的网络负载率。远程诊断流程如图1所示。
网联终端接收网关转发的动力模块监测的发动机转速信号或高压状态信号,当转速信号大于一定值或高压动力已Ready时,判断动力已运行,运行期间计时,当计时在大于T1时,网联终端发出本轮第1条诊断请求,该请求是包含动力模块的物理寻址ID的诊断请求帧。网关接收到本轮第1条诊断请求帧并转发给动力控制模块的同时也向网联终端反馈1条诊断等待指令,网联终端收到诊断等待指令后开始计时。当动力模块收到第1条诊断指令时,则反馈诊断响应的首帧,网关接收并转发给网联终端,网联终端通过帧类型字节和有效数字节判断此诊断反馈是否只有1帧,若只有1帧,则储存此单帧内容,若判断不止1帧,则发出流控制帧给网关,网关转发给动力模块,动力模块收到流控制帧后,陆续把第1条诊断指令对应的其他诊断响应帧依次发给网关,网关依次转发给网联终端,而网联终端储存第1条诊断响应内容。
上述网联终端判断计时大于T2则进行本轮第2条诊断,除诊断内容不同外,具体流程与之前步骤中相似,直到进行本轮最后一条诊断,网联终端将本轮的诊断结果统一上传到云端,后台从云端能获取到实时的车载诊断数据。
网联终端通过发动机转速信号或高压状态信号判断动力是否停机,如未停机且计时时间大于T3,则进行第2轮的诊断,如计时内已停机则结束整个车载诊断过程。
3 远程诊断在以太网中的运用
随着汽车产业智能化和网联化的飞速发展,基于CAN的通信已逐渐不能满足日新月异的功能叠加,以太网逐步开始设计到整车网络拓扑中,以满足各类上车体新功能的信息交互需求,同时智能化汽车丰富多彩的座舱网联和智能驾驶功能背后却依然存在一些车厂不得不关注的问题,诸如功能的稳定性、信息的安全性等,虽然其故障带来的危害没有下车体故障严重,但很容易被用户察觉并直接影响用户体验和产品的口碑。可见,对于座舱上车体故障的积极响应已成为车厂企业非常关注的工作事项,而在以太网上的远程诊断技术也成为了不可回避的课题。
基于以太网的远程诊断相比于传统CAN诊断有诸多优势,其拥有高速的数据传输速度,是CAN的100倍以上,从而在复杂的诊断任务和刷新应用中极大地节约了时间,同时其成本也不高,其相关模块使用标准硬件组件、线缆和连接器。
基于以太网的诊断使用DoIP协议,在报文封装、OS各层协议要求、端口号、报文格式等方面相比CAN有较大程度的变化,其承载的数据量更多,所以远程诊断在实时以太网通信中的占比不大,对总体网络通信的影响不大,因此基于以太网DoIP的远程诊断在座舱网联和智驾系统领域具有不错的前景。
4 结语
随着汽车电动化和智能网联化的发展,远程诊断的需求不断增加,对于网络实施的方法路径也在不断优化。车厂在远程诊断规划设计中既要考虑动力底盘网络环境下如何用新的策略方式减少远程诊断对传统CAN网络的影响,也需要在基于以太网设计的智驾网联座舱系统上部署新的远程诊断协议及设计,充分发挥以太网的资源优势,以实现汽车全生命周期和全方位角度的诊断监护,为汽车产业健康发展提供助力。
參考文献:
[1] 陈彤,黄立梅. 一种用于汽车电控单元CAN Bootloader的设计与实现[J]. 汽车实用技术,2016(9):156-160.
[2] 孙俊扬. UDS诊断协议工作原理和诊断协议栈的开发[J]. 汽车与配件,2019(5):64-65.
(编辑 凌 波)