目录
1.通讯单元
1.1can数据帧
1.1.0 硬件数据单元
1.1.1协议数据单元(PDU)
1.1.2参数组编号(PGN)
1.1.3可疑参数号(SPN)
2.充电流程,数据交互流程
2.1 BMS与充电机具体流程分析
3.时间限制
4.数据协议
5.传输协议
5.1传输协议-连接管理主要有这几个部分
5.2 数据传输(TP.DT)
6.参考资料
1.通讯单元
1.1can数据帧
1.1.0 硬件数据单元
bms与充电机之间通过can扩展帧格式通讯,通讯速率一般为250K(在通讯环境恶劣的情况下供电设备制造商与汽车制造商协商一致可用50kbits)
1.1.1协议数据单元(PDU)
1.1.2参数组编号(PGN)
在bms与充电机通讯的PGN由三个字节组成第2字节为PDU的 PF值高低字节均为0x00
EDP = 0
DP = 0
PDU = 0(使用数据单元PDU1格式)
1.1.3可疑参数号(SPN)
有两处应用,代表信号或诊断故障位置。在通信DBC中,每一个信号就是一个SPN。SPN是SAE协会规定的序号用来表示某一项功能报文的代号(并不出现在报文中)。
例如:
PGN9728 报文功能:当充电机和电动汽车物理连接完成并上电,且电压检测正常后,由充电机向BMS每隔250ms发送一次充电机握手报文,用于确认双方是否握手正常。报文格式见表8.
PGN9984 报文功能:当bms收到充电机握手报文后,向充电机每隔250ms返回bms握手报文,提供BMS最高允许充电总电压。报文格式见表9.
报文功能:充电参数配置阶段BMS发送给充电机的动力蓄电池充电参数,如果充电机在5s内没有收到该报文,即为超时错误充电机应立即停止充电。PGN1536报文格式见表12.
这里的SPN就是SAE协会规定的编号,并不在报文内,他只是个序号,与规定PGN的每个字节含义的表相对应。
2.充电流程,数据交互流程
2.1 BMS与充电机具体流程分析
BMS与充电机之间的通过can数据帧通讯,小于8字节数据的PGN使用一个CAN帧周期传输,传输大于8个字的PGN使用传输协议发送,bms与充电机之间沟通需要根据充电流程进行收发控制。
visiso原图地址:流程图原文件
3.时间限制
根据充电桩与BMS的国标要求,对充电的各个环节的控制与通讯都有一定的时间要求:
项目 | 单位ms |
锁枪 | 5000 |
闭合K3,K4等待接收BHM | 5000 |
泄放到60V以下 | 5000 |
CRM后等待BRM | 5000 |
CRM SPN2560=0xAA后等待BCP | 5000 |
CRO SPN2830=0xAA后BCL BCS的间隔 | 1000 |
4.数据协议
在国标中数据协议是按充电流程来进行分组的,根据不同的充电阶段进行相应的数据交互数据的PGN有:
数据区分说明:相对于2011国标2015国标增加了CHM(充电机握手) BHM(车辆握手),在流程上2011经过CRM(充电机辨识报文) , BRM(BMS和车辆辨识报文)交互之后直接进入充电参数配置阶段,而2015国标增加了绝缘检测功能,使用CHM和BHM报文的数据。
5.传输协议
在充电机BSM交互的过程中小于等于 8个字节,则需要使用传输协议,接着对传输协议进行简单的介绍。
CAN扩展帧能代表的数据如图:
一共29位ID,分成 6 个部分
- 优先级 P (3BIT)
- 保留位 R(1BIT) 一直为0
- 数据页 DP(1BIT) 一直为0
- PGN的中间字节 PF (8BIT)主要用来表示数据单元格式
- 目的地址 PS(8BIT)目标地址(这里是bms或者充电机地址)
- 源地址 SA(8BIT)源地址(这里是bms或者充电机地址)
剩余部分都是数据。
在PGN参数数据小于8字节的时候直接使用该帧直接发送,大于8字节的时候使用传输协议。传输协议在SAE J1939-21这有比较详细的讲述,这里我使用一帧BMS与充电机的交互数据举例说明具体流程。
首先要明白的是传输协议分为两个部分:
- 连接管理 TP.CM
- 数据传输 TP.DT
5.1传输协议-连接管理主要有这几个部分
- 连接模式下的请求发送(TP.CM_RTS)
- 字节: 1 控制字节=16,指定目标地址请求发送(RTS)
2,3 整个消息大小,字节数目
4 全部数据包的数目
5 保留给 SAE 设定使用,该字节应设为 FF 16
6-8 所装载数据的参数群编号 - 示例
- 字节: 1 控制字节=16,指定目标地址请求发送(RTS)
- 连接模式下的准备发送(TP.CM_CTS)
- 字节: 1 控制字节=17,指定目标地址准备发送(CTS)
2 可发送的数据包数目
3 下一个将要发送的数据包编号
4,5 保留给 SAE 设定使用,该字节应设为 FF 16
6-8 所装载数据的参数群编号 - 示例
- 字节: 1 控制字节=17,指定目标地址准备发送(CTS)
- 消息结束应答(TP.CM_EndofMsgAck)
- 字节:1 控制字节=19,消息结束应答
2,3 整个消息大小,字节数目
4 全部数据包的数目
5 保留给 SAE 设定使用,该字节应设为 FF 16
6-8 所装载数据的参数群编号 - 示例
- 字节:1 控制字节=19,消息结束应答
- 放弃连接(TP.CM_Abort)
- 字节:1 控制字节=255,放弃连接
2-5 保留给 SAE 设定使用,该字节应设为 FF 16
6-8 所装载数据的参数群编号 - 示例
- 字节:1 控制字节=255,放弃连接
- 广播公告消息(TP.CM_BAM)(这个在BMS与充电机之间不使用)
- 字节: 1 控制字节=32,广播公告消息(BAM)
2,3 整个消息大小,字节数目
4 全部数据包的数目
5 保留给 SAE 设定使用,该字节应设为 FF 16
6-8 所装载数据的参数群编号
- 字节: 1 控制字节=32,广播公告消息(BAM)
连接管理说明,当BMS发送RTS帧之后,充电机接收到该帧报文发送CTS准备发送报文,接着BMS开始发送数据报文,当充电机接收完数据报文之后再发送一个ACK回应,本次传输协议连接消息传输结束。
NOTE:连接管理的PGN是 0xEC(236)
5.2 数据传输(TP.DT)
在连接管理接收端(以上示例是充电机)发送CTS准备发送这个报文之后开始接收报文,BMS开始发送报文,发送报文PGN使用传输协议的固定数据PGN 0xEB(235)发送报文示例:
因为一个CAN帧每次只能传送8个字节,第一个字节是数据页序号,所以每次只能传送7个有效数据,当传输的数据是7的整数倍的时候,刚好可以传送整数个数据帧,当传输数据不是7的整数倍的时候后面的数据就补0xFF保证每次发送8个字节。
编写的execl文件:BMS与充电机需要交互的数据总结
以上是对SAE1939-21和国标的分析,具体请参考标准文件,如有错误之处请小伙伴在评论区留言讨论哦!
6.参考资料
SAE J1939-21
商用车网络设计利器—SAE J1939协议 – 知乎
GB/T 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议
GB/T 27930-2011 电动汽车非车载传导式充电机与电池管理系统之间的通信协议
【电车资源|新能源汽车互联网平台】_电动汽车网_新能源货车之家|报价|资讯|评测
需要资料的,可以申请加入QQ群,以上的资料会分享到QQ群文件里,资料会逐渐增加,欢迎大家在里面分享交流充电桩电动汽车行业知识。
点击链接加入群聊【充电桩bms行业交流群】:https://jq.qq.com/?_wv=1027&k=OKaNm8ki
企鹅群号码:590223536