python解析can报文_Python实现CAN报文转换工具教程

本文介绍了CAN总线的基本概念,包括其报文格式的两种类型——标准帧和扩展帧。详细阐述了Intel和Motorola两种编码格式的区别,并提出了一款Python工具的需求分析,该工具专注于转换CAN报文格式,特别是支持Motorola编码,具备交互式输入和错误处理功能。文章还展示了部分源代码实现。
摘要由CSDN通过智能技术生成

CAN是控制板无线局域网(Controller Area Network, CAN)的通称,是由以产品研发和生产制造轿车电子设备而出名的法国BOSCH企业开发设计的,并最后变成国家标准(ISO 11898),是国际性上运用最普遍的计算机接口之一。 在北美地区和欧洲,CAN总线协议书早已变成轿车电子计算机自动控制系统和内嵌式工业控制系统局域网络的规范系统总线,而且有着以CAN为最底层协议书专为重型货车和重工机械车子设计方案的J1939协议书。

CAN总线以报文格式为企业开展数据信息传输。CAN报文格式依照帧文件格式可分成规范帧和拓展帧,规范帧是具备11位标志符的CAN帧,拓展帧是具备29位标志符的CAN帧。依照帧种类可分成:1.从推送连接点向其他连接点传送数据;2.远程控制帧:向其他连接点要求推送具备同一鉴别符的数据帧;3.不正确帧:指出已检验到系统总线不正确;4.负载帧:负载帧用于在数据帧(或远程控制帧)中间出示一额外的廷时。现有二种编码格式:Intel文件格式和Motorola文件格式,在编号优点和缺点上,Motorola文件格式与Intel文件格式并沒有孰优孰劣之分,只不过是依据设计师的习惯性,由客户独立挑选而已。自然,针对使用人而言,在开展分析以前,就务必要了解编号的文件格式是哪一种,不然,就不可以确保恰当地分析数据信号的含意。下列就以8位字节数编码方法的CAN总线数据信号为例子,深入分析一下彼此之间的差别。

Intel编码格式

当一个数据信号的数据信息长短不超过一个字节数(8位)而且数据信号在一个字节内完成(即该数据信号沒有跨字节数完成):该数据信号的上位(S_msb)将被放到该字节数的上位,数据信号的底位(S_lsb)将被放到该字节数的底位。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值