充电机与BMS通信报文分析二

学习人数3221
课程类型 高级
课程时长0
综合评分5

更多内容关注‘点点电工科技’微信公众号

简介:

充电机与BMS通信报文分析二:充电参数配置阶段报文

通信协议参照GB/T 27930-2015

BMS接收到CRM的辨识结果为0xAA(能辨识)的前提下,充电机和BMS会进入到下一个流程:充电参数配置阶段

充电参数配置阶段报文分类表

1.BCP报文

其中:

1)SPN2816单体动力蓄电池最高允许充电电压

数据分辨率:0.01V/位,0V偏移量;数据范围:0~24V

2)SPN2817最高允许充电电流

数据分辨率:0.1A/位,—400A偏移量;

3)SPN2818动力蓄电池标称总能量

数据分辨率:0.1Kw·h/位,0Kw·h偏移量;数据范围:0~1000Kw·h

4)SPN2819最高允许充电总电压

数据分辨率:0.1V/位,0V偏移量;

5)SPN2820最高允许动力蓄电池温度

数据分辨率:1℃/位,—50偏移量;数据范围:—50℃~+200℃;

6)SPN2821整车动力蓄电池荷电状态(S0C

数据分辨率:0.1%/位,0%偏移量;数据范围0~100%

7)SPN2822整车动力蓄电池总电压

数据分辨率:0.1V/位,0V偏移量。

抓包工具显示的报文内容:

0x1CEC56F4  10 0D 00 02 FF 00 06 00

0x1CECF456  11 02 01 FF FF 00 06 00

0x1CEB56F4  01 77 01 DC 05 88 13 4C

0x1CEB56F4  02 1D 7D C8 00 AC 0D FF

0x1CECF456  13 0D 00 02 FF 00 06 00 

此报文数据内容为13字节(大于8字节),所以要发送多包(也就是发送长包)。在发送此报文数据之前要进行与充电机的请求连接,即为:0x1CEC56F4  10 0D 00 02 FF 00 06 00

0x1CEC56F4为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”表示此报文发送的目的地址为充电机。“F4”表发送此报文的源地址为BMS。(此报文说明BMS想要发送数据长度大于8字节的报文,首先希望与充电机建立长包的发送连接,之后BMS开始传输数据)。

“10 0D 00 02 FF 00 06 00”为此报文的内容,“10”表示功能码16请求发送,说明此报文想要与充电机建立连接。“0D 00”用两个字节表示BMS将要发送的数据数量为0x000D=13个字节数据。“02”表示要发送此报文中的13个数据一共要发送2个包才足以容纳13个字节的数据。“FF”为保留内容。“00 06 00”表示此报文BCP对应的PGN(查看报文时可通过此数据内容找出,现在要建立连接请求的报文为协议中对应的哪个报文)。

充电机接收到BMS发送的请求发送报文后,会发送一个功能码为17的准备发送报文,通知BMS可以发送长包了。即:0x1CECF456   11 02 01 FF FF 00 06 00

0x1CECF456为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”为发送此报文的源地址为充电机。“F4”表示此报文发送的目的地址为BMS。

“11 02 01 FF FF 00 06 00”为此报文的数据内容,“11”表示功能码17准备发送,说明充电机允许BMS发送长度大于8字节的数据包。“02”表示充电机允许发送的最大数据包数。“01”表示BMS将要发送的下一个数据包的编号。“FF FF”为保留内容。“ 00 06 00 ” 表示要发送的报文为BCP。

在完成长包请求连接成功后,BMS开始发送数据包编号为1的包含数据内容的报文,

0x1CEB56F4  01 77 01 DC 05 88 13 4C  (第一包)

0x1CEB56F4  02 1D 7D C8 00 AC 0D FF (第二包)

0x1CEB56F4为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EB”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56” 此报文发送的目的地址为充电机。“F4”表示发送此报文的源地址为BMS

“01 77 01 DC 05 88 13 4C”为此报文的数据内容,第一个字节“01”表示此长包的数据包编号为1号数据包。后面的两个字节“ 77 01”表示单体动力蓄电池最高允许充电电压0x0177=375,故单体动力蓄电池最高允许充电电压3.75V(0.01V/位,0V偏移量)。后面紧跟着的两个字节“DC 05”表示最高允许充电电流0x05DC=1500,最高允许充电电流为400-150=250A(0.1A/位,—400A偏移量)。再后面两个字节“88 13”表示动力蓄电池标称总能量0x1388=5000,5000*0.1=500Kw·h(0.1Kw·h/位,0Kw·h偏移量),再后面2个字节“4C 1D”表示最高允许充电总电压0x1D4C=7500,7500*0.1=750V(0.1V/位,0V偏移量......后续数据内容参考BMS报文包含内容表格,按定义字节顺序查看并一一对应)。

BMS发送完所有2个数据包后,充电机如果判断接收完成则发送一个功能码为19的消息结束应答报文,

截包工具中显示:0x1CECF456   13 0D 00 02 FF 00 06 00

0x1CECF456为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。

“13 0D 00 02 FF 00 06 00”为此报文的数据内容,第一个字节“13”表示功能码19消息结束应答,说明充电机已经顺利接收到BMS发送的总共13个字节的数据包。“0D 00”表示充电机计算的接收到的总共0x000D=13个字节的数据。“02”表示充电机计算的接收到的总共2个数据包。“FF”为保留内容。“00 06 00 ”表示接收到得报文为PGN=00 06 00的BCP报文。

2.CTS报文

其中,SPN2823 日期/时间

1字节:秒(压缩BCD码);第2字节:分(压缩BCD码);

3字节:时(压缩BCD码);第4字节:日(压缩BCD码);

5字节:月(压缩BCD码);第67字节:年(压缩BCD码)。

报文内容:0x1807F456   14 13 20 26 08 12 20

0x1807F456为报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“07”为此报文的PGN=000700(CTS报文)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。

“14 13 20 26 08 12 20 FF“为此报文的数据内容,第一个字节“14”表示时间内容的秒。“13”表示时间内容的分。“20”表示时间内容的时。“26”表示时间内容的日。“08”表示时间内容的月。“12 20”表示时间内容的年=2012年。

3.CML报文

其中:

1)SPN2824最高输出电压

数据分辨率:0.1V/位,0V偏移量;

2)SPN2825最低输出电压

数据分辨率:0.1V/位,0V偏移量;

3)SPN2826 最大输出电流

数据分辨率:0.1A/位,—400A偏移量;

4)SPN2827 最小输出电流

数据分辨率:0.1A/位,—400A偏移量。

报文内容:0x1808F456  BA 13 9E 07 D0 0C 64 0F

0x1808F456为报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“08”为此报文的PGN=000800(CML报文)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。

“BA 13 9E 07 D0 0C 64 0F”为此报文的数据内容。

BA 13表示最高输出电压:0x13BA=5050  5050 ×0.1=505V

9E 07表示最低输出电压:0x079E=1950  1950 ×0.1=195V

D0 0C表示充电机最大输出电流:0x0CD0=3280  400-3280 ×0.1=72A

64 0F表示充电机最小输出电流:0x0F64=3940  400-3940 ×0.1=6A


4.BRO报文

报文内容:0x100956F4  AA

0x180956F4为报文ID,“10”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“09”为此报文的PGN=000900(BRO报文)。“56”表示此报文发送的目的地址为充电机。“F4” 为发送此报文的源地址为BMS。

AA 为此报文的数据内容,第一个字节“AA”表示0xAA=BMS完成充电准备(0x00=BMS未做好充电准备,0xFF=无效)。

5.CRO报文

报文内容:100AF456  00

0x100AF456为报文ID,“10”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“0A”为此报文的PGN=000A00(BRO报文)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。

”00“为此报文的数据内容,第一个字节“00”表示0x00=充电机未完成充电准备。


注意:各报文的数据内容以实际抓包的数据为准,分析方法相同。