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

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

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

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

    3、充电机和BMS之间的CAN通信网络应由充电机和BMS两个节点组成。

数据信息传输采用低字节先发送的格式。

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

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

 

1、什么是报文?

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

    --《GB/T 27930-2015》3.3

 

2、什么是CAN数据帧?

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

    --《GB/T 27930-2015》3.2

 

3、一个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的地址分配如下:

 

装置

首选地址

充电机

86(56H)

BMS

244(F4H)

    由以上信息得知,组成帧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中有详细说明。

 

  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值