用nas建设服务器网站,用vs做音乐网站,有帮忙做网站的吗,网站建设与管理期末总结什么是can bus off#xff1f; CAN总线关闭#xff08;CAN bus off#xff09;是指CAN节点进入一种错误状态#xff0c;无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时#xff0c;该节点将进入CAN总线关闭状态。在这种状态下#xff0c;该节点将停…什么是can bus off CAN总线关闭CAN bus off是指CAN节点进入一种错误状态无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时该节点将进入CAN总线关闭状态。在这种状态下该节点将停止发送和接收数据并且无法参与到总线通信中。 CAN总线关闭状态通常是由于节点发送错误次数过多导致的这可能是由于硬件故障、电缆连接问题、电源电压异常或其他通信干扰引起的。一旦节点进入CAN总线关闭状态它将无法正常工作直到重新初始化或解决问题为止。 其他节点在CAN总线关闭状态下的节点仍然可以继续正常的数据通信但是受到关闭节点的影响可能会导致通信性能下降或数据传输延迟。因此当出现CAN总线关闭情况时需要及时识别和解决问题以确保整个CAN总线的正常运行。
什么情况会出现bus off CAN总线关闭bus off状态通常出现在以下情况下
**错误计数器超过阈值**每个CAN节点都有一个错误计数器当节点在发送或接收数据时发生错误计数器会递增。如果错误计数器超过了设定的阈值节点将进入bus off状态。**通信故障**CAN总线的通信可能会受到各种干扰和故障的影响如电缆连接问题、电源电压异常、信号干扰等。这些故障可能导致节点无法正常发送或接收数据最终导致bus off状态。**节点故障**CAN节点自身的硬件或软件问题可能导致其无法正常工作。例如节点的CAN控制器故障、节点程序错误等都可能导致bus off状态。 CAN总线的CANH和CANL 短接、CAN总线的CANH接GND和CAN总线的CANL接VCC、CAN总线的因为终端电阻的问题导致RXD相对于TXD 的信号延迟较大导致。以500K的CAN为例通常情况RXD和TXD的延迟约在100ns左右若由终端断电阻的配置不对会导致TXD和RXD延迟时间增大可能达到500ns。若是2M的CANFD 就会造成数据传送产生问题最终导致BUSOFF
当一个节点进入bus off状态时它将停止发送和接收数据并无法参与到总线通信中。其他节点仍然可以继续正常的数据通信但受到bus off节点的影响可能会导致通信性能下降或数据传输延迟。因此当出现bus off情况时需要及时识别和解决问题以确保整个CAN总线的正常运行。
进入can bus off 在故障限制方面一个节点可能处于三种状态中的一种这取决于错误计数器的级别 error active,error passive 和 bus off.
Error counting错误计数法
1、当接收机检测到错误时接收错误计数器应增加1除非在发送主动错误标志或过载标志时检测到的错误是位错误。 2、当接收端在发送错误标志后检测到一个主比特作为第一个比特时接收错误计数器需要增加8个( 8 )。 3、当发送端发送错误标志时发送错误计数器应增加8 ( 8 )个。
如果发送端是错误被动的并且由于没有检测到主导ACK而检测到ACK错误并且在发送其被动错误标志时没有检测到主导比特。如果发送方发送了一个错误标志因为在仲裁过程中发生了一个错误那么这个错误标志应该是隐性的并且被发送为隐性的但被监控为显性的。 在这两种情况下发射误差计数器保持不变。 8
4、 如果发送端在发送主动错误标志或过载标志的同时检测到比特错误则发送错误计数器应增加8 ( 8 )。 5、如果接收机在发送主动错误标志或过载标志的同时检测到比特错误则接收错误计数器应增加8 ( 8 )。 6、在发送主动错误标志、被动错误标志或过载标志后任何节点最多可以容忍七( 7 )个连续的优势比特。在检测到第14 ( 14 )个连续的主导比特(在出现主动错误标志或过载标志的情况下)后或检测到第8个连续的主导比特后在每增加8个连续的主导比特后每个发送端将其发送错误计数器增加8 ( 8 )个每个接收端将其接收计数器增加8 ( 8 )个。 7、当一帧(得到ACK ,直到EOF结束,没有检测到误差)成功传输后除非传输错误计数器已经为零( 0 )否则传输错误计数器将减少1 ( 1 )。 -1 8、成功接收一帧(接收到ACK时隙无误码且成功发送ACK比特)后如果接收误差计数器在一( 1 )到一百二十七( 127 )之间则应减小1。如果接收错误计数器为零( 0 )则应保持为零( 0 )如果大于一百二十七( 127 )则应设置为一百一十九( 119 )到一百二十七( 127 )之间的值。
主动错误和被动错误状态之间的转换
如果节点的发送错误计数器或接收错误计数器超过127 ( 127 ) ( 7位接收误差计数器情况下的进位条件)则监控器应请求MAC子层将相应节点设置为错误被动状态。让节点成为错误被动的错误条件将导致节点发送一个主动错误标志。当发送错误计数器和接收错误计数器均小于或等于127 ( 127 ) 时错误被动节点将重新变为错误主动节点。当节点的接收误差计数器超过一百二十七( 127 )的误差被动限时该接收误差计数器的进一步增量将受到计数器宽度的限制。在下一次成功接收一帧(过渡到错误激活( error-active ))时接收错误计数器应设置为低于错误被动l的值。
bus off manangement
如果一个节点的发送错误计数器大于二百五十五( 255 ) ( 8位传输错误计数器情况下的进位条件)那么主管应该请求PL将该节点设置为总线关闭状态。总线关闭状态不得对公交车产生任何影响。它既不发送任何帧也不发送ACK、错误帧、过载帧。这样的节点是否接收来自总线的帧取决于实现方式。处于总线关闭状态的节点在监测到(见图16)总线上128 ( 128 )个连续11 ( 11 )个隐性位后其错误计数器都设置为0 ( 0 )可能成为错误活跃的(不再是总线关闭)。注现有的实现方式可能不同。例如6.14允许发射端和接收端的关断恢复可能只在用户请求时开始。这在ISO 16845的一致性测试中没有涉及。
恢复bus off
要恢复CAN总线关闭状态bus off可以采取以下步骤
检查和修复通信故障首先需要排查并解决导致CAN总线关闭的问题如检查电缆连接是否良好确保电源电压正常排除信号干扰等。重新初始化CAN节点将进入bus off状态的CAN节点进行重新初始化包括重新设置CAN控制器、清除错误计数器等。等待恢复时间在重新初始化节点后需要等待一段时间通常为128个错误帧时间TEC以确保CAN节点已经完全恢复。 快慢恢复所谓的快慢恢复即进入CAN BUSOFF状态后ECU重新初始化CAN模块并等待ttBusOffQuick 或 tBusOffSlow后重新使能总线报文的发送。一些主机厂对其系统供应商的设备提出了相应的Busoff后恢复时间需求。例如当ECU 进入Busoff 模式后首先ECU 执行快恢复模式连续n次(TBD值不同厂商次数要求不一样)快速恢复后ECU 进入慢恢复模式。
判断CAN总线关闭状态是否已经恢复可以通过以下方式
监测错误计数器在重新初始化节点后可以通过监测节点的错误计数器来判断是否还在持续增加。如果错误计数器停止增加或保持在一个较低的值说明CAN总线关闭已经恢复。数据通信测试进行数据通信测试发送一些数据帧并观察节点的发送和接收情况。如果节点能够正常发送和接收数据说明CAN总线关闭已经恢复
参考文章 https://blog.csdn.net/u014156403/article/details/103725924 ISO11898标准文档