电子说
虽然CAN总线有着非常高的稳定性,然而,一旦出现错误尤其是CAN总线关闭,对于汽车的整体功能甚至安全性都造成极大影响。为此,在汽车行业高速发展,电子与通信技术广泛应用的今天,如何检测汽车网络故障的发生,如何修复故障,使我们能够保证稳定和安全的应用CAN网络技术服务于汽车产业,形成了本文研究的背景和意义。
汽车CAN总线关闭故障发生时,应分析物理层包括CAN线路、CAN控制器及收发器、CAN信号干扰等外在因素,同时分析CAN寄存器及软件处理,重新初始化CAN驱动和恢复正常后,定时尝试往外发送报文。CAN总线关闭严重影响到整车的功能与安全性,我们通过对故障的成因分析,提出合理的完善建议,希望能对汽车电子技术的健康发展起到一定的作用。
诊断规范描述了一系列的诊断服务,定义ECU与诊断仪之间的请求响应规则、ECU对于请求报文的处理行为以及请求、响应报文信息含义。常用的诊断规范包括有UDS,KWP2000以及ISO15765等协议。其中记录和读取诊断故障码(DTC)就是诊断的一项重要工作,网络节点单元把曾经或现在发生的相关故障码都保存在非易失性存储器(NVM)中,随时方便于汽车工程师检查故障记录。
我们对于CAN总线关闭故障的诊断流程是,CAN控制器在错误中断里或者在周期性的查询里,检查BUS OFF寄存器的值,如果CAN控制器发生了BUS OFF,这个寄存器的值就会被赋真值。此时,CAN诊断模块会把BUS OFF的DTC状态中的Test Failed位给置上,表示当前检查CAN总线关闭故障是存在的,即CAN网络通信处在失效模式,同时把BUS OFF的记录次数加1。当BUS OFF的记录次数达到整车厂规定的阀值时,CAN诊断模块会DTC状态中的Confirmed位给置上,同时把CAN总线关闭的DTC记录到非易失性存储器中。
我们的CAN诊断模块在错误中断或周期性查询中发现总线关闭故障时,应该立即对CAN控制器的驱动及相关寄存器进行初始化操作,这样,在初始化完成后,CAN总线关闭的故障能够立即被解除。但是,该CAN节点在解除总线关闭故障后,会继续对外发送报文,如果此时产生总线关闭的真正外部因素没有解除,该CAN节点仍有机会再次发生总线关闭的故障。
为了避免该节点在CAN网络中频繁发生总线关闭的问题,防止影响到网络资源的消耗和对其他节点的不必要干扰,我们建议在CAN初始化完成后,不要立即对外发送CAN报文,应该等待一定时间段后再尝试发送报文是否成功。
全部0条评论
快来发表一下你的评论吧 !