Loading... # 汽车电子常见安全机制 在 CAN 通讯矩阵或 DBC 文件中,常见到 `Checksum` 信号和 `Rolling Counter` 信号。这是由于 CAN 报文信号在汽车 CAN 总线网络传输过程中,由于线阻、阻抗不匹配等原因会导致波形畸变、信号衰减,也会受到外部因素影响。例如外部电磁干扰、黑客恶意攻击篡改等,都可能导致接收方收到的数据与发送方发送的不一致。因此需要一些校验机制来确保 CAN 报文数据是最新且真实可靠的。 ## E2E E2E(End-to-End Protection,端到端保护),一种面向功能安全的通信保护机制,减轻通信过程中出现的数据损坏、丢失、延迟等通信链路错误,确保数据从发送方到接收方的整个逻辑链路中通信正常。 ### CRC CRC(Cyclic Redundancy Check,循环冗余校验),是一种基于多项式除法的查错校验机制。 收发双方预先约定一个生成多项式,将待发送的数据帧与生成多项式进行模二除法运算,得到余数。将计算出的 CRC 校验码(余数)附加在数据帧末尾,发送给接收方;接收方对收到的整帧数据用上面约定的生成多项式(除数)做同样的除法运算,验证余数是否为 0,为 0 则表明校验正确,数据传输无误。 ### Checksum Checksum(校验和),是一种基础、高效的数据完整性校验方法。 发送方将数据块按固定字长(通常是字节或字)进行算术累加,取结果的低若干位作为校验值,将校验值附在数据末尾发送;接收方取收到的数据部分重新计算累加和,将算出的 校验值与接收到的校验值直接比较,如果结果一致即说明数据正确。 > 在 IP 协议栈中的 Checksum 计算方式是反码求和后再取反 ### Rolling Counter Rolling Counter(滚动计数器)是一种用于监测通信报文时序完整性的机制,确保报文按预期顺序接收。 发送方在每个有效报文末尾附加一个按特定规则递增的序号值;接收方通过检查该序号的连续性来判断报文在传输过程中是否发生了丢帧、重复或乱序 。 具体判定阈值依据功能安全等级(ASIL)标定,常见逻辑为:连续 5 次出现相同的 Rolling Counter 值,或连续 3 次两帧之间的 Rolling Counter 差值大于 2,则判定发生错误。 ### CRC 与 Checksum 的区别 Checksum处于数据段内部,CRC 处于 CRC 段内部。 CRC 作为 CAN 协议的一部分,在物理层上解决数据从一个 CAN 节点到另一个 CAN 节点的物理信号差错检测的问题;而 Checksum 是由应用层软件实现,用于校验检查数据是否被正确打包。 最后修改:2026 年 04 月 17 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏