校验和

两个概念

校验和有两种:经典校验和(classic checksum)和增强型校验和(enhanced checksum)。若使用经典校验和,则仅保护有用数据。若使用增强型校验和,则保护有用数据和PID。自2.0版协议起,增强型校验和用于ID为0到59的报文。为保持向下兼容,始终使用经典校验和保护诊断帧

计算

校验和的计算公式如下:

  • 校验和 = INV(数据字节 1 ⊕ 数据字节 2 ⊕ ...⊕ 数据字节 8)

通过翻转八位和算法求得校验和,然后从任务将校验和进行传输。接收方根据同一算法计算接收的数据字节的校验和,但不取反。如果接收方计算所得的结果与接收到的校验和之和不等于0xFF,则接收方会检测到传输错误。

数据保护

这种保护方法不是特别完善,但实现了用于子总线区域时所需的数据完整性,尤其适合含少量数据字节的无条件帧。这种保护方法的出错概率随着数据字节的增加而增加。


最后修改: 2021年03月3日 Wednesday 19:17