BMS_汽车充电桩中的PGN到CAN_ID转换

1.简介

用充电桩给汽车充电的时候,或者充电桩给BMS充电时,需要通过CAN协议通讯,进行充电握手,充电需求,开始充电等等一系列交互。

BMS_汽车充电桩中的PGN到CAN_ID转换_第1张图片

汽车充电中,协议数据单元(Protocol data unit),简称PDU:是CAN通讯发送的一帧数据。而其前28位就是CAN通讯中的ID。 PDU的格式如下:

BMS_汽车充电桩中的PGN到CAN_ID转换_第2张图片

                                                                    图1  PDU格式。

其中PF是数据域对应的参数组编号(Parameter group number),简称PGN

PGN的格式如图2中的6.4参数组编号所示,一共三个字节,高低字节均为00H。

BMS_汽车充电桩中的PGN到CAN_ID转换_第3张图片

                                                               图2 PGN的高低字节为00H

2.正向分析

如果我们需要汽车给充电桩发送一条电池充电需求报文,比如要告诉充电桩,我需要600V充电电压,我能接受100A的最大充电电流来给我充电,那么汽车的BMS需要发送BCL代码 ,那么CAN的ID是多少呢?

根据图1 首先是3bit的优先级,图3中BCL的优先级是6,将十进制的6转换成二进制为110,在110后面添加两个0变成11000(添加两个0是因为保留位和数据页在标准中均为0,参照图1中的R和DP),再将00011000转换成十六进制就是18。

如图3中BCL 是00 10 00 H(PGN4096) 。代号为BCL的PGN是4096,把十进制的4096转换成十六进制为001000,根据图2中的6.4去掉前后 两个字节 剩下的是PF,值为10。(图2中PGN格式,前后俩个零是为了方便进行或操作)                                                                               

 

BMS_汽车充电桩中的PGN到CAN_ID转换_第4张图片

                                                                                           图3 BCL和BCS的报文代号                                                                       

 

此处是汽车(或者BMS)发给充电桩的,则PS是56,SA是F4。所以最后是56F4。(充电桩的地址是 56 ,汽车(或者BMS)为F4 ,国标规定的地址)。

综上,发送BCL,报文ID就是 0x181056F4。

 

3.根据ID反推含义

 如果知道ID为0x081FF456反推其含义,带入图三PDU得下图

F456表示源地址是充电桩,目标地址是汽车(或者BMS)

08二进制00001000 去掉R和DP俩个0,为10 优先权为2(0-7 7的优先级低)

1F前后加00  为001F00 转换为十进制为7936,说明PGN=7936。

查找国标中表格如图4 ,是代号为CEM,为充电机错误报文。

BMS_汽车充电桩中的PGN到CAN_ID转换_第5张图片

                                                                                             图4

参考文献:GB/T 27930

说明:

BMS和充电汽车均可使用该协议

附录 1 充电协议一览表

BMS_汽车充电桩中的PGN到CAN_ID转换_第6张图片

报文代号的首字母,为B和C。B 开头表示 BMS(汽车)到充电机,C开头表示从充电机到BMS(汽车)

 

你可能感兴趣的:(硬件,C,语言)