CheckSum(校验和)
CheckSum是一种用于验证数据完整性的技术。它通过对数据进行特定算法计算生成一个校验值,并将这个校验值附加到数据后面。接收方在收到数据后使用相同的算法重新计算校验值,并与附加的校验值进行比较。如果两个值相同,数据被认为是完整且未被篡改的;如果不同,说明数据在传输过程中出现了错误。
常用算法:
- 简单求和:将所有数据字节相加,并将结果取模。
- 循环冗余校验(CRC):一种更复杂的校验方法,能检测更多种类的错误。
Rolling Counter(滚动计数器)
Rolling Counter是一种用于报文序列追踪的机制。它在每次发送报文时增加一个计数值,通常在一定范围内循环(例如0到15)。接收方使用该计数值来检测报文是否按顺序接收,从而判断是否有报文丢失或重复。
特点:
- 顺序检测:可以检测出报文的顺序是否正确。
- 丢失和重复检测:如果计数器值不符合预期,则表明可能有报文丢失或重复。
Bus Off(总线关闭)
Bus Off是CAN(Controller Area Network)协议中的一种错误处理机制。当一个节点检测到过多的错误(例如传输错误或接收错误)时,会进入Bus Off状态。处于Bus Off状态的节点将停止所有的总线通信,等待问题解决。