《充电机与BMS通讯报文分析说明.doc》由会员分享,可在线阅读,更多相关《充电机与BMS通讯报文分析说明.doc(23页珍藏版)》请在金锄头文库上搜索。
1、新能源事业部充电机与BMS通讯报文分析说明目录一、充电总流程3二、报文分类解析3充电机与BMS通讯报文分析注:充电协议参考2012-03-01实施的最新协议一、充电总流程整个充电过程包括四个阶段:充电握手阶段 01/02充电参数配置阶段 OA充电阶段 1A充电结束阶段 1C-1F (故障诊断代码)注意:在各个阶段,充电机和BMS如果在规定的时间内没有收到对方报文或者没有收到正确报文,即判定为报文接收超时,超时时间除特殊规定外均为5秒;当出现超时后,BMS或充电机发送错误报文(BEM或CEM),并进入错误处理状态。(注:因对协议理解不同,有些BMS厂家会在整个充电过程中发送没有超时信息的错误报文
2、BEM或CEM)BEM:BMS接收超时的报文信息CEM:充电机接收超时的报文信息通讯协议中地址分配二、报文分类解析、充电握手阶段当充电机和BMS物理连接完成并上电后,BMS首先检测低压辅助电源是否匹配,如果匹配,双方进入充电握手阶段,并由充电机首先发送辨识报文CRM(此时的CRM辨识结果为不能辨识0x00),当BMS收到充电机发送的CRM后,发送BMS和车辆辨识报文BRM。充电机在收到BMS和车辆辨识报文BRM后,再发送辨识报文CRM(此时的CRM辨识结果为能辨识0xAA)。至此充电握手阶段完成。CRM报文包含内容:截包工具中显示此报文内容为:0x1801F456 00 00 00 00 00
3、 00 00 00分析此报文内容:Ox1801F456为此报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“01”为此报文PGN(参数组编号)或者PF。“F4”表示此报文发送的目的地址为BMS。“56”为发送此报文的源地址为充电机。(注:查看报文时,只要看报文ID最后的两个数据:“56”则表示此报文为充电机发送出来的;“F4”则表示此报文为BMS发送出来的)00 00 00 00 00 00 00 00为此报文的数据,最前面一个字节“00”表示CRM里面的辨识结果(0x00,BMS不能辨识;0xAA,BMS能辨识)。第二个字节“00”表示CRM里面的充电机编号
4、。后面的六个字节“00 00 00 00 00 00”表示CRM里面的充电机所在区域编码。BRM报文包含内容:因为此报文超过8个字节,所以发送的时候会按照J1939协议发送数据。在发送大于8个字节的数据之前,无论是充电机或者BMS会先发送一个连接请求的报文,截包工具中显示:0x1CEC56F4 10 29 00 06 FF 00 02 00分析此报文内容:0x1CEC56F4为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”表示此报文发送的目的
5、地址为充电机。“F4”表发送此报文的源地址为BMS。(此报文说明BMS想要发送数据长度大于8字节的报文,首先希望与充电机建立长包的发送连接,之后BMS开始传输数据)。10 29 00 06 FF 00 02 00为此报文的内容,“10”表示功能码16请求发送,说明此报文想要与充电机建立连接。“29 00”用两个字节表示BMS将要发送的数据数量为0x0029=41个字节数据。“06”表示要发送此报文中的41个数据一共要发送6个包才足以容纳41个字节的数据。“FF”为保留内容。“00 02 00”表示此报文BRM对应的PGN(查看报文时可通过此数据内容找出,现在要建立连接请求的报文为协议中对应的哪
6、个报文-即将发送的报文类型)。充电机接收到BMS发送的请求发送报文后,会发送一个功能码为17的准备发送报文,通知BMS可以发送长包了。截包工具中显示:0x1C EC F4 56 11 06 01 FF FF 00 02 00分析此报文内容:0x1CECF456为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”为发送此报文的源地址为充电机。“F4”表示此报文发送的目的地址为BMS。11 06 01 FF FF 00 02 00为此报文的数据内容,
7、“11”表示功能码17准备发送,说明充电机允许BMS发送长度大于8字节的数据包。“06”表示充电机允许发送的最大数据包数。“01”表示BMS将要发送的下一个数据包的编号。“FF FF”为保留内容。“ 00 02 00 ” 表示要发送的报文为BRM。在完成长包请求连接成功后,BMS开始发送数据包编号为1的包含数据内容的报文,截包工具中显示:0x1CEB56F4 01 00 01 00 03 49 02 A0分析此报文内容:0x1CEB56F4为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EB”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长
8、度大于8字节的报文数据内容传输)。“56” 此报文发送的目的地址为充电机。“F4”表示发送此报文的源地址为BMS。01 00 01 00 01 49 02 A0为此报文的数据内容,第一个字节“01”表示此长包的数据包编号为1号数据包(后续会有02、03、04、05、06号数据包)。“ 00 01 00”紧跟着后三个字节表示BMS通讯协议版本号(见BMS报文包含内容表格)。后面紧跟着的一个字节“01”表示电池类型为铅酸电池。再后面两个字节“49 02 ”表示整车动力蓄电池额定容量为0x0249=585AH(带一位小数)(后续数据内容参考BMS报文包含内容表格,按定义字节顺序查看并一一对应)。在B
9、MS发送完所有6个数据包后,充电机如果判断接收完成则发送一个功能码为19的消息结束应答报文,截包工具中显示:0x1CECF456 13 29 00 06 FF 00 02 00分析此报文内容:0x1CECF456为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。13 29 00 06 FF 00 02 00为此报文的数据内容,第一个字节“13”表示功能码19消息结束应答,说明
10、充电机已经顺利接收到BMS发送的总共41个字节的数据包。“29 00”表示充电机计算的接收到的总共0x0029=41个字节的数据。(先发送低地址的数据)“06”表示充电机计算的接收到的总共6个数据包。“FF”为保留内容。“00 02 00 ”表示接收到得报文为PGN=00 02 00的BRM报文。至此,数据大于8个字节的长包发送和接收的过程结束。以后的长包也都是按照这个机制进行发送和接收。需要注意一点的就是在接收方接收长包的数据时,接收方无法判断此时的数据内容为哪个报文的数据,所以在整个充电流程中,每次只允许建立一次长包请求连接,直到接收方将数据全部接收完成才能进行下一个请求连接的允许。如果上
11、一个连接存在,数据没有接收完全,则发送方想要再次建立连接时,接收方将发送放弃连接报文,截包工具中显示:0x1CECF456 FF FF FF FF FF 00 06 00分析此报文内容:0x1CECF456为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。FF FF FF FF FF 00 06 00为此报文数据内容,第一个字节“FF”表示功能码255放弃连接,说明充电机之前
12、已经有连接存在,而且数据还没有接收完全,所以不能进行下一次的连接。后面的“FF FF FF FF ”为保留内容。最后面的三个字节“00 06 00”表示要建立连接的报文为PGN=00 06 00 的BCP报文。至此,通过CRM和BRM之间的报文交互并按照协议规定的流程顺利接收完成,在BMS接收到CRM的辨识结果为0xAA(能辨识)的前提下,充电机和BMS会进入到下一个流程:充电参数配置阶段充电参数配置阶段在上一个阶段充电握手完成后,充电机和BMS进入充电参数配置阶段。在此阶段,BMS接收到充电机发送的辨识结果为0xAA的CRM报文后,先发送电池充电参数报文(BCP),充电机在接收到此报文后向B
13、MS发送时间同步(CST)和最大输出参数报文(CML),BMS根据接收到的CST和CML判断能否进行充电,判断结束后向充电机发送BMS完成充电准备报文(BRO),充电机在接收到BRO后向BMS发送充电机完成充电准备报文(CRO);如果BMS顺利接收到充电机发出的CRO报文则整个充电参数配置阶段完成。 BCP报文内容因为此报文数据内容为13字节(大于8字节),所以要发送多包(也就是发送长包)。在发送此报文数据之前要进行与充电机的请求连接,截包工具中显示:0x1CEC56F4 10 0D 00 02 FF 00 06 00分析此报文内容:0x1CEC56F4为此报文ID, “1C”为包含报文优先级
14、(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个数据一共
15、要发送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的包含数据内容