今天是
技术文档
你的位置:首页 > 技术文档 > 技术资料

CAN总线错误检测机制

2018-7-6 11:59:53      点击:
CAN总线是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,CAN总线应运而生,图1为CAN总线在汽车中的应用图。

CAN总线错误检测机制
图1 汽车中CAN总线的应用


CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。图2为CAN总线网路图,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强而有力的技术支持。

CAN总线错误检测机制
图2 CAN总线网路图


CAN总线作为可靠性非常高的总线,出错概率非常小,这也是它被广泛应用的原因之一。在CAN总线的实际研发中,相较于CAN总线的正确帧,工程师更关注CAN总线的错误帧,下面将为大家展现CANscope波形常见的几类错误,图3为干扰导致的CAN通讯错误。

CAN总线错误检测机制
图3 错误波形图
  
图4为终端电阻并联过多,差分电平幅值太小导致接收节点识别失败的错误。 

CAN总线错误检测机制
图4 错误波形图
  
图5为总线支线过长,电平下降沿台阶过高,导致位宽度失调的错误。

CAN总线错误检测机制
图5 错误波形图
  
图6为卡车打开/关闭大灯时,耦合到CAN总线上的干扰,导致的错误。 

CAN总线错误检测机制
图6 错误波形图
  
图7为波特率异常(位宽度从2us突然变成1.6us),导致位错误。

CAN总线错误检测机制
图7 错误波形图


CAN总线的错误都有哪些形式,相互之间有什么样的关系,以及总线的检测与校验的原理是什么?
CAN总线的错误帧可分为位错误、位填充错误、CRC错误、格式错误、应答错误五大类,每类错误的具体解释如图8所示,此图简洁明了的展现了各种错误。

CAN总线错误检测机制
图8 CAN总线错误类型

CAN报文传输过程中出现通讯错误,会发送错误帧,以上所述的错误帧类型中根据其错误标识符不同,可分为“主动错误”和“被动错误”。  
主动错误:检测错误主动报错,发出错误标识符(连续6个显性位)和错误界定符(连续8个隐形位);目的在于“主动”通知错误,即使别的节点没有发现此错误。  
被动错误:检测错误,被动等待其他节点报错后发送错误标识符(连续6个隐形位)和错误标识符(连续8个隐形位);目的在于识别错误,回应主动错误。