CNA BUSOFF 理解
BUS OFF 总线掉线这不是说总线不能用了而是当前该节点脱离了总线不参与通信换句话说当前的节点的Controller关闭节点无法在此期间收/发报文。注意此期间ECU依法在正常运行所有的任务依然被OS调度。如果节点一直收不到网络管理报文网络切换到Bus Sleep Mode, 则ECU会进入下电流程。Bus Off 如何出现当节点的发送错误计数器Transmit Error Counter - TEC数值 255 该节点就会进入BUS OFF 状态。 一旦数值爆表CAN协议为了保全大局会强制把这个“问题节点”踢出防止它持续捣乱。TEC “积分”是怎么计算的简单来说, 1TEC增加当节点在发送报文时遇到错误TEC会一次孟增加8分2)TEC减少每当节点成功发送完一帧正常的报文TEC会减去1分最低减到0.换句话说如果一个节点处于不稳定的状态它的ETC数值会迅速飙升很快就会触碰到255这条红线。为什么设置为255而不是其他值设定255这个阈值是由底层的硬件数据结构和容错逻辑共同决定的。如果阈值设的太低那么一次突发的强电磁干扰就可能导致ETC迅速增加并出发BUS OFF导致节点频繁掉线系统变得不稳定。节点的三种“健康状态”节点状态 TEC数值范围 节点表现主动错误(Error Active) 0~127 健康状态被动错误(Error Passive) 128~255 亚健康/警告状态。总线关闭(Bus Off) 255 隔离状态