ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CAN报文解析

2022-08-13 16:31:02  阅读:174  来源: 互联网

标签:0.1 报文 bit 解析 电流 ID


0. 前言

1. 报文解析

报文组成

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

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

解析报文时主要用到的是帧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

标签:0.1,报文,bit,解析,电流,ID
来源: https://www.cnblogs.com/coderning/p/16582090.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有