当前位置: > 财经>正文

CAN报文解析 外汇报文怎么看

2023-09-04 15:16:59 互联网 未知 财经

CAN报文解析

文章目录 CAN报文定义CAN编码格式(Intel、Motorola)CAN总线数据传输规则Intel格式编码Motorola格式编码注意 CAN协议中CAN报文种类CAN报文的组成帧ID的组成数据段的组成CAN报文的解析

CAN报文定义

CAN报文是指发送单元向接受单元传送数据的帧。我们通常所说的CAN报文是指在CAN线(内部CAN、整车CAN、充电CAN)上利用ECU和CAN卡接收到的十六进制报文。

CAN编码格式(Intel、Motorola) CAN总线数据传输规则

对于单个Byte,CAN总线在进行数据传输时,首先传输一个字节的高位(MSB),最后传输该字节的低位(LSB)。 一般情况下,主机厂在定义CAN总线信号的时候,都会明确定义字节的发送顺序,总共有两种顺序:1.首先发送byte0(LSB),然后byte1,byte2,…,最后byte7(MSB)。 2.首先发送byte7(MSB),然后byte6,byte5,…,最后byte0(LSB)。 其中前者发送顺序(先LSB,后MSB)是目前主机厂的主流。 下面以CAN总线报文的发送顺序为首先发送LSB,最后发送MSB的方式为前提,介绍Intel格式和Motorola格式这两种编码方式的不同。

Intel格式编码

当一个信号的数据长度不超过1 Byte,并且信号在一个字节内实现时,该信号的高位(S_msb)将被放在该字节的高位,信号的低位(S_lsb)将被放在该字节的低位。 当一个信号的数据长度超过1 Byte或者数据长度不超过1 Byte,但是采用跨字节的方式实现时,该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位,这样信号的起始位就是低字节的低位。

Motorola格式编码

当一个信号的数据长度不超过1 Byte并且信号在一个字节内实现时,信号的高位(S_msb)将被放在该字节的高位,信号的低位(S_lsb)将被放在该字节的低位,这样,信号的起始位就是该字节的低位。 当一个信号的数据长度超过1 Byte或者数据长度不超过一个字节但是采用跨字节方式实现时,该信号的高位(S_msb)将被放在低字节(MSB)的高位,信号的低位(S_lsb)将被放在高字节(LSB)的低位,这样信号的起始位就是高字节的低位。

注意

当一个信号的数据长度不超过1 Byte时,Intel和Motorola两种格式的编码结果完全一致,但是当数据长度超过1 Byte时,两者的编码结果出现了明显的不同。

CAN协议中CAN报文种类

报文传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。

CAN报文的组成

通常接收到的CAN报文由很多部分(图1)组成,解析报文时用到的主要是帧ID和数据两部分。

帧ID的组成

接收到的十六进制的ID实际上是由 29 位标识符转换而来,目前大多数的通信协议中都直接给出了相应的帧ID,不需要换算。如表 1 所示。 表1中,P为优先级,有3位,可以有8个优先级( 0 ~ 7 );R为保留位,有 1位,固定为0 ;DP为数据页,有1位,固定为0;PF为报文的代码,有8 位;PS为报文的目标地址(也就是报文的接收方),有8位;SA为报文的源地址(也就是报文的接收方),有8位。

数据段的组成

数据段一般由1 ~ 8个字节(Byte)组成,来代表通信协议中相应的含义。每个字节有2个字符,分为高4位和低4位。有的数据需要相邻的2个字节组合才能表示,则需要分为高字节和低字节。

例如 ,通信协议中需要的报文(ID:0000060B ): 0000060B 57 4e 01 7d 00 6d 11 00 。 第 1 个字节57中的5为高 4 位,7为低 4 位。第 1 、 2字节表示横向距离,而且注明Byte 1 为低字节,Byte 2 为高字节,那么解析时就应该为: 4e57。

CAN报文的解析

根据需要收到CAN报文之后,需要根据具体的通信协议解析,然后分析解析出的数据是否正确。下面进行报文实例解析。数据类型定义如表 所示。

解析实例: 我们看到有8个signal。分别是ID、纵向距离、横向距离、纵向速度、横向速度、动态属性、RCS、class(在这里没用)。 拿纵向距离跟横向距离解释一下: 目标纵向距离: 这个signal有13个位组成,字节1为0x4E*32的意思是向左移动5位,(2的5次幂是32),0xc4<<3是右移三位,跟上面的字节对齐,相加形成一个13位的信号。 目标横向距离:

0xc4与上0x70是保留后三位。乘以256(2的8次幂是256)是左移8位,给下面的8为字节留地方(补0)。

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。