411xcrtca3n6405714807.gif
点击上方蓝色字体,关注我们
在CAN通信中,CAN控制器是实现错误管理的核心,其通过硬件和软件的结合来实现对总线错误的监测和响应。
2
CAN控制器如何感知错误
CAN控制器通过与CAN收发器的交互,实时监测总线的电平状态。
其基本原理是通过发送和接收的数据位的电平值来判断总线状态是否符合预期,进而检测是否存在错误。
具体来说,当CAN控制器发送一个逻辑位时,它会在采样点上同时监测总线的实际电平值。
在CAN通信过程中,CAN控制器通过采样点的电平值与预期值进行比对,从而检测错误。
例如,在发送某一位时,CAN控制器会将该位的逻辑电平信号与总线实际的电平信号进行对比。如果两者不一致,则会判定为位错误。
eolfxymbi046405714907.png
CAN控制器通过采样点实时监控总线状态,并在每次发送时对总线电平进行比对,及时发现错误。
3
CAN通信中的错误类型及其检测
CAN通信中的错误主要有五种类型:位错误、填充错误、CRC错误、帧格式错误和应答错误。
gvcqyn13igm6405715007.png
4
CAN控制器如何响应错误
一旦CAN控制器检测到错误,它会通过错误标志机制来响应并通知其他节点。
CAN规范规定,控制器内含有发送错误计数器和接收错误计数器,两个计数器的值决定节点的当前状态。
基于这些计数值,节点会处于不同的状态,并根据状态变化进行相应的处理。
在节点状态转换过程中,错误标志的发送至关重要。
根据节点的状态,CAN控制器在监测到错误后,会在位流的相应位置插入错误标志。
错误标志的类型(主动错误标志或被动错误标志)以及其插入位置,会直接影响错误的响应行为。
age4ocjj4cq6405715107.png
CAN节点的状态转换机制基于错误计数器的值进行。
当节点的错误计数达到某一阈值时,节点会进入错误被动状态,进而影响到其他节点的通信。
在CAN通信中,错误响应机制分为主动错误标志和被动错误标志。
当节点处于“主动错误”状态时,它会发送主动错误标志,通知其他节点发生了错误,并使所有节点丢弃当前出错的帧。
而在“被动错误”状态下,节点仅会丢弃当前出错的帧,不会影响其他节点的通信。
CAN的错误管理机制不仅能提高通信的可靠性和鲁棒性,还能保证数据的一致性。
在CAN网络中,节点能够通过错误管理机制及时识别并响应错误,确保数据传输的正确性。
同时,节点在错误发生时,能够采取不同的策略(如主动丢弃错误帧或仅丢弃自身接收的错误帧),这为网络提供了高度的灵活性和容错性。
0mviflhglzv6405715207.jpg
m2sleutaomh6405715307.gif
点击阅读原文,更精彩~ |