直流充电桩的各种“信息流”【科普系列之十三】
2023-08-07
704
汪进进

流充电桩融合了电力电子技术、嵌入式技术和IoT技术。一款高端的充电桩,有多个MCU(为表述方便,文中将DSP、单片机、ARM等不同类型的芯片都统称为MCU),譬如能效电气自有品牌的高端充电桩U20,以及能效电气为蔚来汽车和小鹏汽车打造的高端20kW充电桩,里面总共有8个MCU,分别控制PFC、DC/DC(下文简写成DC)、CCU、TCU、蓝牙模组、4G模组、灯语,风扇,有8个嵌入式的程序。为了实现远端控制,还要开发手机APP程序,服务器程序。在PFC和DC之间,DC和CCU之间,CCU和TCU之间,TCU和云平台之间都有“通信”,包括串口通信,CAN通信或者无线通信。既然有通信,就有“通信协议”。通信协议定义了通信物理层、数据链路层及应用层。我们通常将一个或多个具有相同参数组编号的“CAN数据帧”称为“报文”。最常提及的“报文”是充电桩和车辆之间,也即CCU和BMS之间。


电力电子技术已全面进入数字控制时代。充电模块包括PFC和DC两个部分,都是采用了基于DSP或ARM的数字控制技术。PFC和DC之间有一些必要的信息交互,信息量不是很大,为节省成本考虑,一般就用串口通信方式实现。
动力电池的BMS是充电系统的大脑,充电桩里的充电控制器(CCU,Charging Control Unit)和BMS之间进行通信,两者之间采用CAN通信,有国标《GB/T 27930,电动汽车非车载传导式充电机与电池管理系统之间的通信协议》定义了两者之间的协议。远程信息控制器(TCU,Telematics Control Unit)和后台以及CCU之间进行信息交互,TCU接收CCU的信息,再传递给云平台。CCU和TCU可以分开成两个基于ARM的单板实现,也可以用一个ARM实现。CCU和TCU之间是企业的自有协议,可以采用CAN通信或串口通信。TCU通过无线通信的方式和云平台连接,对接的协议也是自有协议。这些MCU组成的系统框图如图1所示。在不同厂家的云平台之间也可以进行通信,云和云的连接有“中电联”互联互通标准、《T/CEC 102.1—2016电动汽车充换电服务信息交换》。


按国标定义,充电过程分为六大阶段,从物理连接到充电结束,充电模块有两次开机,第一次开机是为了实现绝缘检测功能,第二次开机才是真正开始充电。第二次开机之前,CCU和BMS之间按充电流程已完成物理连接,绝缘检测,充电桩和车辆电池之间参数交互、确认,并且CCU要收到云平台的开机指令。各种判断条件都满足后,CCU才向DC发出开机命令,DC再向PFC发出开机命令。整个过程中,云平台、TCU、CCU、BMS、PFC、DC之间交互各种信息,而且要遵循必要的时序。

PFC和DC之间的信息流

PFC和DC之间采用串行通信接口(Serial Communication Interface)简称:SCI,是一个双线异步串行端口,即通常所说的UART。SCI模块支持CPU和其他使用标准不归零(NRZ)格式的异步外围设备之间的通信。SCI接收器和发送器具有独立的16级深度的FIFO,并且具有独立的中断控制位,可工作在半双工模式和全双工模式下。为保证数据的完整性,SCI对接收的数据进行间断检测、奇偶校验、超时检测及帧格式检测等,通过一个16位波特率选择寄存器,可将比特率设定为超过65000个不同的速度。
PFC在接收到DC发送的数据后才向DC发送数据。PFC向DC发送的信息包括:输入交流电压值(包括单相和三相A、B、C相), 输入交流电流值(包括单相和三相A、B、C相),PFC母线电压值(包括总母线、正母线和负母线),PFC的故障位, PFC采样的温度值,PFC的运行状态(包括待机、故障、启动、运行),PFC的环路参数(Kp、Ki), 输入电压和输入电流校准值(K和B值),PFC的调试变量(上位机显示窗口,用来PFC的调试变量显示)。
DC在上电后主动给PFC发通信数据,主循环发送,发送周期为10ms,发送的信息包括:给PFC的开关机命令、 给PFC的工作模式命令(包括正向充电、并网V2G、离网、V2V、单相输入等)、给PFC母线电压的请求、4 DC的采样温度值、给PFC的输入电压和输入电流的校准K、B值设定、DC的运行状态(包括待机、故障、启动、运行)、电池电压(主要用在PFC反向输出时的功率控制)、风扇占空比请求、PFC反向输出的限流值、FCT 模式请求、静音模式请求、待机模式请求。

DC和CCU之间的信息流

DC的具体信息处理是DC控制单板,之前都是基于DSP实现的,现在流行用ARM来实现。ARM的成本更低,资源更丰富。CCU一般都是用ARM来实现的。
CCU向DC发送01和02两种ID的信息。内容包括2类:第1类:每隔250ms发送如下6种信息:1,开机     2,关机    3,电压给定   4,电流给定  5,两种不同的降额系数  6,模式(标准、静音)。  第2类:CCU随机发送查询指令,DC实时返回查询结果。DC向CCU发送20和21两种ID的信息。内容包括2类:第1类:DC每隔200ms发送4种信息:1,输出电压  2,输出电流 3,工作状态  4,主要故障。第2类:DC每隔1s发送模块的所有故障信息。主要故障信息和所有故障,是模块厂家自己定义的。

TCU和CCU之间的信息流

TCU和CCU可以合并为一个ARM的硬件平台。如采用两个ARM,它们之间的通信内容包括:

CCU主动定时向TCU发送的数据主要包括:遥信遥测定时5S间隔时间发送:当前输出电压、电流、功率、电量、SOC、BMS需求电压电流、充电模式、BMS测量充电电压电流、枪头温度、电池电压、交流输入电压、电池组相关数据;  CCU状态帧定时1s间隔时间发送:工作状态、车辆连接状态、电子锁、急停、接触器、各故障位、告警位状态。

CCU 特定状态下向TCU发送的数据主要包括:充电停止原因、BMS电池相关信息(允许充电电压电流等)、充电机输出能力、绝缘阻值、故障信息等;VIN码识别到后发送VIN码。
TCU主动定时向CCU发送的数据主要包括:远程服务是否可用。
TCU特定状态向CCU发送的数据主要包括:设置充电功率、电子锁控制、充电启动、充电停止、充电模式设置、急停命令等。

TCU 和云平台之间的信息流

TCU和云平台的协议交互,各家车企都不完全一致,但大体类似。通常包含以下内容:
1.登录信息:桩的版本信息、桩号、桩类型、枪数、网络连接信息、SIM卡信息等
2.心跳信息:TCU主动定时发送,云端回应
3.费用模型信息:不同时段的费用信息,可以由TCU向云端查询费用信息,云端下发具体费用信息
4.TCU定时上传桩的状态信息:订单号、桩号、枪号、状态、充电电压电流、枪温、累计充电时间、剩余充电时间、充电电量、故障位等
5.TCU不同阶段上传的信息:与车辆充电交互不同阶段,将充电桩和BMS交互的相关信息上报给云端(握手阶段、参数配置阶段、充电结束阶段、错误报文、中止报文、充电过程报文)
6.TCU主动向云端发起充电启动请求,云端回应
7.云端主动向TCU下发充电启动或停止,YCU回应
8.云端主动向TCU下发的设置命令:充电功率设置、对时设置、远程重启、远程升级等。YCU回应

云平台和云平台之间的信息流

充电桩的云和云互联互通,国内一般遵循《T/CEC 102.1—2016电动汽车充换电服务信息交换》标准。通信内容主要包括以下:
1.不同云平台之间的认证服务:获得互联互通的认证许可

2.运营管理云向控桩云发送请求充电命令、停止充电命令、查询充电状态

a.充电命令:订单号、桩号、枪号。控桩云返回启动结果和订单状态

b.停止充电命令:订单号、桩号、枪号。控桩云返回启动结果和订单状态

c.查询充电状态:订单号。控桩云返回:订单状态、接口状态、交流输入电压、电流、开始充电时间、本次采样时间、累计充电电量、累计电费、累计服务费、累计总金额、平均功率、当前功率


3.控桩云向运营管理云发送推送报文:启动充电结果、充电状态、停止充电结果、充电订单信息、设备状态变换、订单对账结果

a.启动充电结果、充电状态、停止充电结果与上面内容相同,运营管理云收到后返回确认信息

b.充电订单信息:运营商编码、时间戳、订单号、开始充电时间、结束充电时间、充电量、总电费、总服务费、累计金额、充电结束原因。运营管理云收到后返回确认信息

c.设备状态变换:运营商编码、时间戳、订单号、充电桩接口状态、车位状态、地锁状态、故障详情、故障原因、处理措施。运营管理云收到后返回确认信息

d.订单对账结果:运营商编码、时间戳、订单对账流水号、开始充电时间、结束充电时间、订单数量、总电量、总金额、订单列表、充电订单号、累计充电电量、累计总金额。运营管理云收到后返回:订单对账流水号、开始充电时间、结束充电时间、争议订单数量、总电量、总金额、订单列表、充电订单号、累计充电电量、累计总金额


CCU和BMS之间的信息流

如前述,CCU和BMS之间的通信协议由国标27930定义。CCU和BMS之间总共有22种报文,报文代号和报文描述整理如下。整个充电过程,请参考我们之前的文章。
直流充电桩充电过程详述(下•专业版-001):充电控制时序从T0到T3,物理连接完成,低压辅助上电︱“充电桩之芯及其它”系列之七
直流充电桩充电过程详述(下• 专业版-002):充电握手,绝缘检测和电压泄放,从T4到T11︱“充电桩之芯及其它”系列之八
直流充电桩充电过程详述(下• 专业版-003):充电参数配置-充电-充电结束,从T12到T21︱“充电桩之芯及其它”系列之九


扫码充电过程的信息流

手机扫码到充电结束的信息流如下:
• 用户用手机扫描充电桩屏幕上的二维码。
手机APP(或小程序)获取二维码包含的充电桩唯一编码和枪口序号,用户点击启动或者停止按钮时,手机会通过运营商无线网络 ( 网络协议 https) 将启动 / 停止这样的操作命令、充电桩唯一编码、枪口序号以及用户在 app 中唯一识别号一起作为一包数据发往阿里云 ECS 服务器。
• 阿里云 ECS 服务器接收到上面的一包完整数据以后,判断用户身份,用户权限,用户余额,当确认用户有权开机,该服务器最终通过运营商无线网络 ( 物联网协议 TCP/IP,MQTT) 将向充电桩下发一个启动 / 停止命令数据包包含启动 / 停止命令等信息。
• 充电过程中桩定时(10秒)向阿里云 ecs服务器上报当前电量,电费,电压,电流,桩和枪口唯一识别号等信息。信息通过运营商无线网络 ( 物联网协议 TCP/IP,MQTT) 发往阿里云 ECS 服务器。
• 充电过程中,用户刷新APP查看充电过程中的电量,电费信息时,手机会通过运营商无线网络 ( 网络协议 https) 向服务器发送一个查询命令,查询命令也包含充电桩唯一编码,枪口序号以及用户在 APP中唯一识别号。阿里云 ECS 服务器收到以后判断用户身份,用户权限,查找到暂存在服务器中的充电桩最新实时充电的数据,通过运营商无线网络 ( 网络协议 https) 返回到手机APP,刷新显示数据。



使用微信小程序,手机收发的数据都是通过腾讯的云服务器再转发的阿里云的服务器。但在理解整个数据流工作机制可以忽略这一点,也就是当做没有腾讯的服务器。与充电桩直连的是阿里云的物联网服务器(MQTT),理解数据流工作机制的时候也可以忽略。在理解充电系统时,可简单认为手机APP的数据和桩的数据都连接到一台在阿里云的 ECS 云服务器,或者理解成腾讯的服务器和阿里云物联网 MQTT 服务器和阿里云 ECS 服务器合成为一个阿里云 ecs 服务器。 






返回上一级