BusOff恢复流程

总线关闭是CAN节点比较重要的错误处理机制 , 在总线关闭状态下 , CAN节点的恢复流程是怎样的?如何理解节点恢复流程的“快恢复”和“慢恢复”机制? 下面将通过CANScope详细介绍总线关闭的机制和原理 。
需要这些哦
CANScope总线阐发仪
电脑
Win7操作系统
上位机软件CANScope
总线封闭道理1为避免某一通信节点故障影响其它节点通信 , CAN收集具有严酷的错误处置机制 , 每个CAN节制器中有一个发送错误计数器TEC和一个领受错误计数器REC 。 具体的状况转换如下图所示 。

BusOff恢复流程

文章插图
BusOff恢复流程

文章插图

2本家儿动错误、被动错误和总线封闭三种错误状况暗示发生故障的严重水平 , 总线封闭是节点最严重的错误状况 。
错误本家儿动和错误被动两种状况下节点的恢复过程一般不需要MCU进行额外的编程处置 , 直接利用CAN节制器固有功能即可 。 总线封闭 , 需要对其进行编程节制 , MCU不克不及进行自我处置 。

快恢复和慢恢复策略1MCU自恢回复复兴理:CAN节制器在检测到128次11个持续的隐性位即可恢复通信 , 进入总线封闭状况后 , 三种恢复环境:
a、仅MCU主动恢复 , 检测到128次11个持续的隐性位恢复通信 。
b、MCU没有开启主动恢复 , 也未做编程处置 , 只能经由过程从头上电的体例使节点恢复 。
BusOff恢复流程

文章插图

2c、MCU进行编程处置 , 各厂家采用先“快恢复”后“慢恢复”的恢复策略 。
BusOff恢复流程

文章插图

MCU若何实现“快恢复”和“慢恢复”?1MCU编程“快恢复”和“慢恢复”流程如下 。
BusOff恢复流程

文章插图

2当发送错误计数器跨越255 , 这时MCU节制CAN节制器进入“快恢复”过程 。
当节点“快恢复”计数达到设定的值N(如5次) , MCU把恢复总线通信的期待时候T2进行耽误(如1000ms) , 这样便实现了“慢恢复”过程 。
经由过程MCU对于总线封闭后的恢复行为进行编程节制 , 现实上是对CAN节制器的错误办理和恢复机制进行了弥补 , 使得总线封闭状况后的恢复过程加倍矫捷 。

实测总线封闭恢复流程1经由过程CANScope总线阐发仪的流量阐发功能 , 可快速阐发总线封闭的快恢复和慢恢复时候 。
毗连DUT但先不要上电 。 按以下设置装备摆设 , 使能领受干扰功能 , 并开启报文读取功能 。
BusOff恢复流程

文章插图

2给DUT上电 , 并采集一段时候报文 , 遏制采集后利用流量阐发功能进行阐发 。
BusOff恢复流程

文章插图

3鼠标放置于多帧密集帧的波形之间读取恢复时候 。
BusOff恢复流程

文章插图

4【BusOff恢复流程】结论:该设备进行了编程节制 , 进步前辈行了一次“快恢复”过程 , 后续进行“慢恢复”过程 , 两个恢复过程的恢复时候别离为27.5ms和209.5ms 。
整个总线封闭及恢复流程如下 , 把多帧密集帧的波形放大获得下图:
BusOff恢复流程

文章插图

5可以清楚的看到 , 波形“团”中包含共32帧CAN报文 。

推荐阅读