CAN总线学名控制器局域网,本身就是为了控制汽车而开发的。因为其数据传输速度快抗干扰能力强,目前已经成为了最为主流的汽车总线。对于汽车来说,CAN总线就是它的神经系统。这个系统一般由很多ECU节点组成的控制单元,每个ECU节点都有自己的故障检测功能,基本上每个ECU都有一块EEPROM,用来存储自身故障信息,然后还会上传到网关的EEPROM,并以诊断故障码(Diagnose trouble code)的形式存储。车载CAN网络诊断系统框图如图1所示,为保障车辆行车安全,ECU应当能够进行故障自检,DTC(Diagnostic Trouble Code 诊断故障代码)为不同故障所对应的“数字码”,当汽车神经系统产生故障后,利用诊断仪可以读取出DTC,从而可以判断具体的故障,帮助问题排查,及时锁定故障点,并准确的排查出对应故障点的问题并予以解决,保护生命及交通安全。鉴于以上功能需求,芯力特电子开发的第三代国产SIT1043Q CAN收发器在实现自身低功耗的同时,也具有网络故障诊断功能,下面一起来看看SIT1043Q网络故障诊断实现原理。
图1:车载CAN网络诊断系统框图
一、SIT1043Q CAN收发器网络故障诊断原理
在CAN控制网络ECU节点通信中包含软件故障与硬件故障,其中软件故障包含以下五种错误:CRC校验错误,帧格式错误,ACK响应错误,位发生错误,位填充错误。对于本地硬件故障诊断主要有:
① 发送数据(TXD)显性超时功能与诊断
② TXD至RXD短路处理程序与诊断
③ 热保护与诊断
④ VCC、VIO和VBAT引脚欠压检测与回复
⑤ 总线线路短路诊断
⑥ 总线显性钳位诊断
⑦ 冷启动诊断(首次电池/电源连接)
⑧ 本地唤醒与唤醒诊断
⑨ 总线网络与本地网络通信诊断
⑩ 系统掉电休眠模式诊断
SIT1043Q CAN收发器有5种工作模式,分别是:正常模式,静音模式,待机模式,进入睡眠模式,睡眠模式。在一定模式下SIT1043Q内部可通过一系列标志信号来指示故障,并通过芯片的外部引脚电平反馈当前故障原因。主控制器MCU可通过一些模式切换以及收发器芯片ERRN与RXD引脚的指示来判断系统内部工作状态或者故障出现的原因。为了更好的理解,附录SIT1043Q的内部系统框图与封装引脚功能图如下图2所示。
图2:SIT1043Q的内部系统框图与封装引脚功能图
SIT1043Q使用7个内部标志来实现故障安全的回退模式控制和系统诊断。主控制器可以通过引脚ERR_N轮询其中的五个标志,功能标志执行操作如下表1所示。
表1:SIT1043Q标志位及其对应功能表
二、SIT1043Q CAN收发器网络诊断典型应用
在车载CAN网络系统中,ECU节点为了能够获得当前CAN网络状态,更多的需要软件处理配置,结合芯片运行模式及对应输出引脚电平,实现准确可靠的故障分析及判断,达到对CAN网络诊断,并在ECU系统中记录当前网络故障状态。图3为处理通信故障的软件流程图,通过软件处理判断以此实现CAN通信故障诊断应用。
ECU节点上电启动后SIT1043Q进入正常模式,在正常模式下MCU微控制器通过读取引脚ERRN电平,来进行总线故障诊断。如果获取到ERRN=0,则通信故障是由总线故障引起,MCU控制器置位总线故障通信失败错误标志。如果获取到ERRN=1,则控制器复位总线故障通信失败错误标志。这时如果MCU控制器强制SIT1043Q进入到静音模式,在静音模式下,如果控制器获取到ERRN=0,则可以诊断位本地故障。如果进一步获取本地故障的哪一个类别(比如TXD显性超时或总线显性超时),可以由控制器操作RXD=0&TXD=1或者RXD=1进一步识别。
图3:通信故障处理程序执行处理流程图
上一篇:Telechips在高级汽车应用中选用Arteris FlexNoC互连技术
下一篇:加速基础芯片国产替代:从CANLIN收发器开始