车载CAN总线crc简单计算

车载CAN总线crc简单计算



注意下面
如果有车载讨论需要的小伙伴,可以私信加我微信,拉你进群,和同行业大佬交流
注意上面

前言

车载can总线功能安全应用很明显的体现是crc计算的应用,一般报文中会取一个字节(0-255)用以存储checksum,4bit用以存储counter。之前公司功能安全项目需要配置计算crc值,用了一个Python的crc三方库,但是那个crc库升级版本后,功能实现写法稍微改动了下,今天就正好抽空把实现重新尝试了下并尝试成功,特此记录下


二、具体实现

代码如下(示例):

import crc

def calculatecrc8(data):
    crc_configuration = crc.Configuration(
        width=8,
        polynomial=0x1D,
        init_value=0xFF,
        final_xor_value=0xFF,
        reverse_input=False,
        reverse_output=False, )
    crc_calculator = crc.Calculator(crc_configuration, False)
    crc_data = crc_calculator.checksum(data)
    return crc_data


data = [5,6,7]
checksun = calculatecrc8(bytes(data)) # 最新版需要将列表转换为字节传入运算
print(checksum)

查看源码发现他提供了车载常用的多项式,如下图
在这里插入图片描述
有兴趣的可以自行研究下


总结

车载总线crc加密功能后续应该会是常用的功能,还有有必要学习了解清楚的

写在结尾

我是一名车载集成测试开发工程师,希望能和志同道合的朋友一起相互学习进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值