CAN报文解析_报文怎么解析

CAN报文解析_报文怎么解析前言报文解析报文组成一般报文主要有以下几个参数(比较全的情况下)|序号|通道|方向|帧格式|帧类型|数据长度|帧ID|帧数据|时间|||||||||||例解析报文时主要用到的是帧ID和帧数据帧ID接收到的帧ID是十六进制的形式,

大家好,欢迎来到IT知识分享网。

前言

报文解析

报文组成

一般报文主要有以下几个参数(比较全的情况下)

序号 通道 方向 帧格式 帧类型 数据长度 帧ID 帧数据 时间

CAN报文解析_报文怎么解析

解析报文时主要用到的是帧ID帧数据

帧ID

接收到的帧ID是十六进制的形式,由29位标识符转换的,目前大多数的通信协议中都直接给出了相应的帧ID,不需要换算

标识符PGN:

P R DP PF PS SA
3 1 1 8 8 8
  • P:优先级,有3位,可以有8个优先级(0~7)
  • R:保留位,有 1位,固定为0
  • DP:数据页,有1位,固定为0
  • PF:报文的代码,有8 位
  • PS:报文的目标地址(也就是报文的接收方),有8位
  • SA:报文的源地址(也就是报文的发送方),有8位

BMS与VCU之间的29位标识符PGN

P R DP PF PS SA
3 0 0 255 124 3
011 0 0 1111 1111 0111 1100 0000 0011

以上29位标识符 二进制 转换为 十六进制 为 ID=0x0CFF7C03

帧数据

帧数据一般由8个字节组成,根据相关通信协议来对应其中的含义,比如BMS发送的报文,byte3对应电流的低字节,byte4对应电流高字节

BMS与VCU之间的报文

OUT IN ID T 位置 数据 备注
电池管理系统 整车控制器 PGN=65404 100ms 1byte
2byte
3byte
4byte
5byte
6byte
7byte
8byte
电池总压低字节
电池总压高字节
电流低字节
电流高字节
soc
保留
保留
保留
电池总压
分辨率:0.1V/bit;偏移0;范围:0~1000V
电流
分辨率:0.1A/bit;偏移:-1000A;范围-1000~1000A
荷电状态
分辨率:0.4%/bit;偏移:0;范围:0%~100%
保留
保留
保留

报文解析

CAN报文解析就是用帧数据中相应的字节,根据具体的通信协议解析,计算出对应的物理信号的值

数据类型的定义

数据类型 比例 偏移量 字节数
电流 0.1A/bit -1000 2byte

value = recv(byte)*scale+offset

例:

帧ID=0x0CFF7C03

帧数据:12 34 12 34 12 FF FF FF

电流 = 3412*0.1-1000=333A

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28266.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信