《GB/T 27930-2015》国标协议中报文帧ID该如何计算?

3 篇文章 3 订阅

提示:充电桩国标文件


前言

提示:《GB/T 27930-2015》国标协议中报文帧ID该如何计算?


提示:以下是本篇文章正文内容,下面案例可供参考

1、需要了解的信息?

我们首先要了解的信息有以下五点:

1、充电机和BMS之间通信网络采用CAN2.0B通讯协议。

2、在充电过程中,充电机和BMS监测电压、电流和温度等参数,同时BMS管理整个充电过程。

3、充电机和BMS之间的CAN通信网络应由充电机和BMS两个节点组成。数据信息传输采用低字节先发送的格式。

4、正的的电流表示放电,负的电流表示充电。

5、执行本标准的充电机和BMS宜具备向前兼容性。

2、什么是报文?

一个或多个具有相同参数组编号的“CAN数据帧”

--《GB/T 27930-2015》3.3

3、什么是CAN数据帧?

用于传输数据的CAN协议所必需的有序位域,以帧起始(SOF)开始,帧结束(EOF)结尾。

--《GB/T 27930-2015》3.2

4、一个CAN数据帧都包含什么?

每个CAN数据帧包含一个单一的协议数据单元(PDU),协议数据单元由七部分组成,恩别是优先权、保留位、数据页、PDU格式、PDU待定、源地址和数据域。其中前六部分组成CAN标识符(帧ID)完整的协议数据单元如下:
从上图可以看出协议数据单元由CAN标识符(帧ID)和数据域组成,而标识符由以下部分组成:
P:优先权,从最高0设置到最低7
R:保留位,本协议中默认为0
DP:数据页,本协议中默认为0
PF:PDU格式,用来确定PDU的格式,以及数据与对应的参数组编号
PS:PDU特定格式,PS值取决于PDU格式,本标准中采用PDU1格式,PS值为目标地址
SA:源地址,即此发送报文的源地址
DATA:数据域,若给定参数组数据长度≤8字节,按照第九章规定的报文长度进行传输。若给定参数组数据长度为9-1785字节时,数据传输需多个CAN数据域,通过传输协议功能 的连接管理能力来建立和关闭多包参数组的通信,
详细6.5规定如下图:
在这里插入图片描述
以上引自《GB/T 27930-2015》6.2

充电机和BMS的地址分配如下:
在这里插入图片描述
由以上信息得知,组成帧ID的29位数据其中R(保留位)、DP(数据页)、PS(目标地址)、SA(源地址)这18位数据是已知数据,我们要得出帧ID只需再确定P(优先权)、PF(PDU格式)两项即可。

同时协议中又指出,PGN的第二个字节为PDU格式(PF)值,高字节和低字节均为00H。那么PF值也是已知数据,所以我们只需要根据协议中给出的报文优先权和PGN(参数组便函)值即可得出帧ID。《GB/T 27930-2015》6.4

下面我们以协议中的第一条报文CHM为例计算它对应的帧ID
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从协议中可获取CHM报文相关信息如下:
SA源地址:56H
PS目的地址:F4H
PGN参数组编号:002600H
PF值:PF值为PGN的第二个字节,即26H
DP:0
R:0
P:6
将已知数据填充到相应位以后可得上表第三行,然后将十六进制数据展开为二进制数据可以得到第四行,然后再将29位数据从低位到高位去转换成16进制数据可以得到第5行数据,所以最后CHM的帧ID为1826F456H。

按照上面同样的方法可以得到整个通讯协议中,所有报文的帧ID如下表:
在这里插入图片描述
部分报文数据传输长度超过8字节,启动TP.CM协议将数据分包发送,TP.CM协议具体格式在《SAE J1939-21》5.3.10中有详细说明。

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测机电子枸吴咬风

感谢投喂~喵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值