电动汽车的充电设备分为两种,一种是车载充电机,一种是非车载充电机。
车载充电机受整车空间和重量限制,体积小、功率小。优点是用交流插座充电方便,缺点是充电时间较长;
非车载充电机安装在车辆外部的直流充电桩内,不受整车空间和重量限制,功率大。
优点是充电速度快。
车载充电机与车辆中的电子模块通信属于车辆的内部通信,是每个主机厂定制化开发的,并不统一。但是非车载充电机是由主机厂以外的第三方设计制造的,为了适配不同品牌汽车的充电功能,它们的通信协议必须是统一标准的。今天我们就来了解下非车载充电机,也就是直流充电桩与车辆是如何通信的?
1. 充电通信概述
充电机与车辆之间的通信协议基于CAN2.0B,使用CAN扩展帧的29位标识符。
各个层次的协议符合J1939,通信速率采用250 kbit/s 。对J1939如果不熟悉,可以先看下《J1939与CAN是什么关系》这篇文章。
充电机与车辆之间的CAN 通信网络主要由充电机和车辆两个节点组成,也可在通信网络中增加适配器节点。
车辆充电过程中的电流值为负值, 当车辆或充电机接收-400 A~0 A范围以外的充
电电流值时, 应退出充电流程。
外部通讯控制器与车辆通讯控制器的网络地址是固定的,这里的外部通讯控制器
就是充电机,而典型的车辆通讯控制器是BMS,地址如下表所示:
充电机和BMS的CAN网络地址
2. 充电流程
整个充电过程包括6个阶段:物理连接完成、低压辅助上电、充电握手阶段、充电参数配置阶段、充电阶段和充电结束阶段。
充电总体流程图
物理连接就是将充电桩的充电枪插到车辆的充电插座上,充电枪插好后,充电机会闭合电子锁,电子锁是为了确保充电枪在充电过程中牢固连接,避免因外力等因素导致的意外拔出。
然后低压辅助供电回路导通,提供低压工作电压,然后才能进入正式的充电通信过程。
2.1 充电握手阶段
充电握手阶段分为握手启动阶段和握手辨识阶段, 握手启动阶段发送握手报文, 并进行充电机自检。如果自检通过, 双方进入握手辨识阶段, 交互车辆和充电机的身份及其他必要信息; 如果自检失败, 充电机会发送充电机中止充电报文。
充电握手阶段报文
2.1.1 充电机握手报文CHM(PGN9278)
充电机会在低压辅助供电回路闭合后的1s内发出第一帧CHM报文, 报文周期250 ms。
CHM报文的作用就是双方确认通信协议版本,因为不同的版本之间是无法正常通信的。
CHM报文格式
CHM报文只有1个参数SPN2600。
2.1.2 车辆握手报文BHM(PGN9984)
当BMS收到充电机握手报文BHM后, 会周期(250 ms)发送BHM报文。
BHM报文的作用是车辆要通知充电机,它能够承受的最大的充电电压,超过了这个电压,会有漏电的风险。
BHM报文格式
BHM也只有1个参数SPN2601,充电机收到这个数值后,会在充电机进行绝缘自检时控制输出电缆的绝缘监测电压。
2.1.3 充电机辨识报文CRM(PGN256)
当充电机自检完成并通过后, 会停止发送充电机握手报文 CHM , 开始周期性(250 ms)发送充电机辨识报文CRM。
CHM的作用是要辨识车辆的身份,由于它当前还不能立即辨识出车辆,所以先发出充电机自己的身份信息,同时等待车辆的辨识报文,收到后就可以辨识出车辆的身份。
具体的辨识是通过报文中的SPB2560参数完成的,在收到车辆辨识报文 BRM 报文前, SPN2560=0x00;在收到BRM报文后,SPN2560=0xAA。
CRM报文格式
CRM报文包含了3个参数SPN2560、SPN2561和SPN2562。
2.1.4 BMS和车辆辨识报文BRM(PGN512)
当车辆收到SPN2560=0x00的CRM报文后, 会周期性( 250 ms) 的向充电机发送BRM 报文, 直到接收 SPN2560=0xAA的CRM报文为止。
BRM报文的作用是辨识充电机的身份,同时发出自己的身份信息,身份信息中必须包含的是车辆通信协议版本号、电池类型, 额定容量和额定总电压。此外,还有一些可选的参数信息。
BRM报文格式
BRM包含了12个参数,前4项是必选项,后面是可选项。
此外,这个报文共49个数据字节,超过了单个报文的8个字节,所以需要使用传输协议(TP)来传输,也就是多包传输。
2.2 参数配置阶段报文
充电握手阶段完成后, 充电机和车辆进入充电参数配置阶段。 在这个阶段, 车辆会向充电机发送动力蓄电池当前电池电压, 如果该电压不在充电机输出能力范围内, 充电机判断充电参数不匹配;
车辆也可根据充电机最大输出能力判断是否能够进行充电。如果判断充电参数不匹配, 充电机和车辆会发送中止充电报文;
如果充电参数匹配, 进入充电准备就绪过程。
充电参数配置阶段报文
2.2.1 车辆充电参数报文 BCP(PGN1536)
当车辆收到充电机辨识报文CRM中的参数SPN2560=0xAA,也就是辨识成功后,车辆会周期性(500ms)发出车辆充电参数报文BCP。
BCP报文格式
BCP包含了7个参数。其中SPN2819可作为充电机过压保护的参考值。
由于该报文参数组长度超过了8个字节, 所以也需要使用传输协议进行传输。
2.2.2 充电机发送时间同步信息报文CTS(PGN1792)
充电机收到BCP报文后, 可以周期性(500ms)发出时间同步信息报文CTS 。 这个报文就是把充电机当前的时间日期信息发给车辆,车辆如何使用由车辆自己决定。
CTS报文格式
这个参数是可选项,所以也可以不发送。
2.2.3 充电机最大输出能力报文CML(PGN2048)
充电机接收BCP 报文后, 会周期性(250ms)发出充电机最大输出能力报文CML , 报文的目的是告诉车辆充电机的最大输出能力。
CML报文格式
CML报文有4个参数。
2.2.4 车辆充电准备就绪报文BRO(PGN2304)
充电参数配置成功后, 车辆会周期性(250ms)发出准备就绪报文BRO , 车辆准备就绪前SPN2829=0x00 , 准备就绪后发送 SPN2829=0xAA。
BRO报文格式
BRO报文只有1个参数。
2.2.5 充电机输出准备就绪报文CRO(PGN2560)
充电机收到SPN2829=0xAA的BRO报文后, 会周期性(250ms)发出充电机输出准备就绪报文CRO , 充电机准备就绪前SPN2830=0x00,准备就绪后发送SPN2830=0xAA。
CRO报文格式
CRO报文只有1个参数,参数使用方式与车辆充电准备就绪报文BRO 类似。
2.3 充电阶段报文
充电参数配置阶段完成后,充电机和车辆进入充电阶段。在整个充电阶段, 车辆实时向充电机发送车辆充电需求, 充电机根据车辆充电需求调整充电电压和充电电流, 保证充电过程正常进行。
在充电过程中, 充电机和车辆发送各自的充电状态。除此之外, 车辆可向充电机发送动力蓄电池具体状态信息及电压、温度等信息。
车辆根据充电过程是否正常、电池状态是否达到自身设定的充电结束条件或者是否接收充电机中止充电报文来判断是否结束充电;
充电机根据是否接收停止充电指令、充电过程是否正常、是否达到预先设定的充电参数值, 或者是否接收车辆中止充电报文来判断是否结束充电。
2.3.1 电池充电需求报文BCL(PGN4096)
双方充电准备就绪后, 车辆开始周期性(50ms)发送电池充电需求报文BCL。
充电机根据充电需求调整充电电压和充电电流, 确保充电过程正常进行。
BCL报文格式
BCL报文有3个参数,当BCL报文中的充电电压需求小于充电机的最小充电电压时, 充电机应发送 CST 报文停止充电。
充电期间, 充电需求电流应是车辆的实际需求, 不应受到充电机输出能力变化影响。
2.3.2 电池充电总状态报文BCS(PGN4352)
充电过程中,车辆还会周期(250ms)发送电池充电总状态报文BCS ,主要包括当前充电电压、充电电流等充电状态参数。
BCS 报文格式
BCS报文有5个参数,且参数组长度超过了8个字节, 也要使用传输协议进行传输。
2.3.3 充电机充电状态报文CCS(PGN4608)
充电过程中充电机也要周期(50ms)发送充电机充电状态报文CCS,包含充电机当前的充电电流、电压值等信息。
CCS报文格式
CCS报文有4个参数。
2.3.4 车辆状态信息报文BSM(PGN4864)
充电阶段车辆会周期性(250ms)发送动力蓄电池状态信息。
车辆可通过发送SPN3096=0 的BSM报文请求暂停, 车辆或充电机自发送暂停请求到暂停恢复的时间不应超过10min , 当充电机接收BSM 报文中SPN3090 ~SPN3095 中至少一项为异常状态或接收BST报文时, 充电机应发送CST报文停止充电;
当车辆检测到电池状态异常时, 应发送BST报文, 结束充电。
BSM报文格式
BSM报文有12个参数。
2.3.5 单体蓄电池电压报文BMV(PGN5376)
充电阶段车辆还可以周期(10s)性的发送单体蓄电池电压报文BMV。这个报文的参数是可选的,也就是可以不发送。
BMV报文格式
2.3.6 动力蓄电池温度报文BMT(PGN5632)
充电阶段车辆还可以周期性(10s)的发送动力蓄电池温度报文BMT。这个报文的参数页是可选的,可以不发送。
BMT报文格式
2.3.7 车辆中止充电报文BST(PGN6400)
车辆主动中止充电或接收CST报文后, 会周期性(10 ms)的发送BST报文, 报文内容应与中止原因一致。通信开始后(车辆接收 CHM 报文后)的各个阶段, 车辆都可发送 BST报文主动中止充电。车辆出现必须中止充电的异常或故障时,应发送 BST报文。
BST报文格式
BST报文有3个参数。
2.3.8 充电机中止充电报文CST(PGN6656)
充电机主动中止充电或接收BST报文后, 会周期性(10 ms)的发送CST报文, 报文内容与中止原因一致。
CST报文格式
CST报文有3个参数。
2.4 充电结束阶段报文
当充电机和车辆停止充电后, 双方进入充电结束阶段。 在此阶段车辆向充电机发送整个充电过程中的充电统计数据,包括中止SOC、电池最低电压和最高电压;
充电机接收车辆的充电统计数据后, 向车辆发送整个充电过程中的输出电量、累计充电时间等信息, 最后充电机停止低压辅助电源的输出。
充电结束阶段报文
2.4.1 车辆统计数据报文BSD(PGN7168)
车辆周期性的(250ms)发送车辆统计数据报文BSD,报文中包括充电过程中车辆相关的统计数据。
BSD 报文格式
BSD 报文有5个参数。
2.4.2 充电机统计数据报文CSD(PGN7424)
充电机周期性的(250 ms)发送充电机统计数据报文CSD,报文中包括本次充电过程中充电机相关的统计数据。
CSD报文格式
CSD报文有3个参数
3.应用示例
下面我们以1个充电过程的应用示例来了解下整个通信过程,看看上面那些报文是如何应用的。
由于报文内容比较多,所以示例分两个部分展示,首先是充电握手阶段和参数配置阶段的报文。
充电握手阶段+参数配置阶段报文
根据上面的通信报文解析可知,首先充电机发出充电机握手报文CHM,表明通信协议版本是V1.1(01 01 00);
然后BMS发出车辆握手报文BHM,表明最高允许充电电压=4000(0x0FA0)*0.1=400V。
CHM和BHM报文
双方握手后,充电机发出辨识报文
CRM,表明当前状态为未辨识(0x00),充电机的编号是00 00 00 01。
BMS收到充电机的辨识报文CRM后,会发出车辆辨识报文BRM,但是由于BRM报文超过了8个字节,所以要用多包发送,需要使用数据传输协议,这里用连接管理广播TP.CM BAM报文发送车辆辨识BRM报文,表示共7个包(0x07),49个字节(0x0031),要发送的BRM报文的PGN是000200。
数据传输协议-连接管理广播TP.CM BAM
接下来的7个TP.CM DT报文都是车辆辨识BRM报文,每个报文第1个字节表示包的序号,后面7个字节表示参数。
参数按顺序解析依次表示通信版本号V1.1(01 01 00),电池类型为铅酸电池(0x01),电池容量为900(0x0384)*0.1=90Ah,额定总电压=4000(0x0FA0)*0.1=400V。后面的参数都可选项,这里没有使用,所以数据都是FF。
车辆辨识BRM共有7个数据包(首字节序号01-07)
充电机收到车辆辨识报文后,辨识成功,再次发出充电机辨识报文CRM,表示已辨识(AA),充电机编号00000001。
辨识报文CRM-已辨识(AA)
充电机辨识成功后,BMS开始发送车辆参数BCP报文,BCP报文也是多包报文,需要通过连接管理广播发送,共13个字节(00 0D),2个包(0x02),要发送车辆参数BCP的PGN是000600。
BCP的多包报文
根据两个数据包,参数依次解析可知,单体蓄电池最高允许充电电压240(0x00F0)*0.01=2.4V;最高允许充电电流200(0x07D0)*0.1-400=-200A;动力蓄电池标称总能量230(0x00E6)*0.1=23kWh;
最高允许充电总电压=4000(0x0FA0)*0.1=400V;单体蓄电池最高允许温度90(0x5A)-50=40℃;整车荷电状态( SOC )240(0x00F0)*0.1=24%,车辆接口当前电压测量值3600(0x0E10)*0.1=360V。
充电机收到车辆参数后,发出充电机最大输出能力报文CML。
充电机最大输出能力CML报文
解析后可知,充电机最高充电电压=5000(0x1388)*0.1=500V;充电机最低充电电压=2000(0x07D0)*0.1=200V;充电机最大充电电流=3600(0x0E10)*0.1-400=-40A;充电机最小充电电流4000(0x0FA0)*0.1-400=0A。
然后BMS先发出车辆准备就绪报文BRO(未做好准备00),内部准备好后,再发出车辆准备就绪报文BRO(完成充电准备AA);充电机也是同样的过程,先发出充电机准备就绪报文CRO(未做好准备00),内部准备好后,再发出充电准备就绪报文BRO(完成充电准备AA);
BRO与CRO报文都是只有1个字节参数
完成准备后,接下来就会进入充电阶段,直至充电结束。
充电阶段+充电结束阶段报文
充电阶段,BMS首先发出电池充电需求报文BCL,其中的车辆接口充电电压需求==4000(0x0FA0)*0.1=400V,车辆接口充电电流需求2000(0x07D0)*0.1-400=-200A,充电模式为恒压充电(0x01);
然后BMS会继续发送电池充电总状态报文BCS,BCS共有9个字节,所以需要多包传输。
BCS报文有2个数据包
BCS共有两个包的报文,发出的参数为车辆接口当前电压测量值3980(0x0F8C)*0.1=398V,车辆接口当前电流测量值3200(0x0C80)*0.1-400=-80A,最高单体蓄电池电压220(0xDC)*0.01=2.2V,所在组号是06,当前荷电状态=60%(0x3C),估算剩余充电时间=25分钟(0x0019)。
接下来,充电机也会发出充电机充电状态报文CCS。
CCS报文
CCS报文表示车辆接口当前电压测量值3980(0x0F8C)*0.1=398V,车辆接口当前电流测量值3200(0x0C80)*0.1-400=-80A,累计充电时间30分钟(0x001E),充电允许(01)。
BMS会继续发送车辆状态信息报文BSM,
BSM报文
BSM报文中的参数表示最高单体蓄电池电压所在编号是06,当前单体蓄电池最高温度 86(0x56)-50=36℃,最高动力蓄电池温度检测点编号06,当前单体蓄电池最低温度70(0x46)-50=20℃,最低动力蓄电池温度检测点编号15(0F),其它状态正常(00),允许充电(10)。
当车辆充电完成时,会发出车辆中止充电报文BST,充电机也会回复充电机中止充电报文CST。
BST和CST
BST报文表示车辆中止充电原因是达到所需SOC目标值(01),无其它故障和错误(00 00 00);
CST报文表示充电机中止充电原因是车辆中止(40),无其它故障和错误(00 00 00)。
到这里,充电已经完成,进入充电结束阶段。充电结束阶段双方会发送车辆统计数据报文BSD和充电机统计数据报文CSD。
BSD和CSD
BSD报文表示中止时的荷电状态SOC是80%(0x50);单体蓄电池最低电压220(0x00DC)*0.01=2.2V;单体蓄电池最高电压180(0x00B4)*0.01=1.8V;动力蓄电池最低温度70(0x46)-50=20℃;动力蓄电池最高温度86(0x56)-50=36℃。
CSD报文表示本次充电时间是55分钟(0x0037),输出能量14kWh(0x008C),充电机编号00000001。
到此,充电过程全部结束,之后车端和充电机端会分别断开高压,充电机断开辅助电源并解开电子锁,允许拔下充电枪。
4.小结
直流充电桩与车辆之间的通信协议是基于CAN2.0和J1939制定的。通信速率为250k,主要是BMS与充电机两个节点之间的通信,BMS的ID为0xF4,充电机ID为0x56。
充电过程主要包括:物理连接完成、低压辅助上电、充电握手阶段、充电参数配置阶段、充电阶段和充电结束6个阶段。
来源:汽车电控知识