TI中文支持网
TI专业的中文技术问题搜集分享网站

关于28335 CAN接口的auto bus on功能

目前使用28335的CAN接口,发现在外部干扰强烈的时候,CAN接口会无法通讯。
测试了一下,CAN正常发送数据时,将CANH或者CANL短接或者分别接到GND人为制造干扰,干扰消除以后,CAN通讯无法自动恢复。
检查CAN初始化代码以后发现CANMC寄存器的ABO位没有打开,打开ABO位以后,将CANH或者CANL短接或者分别接到GND人为制造干扰,干扰消除以后,CAN通讯可以自动恢复。但是CANES寄存器的EP和EW位始终置位。
以下是sprueu1文档中CANMC寄存器的ABO位描述。该文档对CAN通讯错误处理描述较少,有没有更多CAN错误处理相关的资料和参考代码?

Auto bus on. This bit is EALLOW protected.
1 After the bus-off state, the module goes back automatically into bus-on state after 128 * 11 recessive bits have been monitored.
0 The bus-off state may only be exited after 128 * 11 consecutive recessive bits on the bus and after

10#:

CANES寄存器的EP和EW位始终置位,是需要用户在检查到错误后进行软件干预和处理的,它表明进入了被动错误模式。

你可以结合它的BO位和CANTEC/CANREC了解它的状态。

F28335的CAN是完全符合BOSCH v2.0协议的,所以它的错误处理请参考标准协议。

赞(0)
未经允许不得转载:TI中文支持网 » 关于28335 CAN接口的auto bus on功能
分享到: 更多 (0)