首页 > 其他分享 >CAN报文解析

CAN报文解析

时间:2023-05-23 09:22:04浏览次数:32  
标签:字节 16 0.1 报文 电压 解析 电池

CAN报文解析 

一、获得CAN报文的过程

准备软硬件环境,硬件周立功CAN卡,软件使用ZLGCANTest,安装在电脑上;通过CAN卡连接整车CAN或者调试端口,通过软件交互界面获取CAN报文。

二、CAN2.0B报文基本格式

接收到的报文,是一串十六进制的字符,而报文格式定义和位数是按照二进制定义的。29位扩展标识符,报文帧格式如下图所示。表格中,上面一行为字段代号,下面一行表示字段的位数。SA为报文的源地址,有8位。

三、报文基本组成

初始能够获得的是帧ID的一串字符,就是前面的29位扩展标识符,通过帧ID找到目标所在行,进而找到数据段。数据段包含的信息,是我们需要的部分。

IDENTIFIER 11BITS

SRR

IDE

IDENTIFIER EXTENSION 18BITS

 

R

DP

PDU

FORMAT(PF)

SRR

IDE

PF

PDU

SPECIFIC(PS)

SOURCE

ADDRESS(SA)

3

2

1

1

1

8

7

6

5

4

3

 

 

2

1

8

7

6

5

4

3

2

1

8

7

6

5

4

3

2

1

8

7

6

5

4

3

2

1

0

9

8

 

 

7

6

5

4

3

2

1

0

9

8

7

6

5

4

3

2

1

0

以上为29 标识符的分配表: 

其中,优先级为3 位,可以有8 个优先级;R 一般固定为0;DP 现固定为0;8 位的PF 为报文的代码;8 位的PS 为目标地址或组扩展;8 位的SA 为发送此报文的源地址。

四、数据段的组成

数据段由8个字节组成,对应通信协议中约定的含义。每个字节有2个字符,前边字符代表高4位,后边字符代表低4位。

例如,一串报文1818D0F3 ce 0d 00 7d 00 6d 1100(ID是1818D0F3)。第1个字节ce中的c为高4位,e为低4位。如果通讯协议规定,第1、2字节表示总电压,而且注明Byte1为低字节,Byte2为高字节,那么解析时就应该为:0dce。

例如 :

OUT

IN

ID

周期

BMS

仪表/车载终端

0x18B1D0F4

200ms

位置

数据名

备注

BYTE1

电池总电压低字节

0.1V/bit

数据范围:0-10000(0-1000V)

BYTE2

电池总电压高字节

BYTE3

电池系统电流低字节

0.1A/bit, 偏移:-400

数据范围:0-8000(-400~400A)

BYTE4

电池系统电流高字节

BYTE5

最高电池温度

1℃/bit,偏移-40℃

数据范围:0-250(-40℃-210℃)

BYTE6

最低电池温度

BYTE7

电池系统剩余电量

1%/bit, 数据范围:0-100(0-100%)

BYTE8

电池系统故障

见附表4-1

 五、具体CAN报文解析过程

收到的报文为:1818D0F3 ce 0d 00 7d 00 6d 11 00。

第一、二字节,协议中规定了,1818D0F3  ID帧内,第一、二字节表示电压,并且,高字节表示高字节表示电压数值的高位,低字节表示电压数值的低位,比例因子0.1V。

数据中0dce代表总电压,转为十进制为3534,乘以0.1 V的单位,则得到总电压值为353.4 V。

第三、四字节,协议中规定报文的第三、四字节表示总电流,又总电流的单位为0.1 A,偏移量为32000。数据中7d00转为十进制为32000,乘以0.1再减去3200的偏移量0,则说明此时电池组没有被充电或放电,电流为0。

第六、七字节,协议中规定报文的第六、七字节表示最高单体电池电压及位置。单体电池电压单位为0.01 V,最高4位代表箱号。数据中116d,其中1代表箱号,即最高电池电压在第1箱。16d代表最高电池电压,转为十进制为365,乘以0.01 A的单位,则得到最高电池电压为3.65 V。

 十六进制转换成十进制数的方法,从最低位开始,16的0次方加第一位+16的1次方加第二位数……比如前文中的116d,最高4位代表箱体编号,16^0+1=1,因此箱体号为1;后面的12位代表单体电压,计算方式(16^0+13)+(16^1+6)+(16^2+1)=365,算式中的13是报文中的d。

 

 

CAN报文:

https://blog.csdn.net/LiuXF93/article/details/113729294

CAN报文:数据帧详解

https://blog.csdn.net/u010650845/article/details/125990942

标签:字节,16,0.1,报文,电压,解析,电池
From: https://www.cnblogs.com/yking/p/17422277.html

相关文章

  • Java-Servlet解析
    前言从事Javaweb项目开发有一段时间了,一直不理解它是怎么一回事,后来查询资料发现这里面涉及到几个东西,分别是tomcat、JavaEE中13个规范之一的servlet、以及springMVC。于是就去学习了一下,发现这里里面都是围绕这servlet进行的操作。于是就有了今天的这个总结。Servlet定义Servl......
  • 深入解析buffer busy waits
    在写一个培训ppt的时候,为了深入理解buffebusywaits这个等待事件,做了一个仔细的测试,对大家也有帮助,经过测试,发现我个人以前的认识都有一点问题。大家一起探讨!1.创建测试表www.killdb.com>connroger/rogerConnected.www.killdb.com>create......
  • python解析XML
    xml简介XML全称ExtensibleMarkupLanguage,中文译为可扩展标记语言。XML之前有两个先行者:SGML和HTML,率先登场的是SGML,尽管它功能强大,但文档结构复杂,既不容易学也不易于使用,因此几个主要的浏览器厂商均拒绝支持SGML,这些因素限制了SGML在网上的传播性;1989年HTML登场,它继......
  • linux中/etc/passwd文件与/etc/shadow文件解析
     在linux操作系统中,/etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。该文件对所有用户可读。  而/etc/shadow文件正如他的名字一样,他是passwd文件的一个影子,/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/pas......
  • ifc的解析思路
    IFC标准的解析包括以下几个方面:资源层解析:资源层是IFC标准中最基础的信息层,包含了建筑工程中所需的各种基础信息,如材料、几何、拓扑等。资源层的信息通常是通过定义特性、数量、分类等属性来描述的。核心层解析:核心层定义了IFC标准中信息模型的整体框架,包括工程对象之间的关系......
  • oracle中SCN详细解析
    在Oracle数据库中,SCN表示数据库中状态变化的时间点,是一个连续唯一的数字标识符。SCN的类型比较多,本文将会详细介绍控制文件中的SCN、检查点(SCNCheckpoint)、数据文件的起始SCN和终止SCN、归档日志的SCN以及在线日志的SCN,同时描述这些不同类型的SCN之间的关系。控制文件中的SCN在O......
  • Android 热补丁之 Tinker 原理解析
    阅读本文大概需要1分钟。哈,一晃好几天没更文了,然后后台又一大堆读者给我留言,说没有我的文章,感觉生活都没有动力了,对于这样的读者,我只能说:你肯定单身吧?主要是上周五开始就出去旅游了,跟着老板一起出去嗨了一把。所以一直没更新,但是,我是不会忘记你们的,这不,刚回归就给大家带来一篇干......
  • AMME2000 BMET2960 解析
    辅导BMET9960、辅导MATLAB程序语言AMME2000/BMET2960/BMET9960-Assignment2,2023Due:11:59pmFriday19thMay(Week12)2023AssignmentInformaonAssignment2focusesonyourunderstandingoftheanalycalandnumericalsoluontotheWaveEquaonandLaplaceEq......
  • 解析机器学习中的数据漂移问题
    编者按:当模型在生产中呈现的输入与训练期间提供的分布不对应时,通常会发生数据漂移。VatsalP.的这篇文章,介绍了如何通过漂移指标直观了解数据漂移程度,并n通过一个使用合成数据的例子来展示如何利用Python计算数据随时间的漂移指标。以下是译文,Enjoy!作者|VatsalP.编译|岳扬由......
  • 互联网医院系统源码解析:实现在线问诊、挂号和支付功能
    互联网医院系统为大家的日常看病提供了更加便捷的服务,近期热度极高。本篇文章,小编将从互联网医院系统源码的角度,解析其如何实现在线问诊、挂号和支付功能。一、基本架构1. 前端前端主要由HTML、CSS和JavaScript等技术实现,通过浏览器与用户进行交互。互联网医院系统源码的前端的主......