摘 要:当前全球电动汽车市场份额迅猛增长,各国的电动汽车直流充电协议却不尽相同,这就使得电动汽车在不同协议标准的国家无法进行充电使用。目前国际上直流充电是以PLC通信和CAN通信为主导,现根据该需求,设计出一种基于STM32的国欧标直流充电通信转换设备,该设备一端以PLC通信与欧标直流充电桩通信,另一端以CAN通信与国标电动汽车通信,以STM32F105为控制核心进行数据交互转换,达到两套通信协议转换的目的。
关键词:CAN通信;PLC通信;STM32F105;欧标充电桩;国标电动汽车
0 引言
基于STM32主控芯片设计开发产品将是未来发展的一大趋势,尤其是在低成本的项目中其应用将尤为明显。现欧标直流充电PLC通信芯片以高通芯片QCA7005/7000为主导;主控芯片则以飞思卡尔等芯片为主,此类芯片货源管理渠道非常严格,必须从其授权的代理商购买,并且售价很高。而STM32主控芯片获取渠道非常多,供货充足,价格低廉,硬件和软件资源非常丰富,引脚兼容及软件兼容做得也非常好。
本文将以STM32为主控芯片设计开发一款国欧标直流充电通信转换设备,使得国标电动汽车可以在欧标充电桩上进行直流充电。
1 国欧标直流充电通信转换设备的总体结构
国欧标直流充电通信转换设备结构示意图如图1所示,本设备由电源部分、PLC数据通信部分、A/D转换部分、单片机部分、模拟量输出部分等组成。
工作时,PLC控制芯片首先预读FLASH中芯片所需的系统启动信息,然后PLC数据通过隔离变压器与PLC控制芯片进行交互,接着PLC控制芯片将PLC数据转换后再与单片机进行数据交互,与此同时,单片机通过CAN接口与国标电动汽车按照充电协议ISO 1939进行交互。PLC数据与CAN数据在单片机内进行数据信息处理和转换,以达到国欧标直流充电通信转换的目的。另外,在工作过程中,单片机实时通过A/D转换部分对PLC传输线电压进行监控,对于不同的电压值按照DIN 70121标准内要求进行处理。
本系统采用的PLC控制芯片为QCA7000,它可将PLC信号直接转换成可以与单片机相连的数字信号,PLC控制芯片与单片机采用SPI接口方式进行连接。
另外,国欧标直流充电通信转换设备还具有串口通信和模拟量输出的功能。串口通信主要是为了实现在设备调试过程中以及正常通信期间数据的输出,以便于在PC上进行监控。模拟量输出主要是为了输出电平信号,以激活国标电动汽车BMS进行CAN通信。
2 硬件电路的整体设计
基于STM32的国欧标直流充电通信转换设备的硬件系统主要由如下几部分组成:PLC信号输入端模块部分、QCA7000 PLC通信模块部分、单片机控制器部分、CAN通信部分等。具体如图2所示。
单片机控制器是通信设备的核心,它主要控制着整个系统的输入/输出以及PLC数据和CAN数据的传输,并协调和管理系统中各个电路功能块等。本设计中选用STM32F105单片机作为系统控制核心,该处理器接口资源丰富,能够满足本系统的各项功能需求。
2.1 PLC信号输入端模块的设计
国欧标直流充电通信转换设备PLC信号是耦合在一最高电压为DC12 V的CP线上,PLC信号经过一个1:1:1的隔离变压器与PLC控制芯片进行数据交互[1-2]。此通信物理层电路图如图3所示。
2.2 QCA7000 PLC通信模块的设计
在本设计中,QCA7000 PLC通信模块起到服务端与客户端互联通信的作用,同时与本地主控芯片进行信息交互。在硬件设计中,需要注意以下几点:
(1)电压DC1.2 V是由QCA7000芯片内核产生的,非外部供电;
(2)引脚GPIO_0、GPIO_1、GPIO_2必须引出且受控,因为这些引脚在芯片启动过程中起到關键作用;
(3)DC1.2 V电压检测引脚VREG_SWREG_FB需要连接在电感L2后,否则易引起QCA7000初始化失败问题。
QCA7000采用SPI通信方式与主控STM32F105进行连接,另外扩2M FLASH以储存QCA7000初始化所需的PIB和FW文件信息[3]。此通信物理层电路图如图4所示。
2.3 CAN总线模块的设计
此设备的CAN总线作用是应用ISO 1939通信协议与国标电动汽车进行直流充电通信,CAN控制器应用的是单片机内嵌的控制器,CAN收发器选用的是TJA1050,共模滤波器选用的是TDK-ZJY-2P01[4-5]。CAN总线物理层电路图如图5所示。
3 系统软件设计
在本设备控制系统中,软件包括PLC通信协议与CAN通信协议的转换、单片机主系统控制程序。
3.1 PLC通信协议与CAN通信协议的转换
本转换设备在通信中主要是针对PLC协议(DIN 70121)与CAN协议(ISO 1939)的转换。在协议转换过程中,采用以PLC通信协议为主、CAN通信协议为辅的控制策略,具体协议转换交互如图6所示。在两套协议交互过程中,CAN通信开始于PLC的SDP阶段,另外一个比较关键的点就是PLC通信的充电参数与发现阶段需求的参数必须由CAN通信的BCP提供,此阶段的参数一定要获取到。此外,在PLC通信的预充电阶段前要判断出是否收到CAN通信的BCL、BCS、BSM报文,这是为了满足在电动汽车直流继电器吸合的条件下再进入预充电阶段。最后就是在PLC通信电流需量阶段,一定要保证CAN通信BCL报文的实时匹配,循环收发,直到接收到CAN报文BST后停止。
3.2 单片机主系统控制程序
本控制系统以STM32F105为主控芯片,固件开发环境采用的是Keil编辑器,采用的底层库为标准库函数[6]。
在本系统中,固件主要有主程序设计、PLC通信程序设计、CAN总线通信程序设计、内置AD程序设计、串口打印程序设计、模拟量输出程序设计等。系统启动,程序从main函数开始运行,为保证该系统正常运行,首先要进行硬件和软件的初始化,包括单片机时钟配置、硬件端口配置、CAN控制器初始化、PLC控制器配置、使能定时器配置等。然后进入主程序循环,首先读取PLC接收缓存区,判断是否有数据,如果有数据,则按照DIN 70121通信协议进行PLC数据回复(没有则跳过此步骤),之后再读取CAN接收缓存区内是否有新数据,有则按照ISO 1939协议在定时器内进行回复(没有则跳过此步骤),与此同时再次判断PLC接收缓存区是否有新数据,按此方式进行循环判断。在此过程中,接收到的PLC数据与CAN发送数据和接收到的CAN数据与PLC发送的数据是传参的。具体的软件流程图如图7所示。
在PLC数据与CAN数据接收、发送过程中,可以按照需求以串口输出的方式在PC上查看数据,便于调试及故障查找。
4 系统测试
按照开发先后顺序,系统测试包括模拟测试和现场测试两个部分。
4.1 模拟测试
在开发中,模擬测试台架测试原理如图8所示。在此模拟系统中,国标电动汽车部分采用P_CAN进行通信模拟,在欧标电动汽车部分,选用欧凯诺公司的SECC欧标充电桩模拟器。
模拟测试结果如图9所示。图中左边是PLC模拟器串口输出的实时通信数据,右边是P_CAN模拟发送和接收到的数据。
4.2 现场测试
在现场测试中,国标电动汽车选用的是蔚来汽车ES8,欧标充电桩选用的是EXP的一款充电桩。现场测试结果如图10所示。
5 结语
本文主要完成了基于STM32的国欧标直流充电通信转换设备的研究与开发,包括其硬件设计和软件系统设计。此设备与欧标充电桩是以PLC方式进行连接,按照DIN 70121协议进行通信;此设备与国标电动汽车是以CAN总线的方式进行连接,按照ISO 1939协议进行通信;PLC通信数据与CAN通信数据在主控STM32F105中进行传参交互,达到国欧标直流充电通信转换的目的。
[参考文献]
[1] 邓庆,程明霄.基于低压电力载波技术的电路设计[J].微计算机信息,2008(8):298-299.
[2] 黄吉涛,武占侠,王强,等.电力载波通信技术分析和应用[J].信息记录材料,2020,21(8):133-135.
[3] 邓国荣.基于STM32 SPI接口的M25P80 FLASH的驱动设计与实现[J].机电信息,2013(6):144-145.
[4] 田希晖,张珆,张连超,等.CAN总线及其应用技术[J].微计算机信息,2002,18(9):3-5.
[5] 张凤军.基于STM32F105的汽车CAN总线控制器设计[J].中国机械,2014(23):63-64.
[6] 王飞,杜向阳.基于Keil软件的一体化螺丝刀控制器设计[J].软件,2019,40(9):75-80.
收稿日期:2021-04-07
作者简介:丁亚洲(1981—),男,吉林九台人,在职硕士研究生,主任工程师,研究方向:仪表技术。