基于CAN通信的充电桩集成监控系统设计

2020-08-04 10:43汤春球莫易敏蒋亚华
数字制造科学 2020年2期
关键词:波特率分析仪上位

韩 辉,汤春球,莫易敏,王 达,蒋亚华

(武汉理工大学 机电工程学院,湖北 武汉 430070)

电动汽车是新能源汽车注重发展的一个重要方向,近几年我国出台了多项政策,大力支持电动汽车的发展。电动汽车的使用离不开充电桩的支持,电动汽车的快速普及也促使充电桩的安装数量大幅增长。如此多的充电桩,必须配备完善的监控系统,才能保证充电桩的安全运行,同时也便于维护人员对充电桩管理。

目前工程上对于分散设备的集中监控大多采用CAN(controller area network)总线通信的方式。CAN总线最早应用于汽车总线,后来经过一系列的改进和发展,目前已经是一种具有国际性标准的串行总线。CAN总线具有抗干扰性好、实时性好、通信速率快,通信可靠性强等许多优良特性,非常适合于充电桩的集中监控设计。

1 系统总体方案

1.1 充电桩控制系统硬件组成

充电桩大致可分为两类,一类是直流充电桩,一类是交流充电桩。直流充电桩充电电流大,充电时间短,但对电池的损害较大;交流充电桩采用小电流充电,充电时间长,对电池的损害较小[1]。充电桩控制系统的硬件组成主要包括主控制器、触摸屏、存储模块、IC读卡器、传感器芯片、智能电表以及通信模块。主控制器用于控制充电桩的启动、停止、数据处理和对外通信;触摸屏作为人机交互界面,显示充电桩的运行信息;读卡器用于实现IC卡付费功能;存储模块用于存储用户信息和充电桩运行参数;传感器芯片和智能电表用于采集充电桩的电压、电流和电量等数据;通信模块负责读取其他元件数据以及与上位机通信[2]。

1.2 充电桩CAN组网形式

充电桩的CAN总线网络采用总线型拓扑,如图1所示。CAN总线的双绞线构成单一信道,所有节点都接入这条公共信道,理论上任意一个节点都可以接收总线上的数据。为了避免对不需要的数据进行解析,CAN节点可对报文标识符进行过滤,只接收特定标识符的报文。在总线首尾两端各接入一个120 Ω的终端电阻,目的是减少总线上信号反射,从而提高信号传输的稳定性[3]。

图1 CAN网络的拓扑结构

2 充电桩主控制系统的设计

2.1 系统结构功能框图

充电桩采用STM32F103ZET6芯片作为主控制器。该芯片基于ARM Cortex-M3内核设计,内置64 kB SRAM和512 kB FLASH,可支持大量代码的编写,运行速度快,带有112个IO接口,84个中断,可实现复杂的中断嵌套,此外还支持I2C、SPI、USART、RS484、CAN等多种总线[4]。

主控制芯片与各个模块之间采用的串行总线进行通信,其中主控芯片和智能电表以及人机交互模块之间的通信采用RS~485总线,这种总线拥有较强的抗电磁干扰性能,可有效提高数据传输的稳定性和准确性;与读卡器模块之间采用RS~232总线通信;与传感器模块则直接连接芯片的AD模块。主控制系统结构框图如图2所示。

图2 主控制系统结构框图

2.2 主控制系统硬件电路设计

STM32F103ZET6芯片带有RS232、RS485、CAN等总线接口,但是芯片的输出电平是TTL电平,并不满足总线通信的电平标准,因而需要外接芯片作为通信收发芯片[5]。CAN通信外接芯片采用TJA1050芯片。该芯片性能优良,传输速度快,可靠性高,抗干扰能力强,优化了CAN-H和CAN-L之间的耦合,大幅降低了电磁辐射。具体的CAN总线通信接口电路如图3所示。

图3 TJA1050芯片接口电路图

此外RS232总线和RS485总线的外接芯片分别为SP3232和SP3485,接口电路图如图4所示和图5所示。

图4 SP3232芯片接口电路图

图5 SP3485总线接口电路图

2.3 主程序控制流程

由于STM32F103ZET6芯片不带有操作系统,因而所有的数据获取和处理都是通过主循环和中断来实现的。主循环是一个while(1)的无限循环,不断轮询各个模块的数据;中断则主要处理数据的发送和充电桩状态的变更。系统运行的流程是先初始化、系统自检,自检成功后进入待机状态。当有用户刷卡时,判断磁卡是否有效,若有效则进入人机交互界面,提示用户完成充电插头连接工作,而充电桩也是通过检测插头上的CC信号来判断连接是否正常。连接成功后提示用户选择充电模式,然后再根据模式的不同判断磁卡余额是否满足充电需求,若余额不足则跳转充值界面,余额充足则开始充电。主控制系统主循环流程如图6所示。此外,定时器中断程序每隔1 s执行一次,将充电桩的实时数据和故障报警信息打包,通过CAN总线发送到上位机。

图6 系统主程序流程图

3 CAN通信设计

3.1 CAN 2.0B通信协议

本系统采用CAN 2.0B协议,他是一种基础的底层协议。该协议有两种格式,分别为标准帧格式和扩展帧格式。标准帧含有11位标识符,扩展帧含有29位标识符,二者主要的区别是ID的长度上不一样,能够扩展的CAN节点数也不一样[6]。由于停车场充电桩的数量有限,因而本系统采用CAN 2.0B的标准帧格式。标准帧的报文传输有4种不同的帧类型,分别为数据帧、远程帧、错误帧和过载帧,其中数据帧使用最为广泛,本系统也只需要使用数据帧。

通信的方式为从机主动向上位机发送数据,上位机不向从机发送查询指令,只接收数据。从机发送数据的频率为1 s一次。标准帧11位ID格式如表1所示。

表1 标准帧ID格式

地址位(ID10…ID5,5位),当主站发送数据时,该段位为接收数据的从站ID;当从站发送数据时该段位为自身设备的ID。读写标志位为0时,表示主站向从站写入数据,为1时表示从站设备发送数据。数据传输波特率设定为100 kbps。

每一帧数据帧后面可以附带8个字节的数据,根据充电桩实际所需要传输的数据制定数据传输格式,帧数据格式如表2所示。输入电压为380 V三相交流电,在传输数据时默认只传输AC相电压;对于交流充电桩而言,输出电压也是三相的,因而也默认传输AC相的输出电压和输出电流。充电桩芯片将获取的真实数据乘以10发送,当上位机接受到数据后再除以10,得到保留一位小数的真实数据,分辨率为0.1。

表2 帧数据格式

数据组合方式为:BYTE0-BYTE1,以此类推。其中索引帧号为0X01的BYTE7字节位定义如表3所示。其中1表示故障,0表示正常。

表3 故障报警字节位定义

3.2 CAN通信程序设计

CAN通信程序采用Keil5编写,配合使用ST公司为STM32系列芯片编写的库函数,这些函数已经将芯片的底层操作封装好了,用户使用时只需调用API函数即可[7]。

CAN通信程序设计包括STM芯片自身的GPIO初始化、CAN芯片的初始化、CAN通信参数的配置、CAN数据发送和接受程序,其中CAN参数的配置包括设置波特率和采样点。

在CAN通信参数的配置中,要通过位时序来设置采样点和波特率。采样点和波特率的计算公式如下:

波特率=CAN时钟/((1+CAN_BS1+CAN_BS2)×CAN_Prescaler)

sample=(1+CAN_BS1)/(1+CAN_BS1+CAN_BS2)

CAN_BS1、CAN_BS2表示两个时间段;CAN_Prescaler为波特率分频器,二者与晶振频率共同决定波特率的大小。波特率根据CAN网络节点的个数进行配置,节点数越多,波特率应设置越低。而采样点是根据波特率大小来设置的,一般来说采样点随着波特率的提高而靠前,波特率为500 kbps时,采样点应设置为80%左右。

4 上位机软件设计

计算机没有CAN接口,因此需要采用CAN转USB将CAN信号转换为计算机可读取的USB信号。本系统采用的USBCAN-II Pro分析仪,该分析仪支持两路CAN同时收发数据,支持多种CAN协议,且USB、CAN1、CAN2完全隔离,互不干扰。该分析仪提供了各种主流开发平台的驱动接口。当分析仪接收到CAN网络的数据时,保存在R-Buffer缓冲区,上位机程序调用分析仪的接口函数,请求查询接收,分析仪则将缓冲区数据发送到USB接口。如图7所示,上位机软件主要由以下4个部分组成:

(1)充电实时监控。该部分作为上位机主界面,可以实时显示各充电桩的状态和基本参数。

(2)历史充电数据记录。充电桩每一次充电记录和故障记录都会存储下来,便于后期查询分析。

(3)电能质量管理。获取充电桩在充电过程中电压、电流值数据,并绘制图表,以实现对电能质量的分析。

(4)用户管理。监控软件需要登录账户才可以使用,实现用户的权限管理。

图7 上位机监控界面

5 结论

针对数量多且分散的充电桩,设计了一种监控系统,对充电桩所要实现的功能进行了分析。确定充电桩的主控芯片和相关模块,并且提炼出充电桩与上位机通信的具体内容,根据此内容设计出充电桩与上位机之间的CAN通信协议,编写上位机监控界面。本系统采用CAN总线实现对充电桩的集成监控,设计简单方便,性能稳定,数据传输快,能很好地满足监控系统对实时性和可靠性的要求。

猜你喜欢
波特率分析仪上位
UART 波特率检测电路的FPGA 设计算法与实现
Sekisui CP3000与STA Compact Max凝血分析仪检测项目比对分析
SYSMEX XN-550全自动血液分析仪的校准及性能评价
Sievers分析仪(苏伊士)
一种用于深空探测的Chirp变换频谱分析仪设计与实现
CAN 总线波特率自适应程序设计
浅谈西门子S7—400与S7—200的通讯实现方法
特斯拉 风云之老阿姨上位
基于ZigBee和VC上位机的教室智能监测管理系统
基于VC的PLC数据采集管理系统