CAN 错误帧和原理 分类: CAN 2012-05-27 21:22 153 人阅读 评论(0) 收藏 举报 1、CAN 错误检测(Error Detection) CAN 网络具有严格的错误诊断功能,该功能已固化在硅片之中,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要 CPU 的干涉除非错误累计该发送器退隐(Bu s Off)
CAN 控制器可检测如下五种错误: √ 位错误(Bit Check Error) 发送器在发送比特流的同时也对发出的比特流采样回收,若送出的 bit 与所期待的 bit 不合,则会检测到一个 Bit Check Error; √ 位填充错误(Bit Stu ff Error) 在需要执行位编码规则的位流序列中检测到第 6 个连续的极性相同的位序流时,则检测到一个 Bit Stu ff Error; √ CRC 错误(CRC Error) 发送端送出的 CRC 序列由发送器算出,接收器执行同样的 CRC 算法,若计算结果与接收到的 CRC 序列不符,一个 CRC Error 被检测到,由发送端送出; √ 帧格式错误(Frame Check Error) 当一个固定形式的位场含非法位,则检测到一个Frame Check Error(接收端检测到帧结束最后一位为显性时帧错误忽略); √ 应答错误(Acknow ledgment Error) ACK SLOT 采样为隐性,则检测到一个Acknow ledgement Error; 2、CAN 错误界定(Error Confinement) CAN 控制器内置两个错误计数器:Receive Error Counter 及 Tranmit Error Counter(错误计数器的计数规则后附)
当某个计数器的当前值达到128 时,CAN 控制器将进入“Err