CAN的错误校验分为5种
填充检查(接收方)
填充检查用于检查位流。CAN协议规定发送方传输五个相同位后必须传输相反的位,以便实现同步。如果连续接收到五个以上的相同位,则会出现填充错误。
位监控(发送方)
在位监控的框架内,发送方会将发送的位电平与实际的总线电平进行比较。如果发送方检测到两个电平之间存在差异,则会发生位错误。位监控可确保检测到发送方的所有全局错误和所有局部错误。
格式检查(接收方)
格式检查用于检查CAN报文的格式。所有CAN报文在某些位置始终呈现相同的位序列,即CRC界定符、ACK界定符和EOF。发送方始终以隐性电平传输这些报文部分。如果接收方在进行格式检查时在其中一个位检测到显性总线电平,则会发生格式错误。
循环冗余校验(接收方)
在循环冗余码中,与接收到的数据帧或远程帧关联的多项式R(x)应是ISO 11898-1指定的生成多项式G(x)的倍数。如果不是,就会产生CRC错误,说明数据帧或