
充电机与BMS通讯报文分析说明.doc
22页.充电机与BMS通讯报文分析说明目录一、充电总流程3二、报文分类解析3充电机与BMS通讯报文分析注:充电协议参考2012-03-01实施的最新协议一、充电总流程⑴整个充电过程包括四个阶段:①充电握手阶段 01/02②充电参数配置阶段 OA③充电阶段 1A④充电完毕阶段 1C-1F (故障诊断代码)注意:在各个阶段,充电机和BMS如果在规定的时间没有收到对方报文或者没有收到正确报文,即判定为报文接收超时,超时时间除特殊规定外均为5秒;当出现超时后,BMS或充电机发送错误报文(BEM或CEM),并进入错误处理状态注:因对协议理解不同,有些BMS厂家会在整个充电过程中发送没有超时信息的错误报文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 00 00 00分析此报文容:Ox1801F456为此报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)01”为此报文PGN(参数组编号)或者PFF4”表示此报文发送的目的地址为BMS56”为发送此报文的源地址为充电机注:查看报文时,只要看报文ID最后的两个数据:“56”则表示此报文为充电机发送出来的;“F4”则表示此报文为BMS发送出来的)00 00 00 00 00 00 00 00为此报文的数据,最前面一个字节“00”表示CRM里面的辨识结果(0x00,BMS不能辨识;0xAA,BMS能辨识)第二个字节“00”表示CRM里面的充电机编号后面的六个字节“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”表示此报文发送的目的地址为充电机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(查看报文时可通过此数据容找出,现在要建立连接请求的报文为协议中对应的哪个报文-即将发送的报文类型)充电机接收到BMS发送的请求发送报文后,会发送一个功能码为17的准备发送报文,通知BMS可以发送长包了截包工具中显示:0x1CECF456 11 06 01 FF FF 00 02 00分析此报文容:0x1CECF456为此报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。
EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据容传输)56”为发送此报文的源地址为充电机F4”表示此报文发送的目的地址为BMS11 06 01 FF FF 00 02 00为此报文的数据容,“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字节的报文数据容传输)56” 此报文发送的目的地址为充电机F4”表示发送此报文的源地址为BMS01 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报文包含容表格,按定义字节顺序查看并一一对应)在BMS发送完所有6个数据包后,充电机如果判断接收完成则发送一个功能码为19的消息完毕应答报文,截包工具中显示:0x1CECF456 13 29 00 06 FF 00 02 00分析此报文容:0x1CECF456为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据容传输)F4”表示此报文发送的目的地址为BMS56” 为发送此报文的源地址为充电机13 29 00 06 FF 00 02 00为此报文的数据容,第一个字节“13”表示功能码19消息完毕应答,说明充电机已经顺利接收到BMS发送的总共41个字节的数据包29 00”表示充电机计算的接收到的总共0x0029=41个字节的数据。
先发送低地址的数据)“06”表示充电机计算的接收到的总共6个数据包FF”为保留容00 02 00 ”表示接收到得报文为PGN=00 02 00的BRM报文至此,数据大于8个字节的长包发送和接收的过程完毕以后的长包也都是按照这个机制进行发送和接收需要注意一点的就是在接收方接收长包的数据时,接收方无法判断此时的数据容为哪个报文的数据,所以在整个充电流程中,每次只允许建立一次长包请求连接,直到接收方将数据全部接收完成才能进行下一个请求连接的允许如果上一个连接存在,数据没有接收完全,则发送方想要再次建立连接时,接收方将发送放弃连接报文,截包工具中显示:0x1CECF456 FF FF FF FF FF 00 06 00分析此报文容:0x1CECF456为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据容传输)F4”表示此报文发送的目的地址为BMS56” 为发送此报文的源地址为充电机FF FF FF FF FF 00 06 00为此报文数据容,第一个字节“FF”表示功能码255放弃连接,说明充电机之前已经有连接存在,而且数据还没有接收完全,所以不能进行下一次的连接。
后面的“FF FF FF FF ”为保留容最后面的三个字节“00 06 00”表示要建立连接的报文为PGN=00 06 00 的BCP报文至此,通过CRM和BRM之间的报文交互并按照协议规定的流程顺利接收完成,在BMS接收到CRM的辨识结果为0xAA(能辨识)的前提下,充电机和BMS会进入到下一个流程:充电参数配置阶段⑵充电参数配置阶段在上一个阶段充电握手完成后,充电机和BMS进入充电参数配置阶段在此阶段,BMS接收到充电机发送的辨识结果为0xAA的CRM报文后,先发送电池充电参数报文(BCP),充电机在接收到此报文后向BMS发送时间同步(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”为包含报文优先级(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可以发送长包了截包工具中显示:0x1CECF45611 02 01 FF FF 00 06 00分析此报文容:0x1CECF456为此报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。
EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据容传输)56”为发送此报文的源地址为充电机F4”表示此报文发送的目的地址为BMS11 02 01 FF FF 00 06 00为此报文的数据容,“11”表示功能码17准备发送,说明充电机允许BMS发送长度大于8字节的数据包02”表示充电机允许发送的最大数据包数01”表示BMS将要发送的下一个数据包的编号FF FF”为保留容 00 06 00 ” 表示要发送的报文为BCP在完成长包请求连接成功后,BMS开始发送数据包编号为1的包含数据容的报文,截包工具中显示:0x。












