You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CAN总线CRC生成多项式位数与帧写入方式的技术疑问

CAN总线CRC多项式与15位CRC字段的疑问解答
  • 首先明确:CAN总线的CRC字段存储的不是生成多项式本身,而是数据经过CRC计算后的15位余数。你提到的生成多项式是协议内置的计算规则,不需要手动写入数据帧。
  • 关于生成多项式的位数:生成多项式是x^15 + x^14 + x^10 + x^8 + x^7 +x^4 +x^3 + 1(x^0就是常数项1),对应的二进制为1100010110011001(16位),但CRC计算逻辑是:
    1. 将待校验的数据左移15位(相当于在数据末尾补15个0)
    2. 用这个扩展后的数据与生成多项式做模2除法
    3. 得到的余数为15位(除数是16位,余数位数必然比除数少1位),这个余数就是写入CAN帧CRC字段的内容
  • x^0项(常数项1)是生成多项式的固有组成部分,协议栈或硬件在执行CRC计算时会自动调用完整的多项式,不需要你在CRC字段里额外添加,只需确保发送的帧包含计算正确的15位余数即可。

内容的提问来源于stack exchange,提问作者sarvar1899

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 20:29:55