CAN错误计数寄存器CEC(CAN Error Counter Register)

14.CAN错误计数寄存器 CEC(CAN Error Counter Register)

CAN模块包含两个错误计数器:接收错误计数器(CANREC)和发送错误计数器(CANTEC)。CPU可以读取两个计数器的值。这些计数器根据CAN协议规范2.0递增或者递减。错误计数器的格式如下:

978-7-111-57271-8-Chapter12-22.jpg

当接收错误计数器(CANREC)的值达到或超过其最大计数值128后,就不再增加(错误无效模式)。此后当正确接收到一个信息时,计数器的值将设置在119~127之间。当总线处于关闭状态,发送错误计数器的值是不确定的,但CANREC将清零,其功能也会发生改变。当总线上每连续出现11个隐性位后,则CANREC加1,这11位相对于总线上两帧之间的间隔。如果CANREC的值达到128后,则CAN模块自动回到总线开启状态(如果该特性已使能,即置位了总线开启位ABO)。此时复位CAN控制器的全部内部标志位,错误计数器清零。当CAN控制器脱离初始化模式后,错误计数器的值也会清零。