出错管理 CAN协议描述的出错管理,完全由硬件通过发送错误计数器(CAN_ESR寄存器里的 TEC域 ), 和接收错误计数器(CAN_ESR寄存器里的REC域 )来实现,其值根据错误的情况而增加或减少
关于TEC和 REC管理的详细信息,请参考CAN标准
软件可以读出它们的值来判断CAN网络的稳定性
此外,CAN_ESR寄存器提供了当前错误状态的详细信息
通过设置CAN_IER寄存器(比如ERRIE位 ),软件可以灵活地控制中断的产生――当检测到出错时
离线恢复 当 TEC对于255时,bxCAN就进入离线状态,同时CAN_ESR寄存器的BOFF位被置 ’1’
在离线状态下,bxCAN无法接收和发送报文
根据CAN_MCR寄存器的ABOM位的设置,bxCAN可以自动或在软件的请求下,从离线状态恢复(变为错误主动状态)
在这两种情况下,bxCAN都必须等待一个CAN标准所描述的恢复过程(CAN RX引脚上检测到128次 11个连续的隐性位)
如果ABOM位为’1’, bxCAN进入离线状态后,就自动开启恢复过程
如果ABOM位为’0’,软件必须先请求bxCAN进入然后再退出初始化模式,随后恢复过程才被开启
注: 在初始化模式下,bxCAN 不会监视CAN RX 引脚的状态,这样就不能完成恢复过程
为了完成恢复过程,bxCAN 必须工作在正常模式 STM32 之 CAN---错误管理分析 分类: ARM STM322012-11-08 16:36 2444 人阅读 评论(0) 收藏 举报 目录(
)[+] 1 几个重要概念 根据ISO11898 有如下几个重要的与CAN 相关的定义: Fault confinement(错误界定) CAN nodes shall be able to distinguish short disturbances from pe