1. 引言
作为工业4.0关键部分,智能化是设备实现“四化”最重要的一环,而实现智能化就不得不给设备加上通讯接口,可以跟其他外设实现互连。
目前通讯接口有很多种类,例如RS485串口通讯 [1] ,I2C通讯,CAN通讯,这些通讯方式各有特点,I2C通讯有时钟线、数据线和地线组成,通过上拉电阻方式来实现电平转换,地线的存在决定其在稍微远一点的通讯应用上会易受干扰,不可靠。而对于RS485或者CAN总线通讯就不会存在这一点,RS485和CAN总线都是两线式传输,采用差模方式进行通讯。在低速传输上,CAN传输距离会比RS485远,RS485在低速传输速率智能到1 km左右,而CAN可以达到10 km。在总线利用率上来比较,如表1所示,RS485总线上只能有一台主机,所以通讯都由它发出,而CAN通讯则是多主从架构,可以多节点发送和接收,利用率会高很多。在错误检测机制上,CAN总线也是完胜RS485总线,RS485只定义了物理层,没有数据链路层,所以限制了它错误机制的识别能力,CAN总线可以对总线上任何错误进行识别,保护总线,从安全的角度来说,CAN总线明显优于RS485。
本文将基于CAN总线通讯的方式,拟定一份充电器的通讯协议,对当前的充电器进行改造升级,使之具有数据的上传和接收远程控制的能力。这样带有CAN总线接口的充电器可以与电池的电池管理系统以及其他带有CAN总线接口的设备互联,有利于实现智能化充电。

Table 1. Performance comparison from RS485 to CAN
表1. RS485和CAN总线性能比较
2. CAN通讯的工作原理
2.1. CAN通讯的背景和当前应用状况
CAN总线是一种用于实时传输的串行通讯协议总线,可以使用双绞线来传输信号,最早应用于汽车里各种设备间的通信,是由德国博世公司开发而来,用来取代昂贵并且笨重的配电线束,目前已广泛用于电梯控制系统、医疗仪器、纺织机械、船舶运输等领域。实时性强,传输距离远,抗干扰能力强等特点,使CAN总线规范成为国际标准,被认为是最有前途的总线技术之一。
2.2. CAN总线架构以及工作方式
CAN总线通讯采用3层模型:物理层、数据链路层和应用层 [2] 。传输介质为双绞线、同轴电缆和光纤等,速率通常为1 Mbps/40 m,50 Kbps/10 km,结点数可以达到110个。CAN的通信介质访问带有优先级的CS-MA/CA,采用多主竞争方式结构:网络上任意结点均可以在任意时刻主动地向网络上其它结点发送信息,而不分主从,即当发现总线空闲时,各个节点都有权使用网络。在发生冲突时,采用非破坏性总线优先仲裁技术,当几个节点同时向网络发送消息时,运用逐位仲裁原则,借助帧中开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响的继续发送信息,从而有效地避免了总线冲突,使信息和时间均无损失。
CAN总线系统主要由实现CAN总线协议的控制器和微处理器电路组成,如图1所示,通过物理层的连接可以完成数据链路层的所有功能,其中应用接口主要是由微处理器完成,总线上的节点都是基于微处理器的智能节点。
CAN总线采用总线式网络拓扑结构 [3] ,这种架构结构简单,成本低,通过总线连接各个网络节点,形成多主机方式的控制局域网,通过规定响应的通信协议,通过CAN控制器来完成数据的传输。
3. 智能快充的CAN总线通讯设计
3.1. CAN总线通讯的硬件设计
为了验证CAN总线在智能快速充电器的应用可行性,本文将在快速充电器上嵌入了CAN通讯接口和微处理器,对实时通讯结果进行验证,整个通讯架构如图2所示。
对于收发器模块,本文采用Philips Semiconductors的TJA1040芯片方案,如图3所示,这款芯片工作稳定,性价比高,广泛应用于工业生产中。在CAN接口部分会加入双向稳压管来应对接口端子使用过程中带来的静电或者雷击,保护芯片。

Figure 2. CAN communication framework of charger
图2. 充电器CAN通讯架构
对于微处理器模块,我们采用ST公司的STM32系列单片机,型号为STM32F042F4P6,如图4所示,这款芯片自带CAN接口,分别是PA9和PA10,无需外接晶振。同时这款芯片可以提供PWM接口用于调节充电器的电压和电流,并利用AD接口采样电压、电流和温度,可实现实时监控和调节。成本低和接口丰富使得这款芯片是不二选择。
3.2. CAN总线通讯的软件设计
对于快速充电器和电池管理系统或者其它外设之间的通讯内容,需要有标准的协议来执行。对于充电器本身对外发送数据的协议,初步拟定如表2所示,对于充电器接受数据协议如表3。

Table 2. CAN protocol sent by super Li charger
表2. 锂电池快充上报CAN协议

Table 3. CAN protocol received by super Li charger
表3. 锂电池接收CAN协议
4. CAN总线通讯测试结果
CAN总线通讯测试结果与理论分析基本一致,图5和图6分别是上位机通过USB-CAN发送接收数据的操作界面,发送和接受的数据与通讯协议一致。

Figure 5. Interface of none order by long time
图5. 长时间无指令发送界面
长时间无指令发送时,充电器认为是总线通讯有故障,所以第五位报通讯故障,显示0x10,电压电流显示为0。

Figure 6. Interface of receive by charging
图6. 充电过程中发送接收界面
当发送指令“02 1C 00 30 00 00 00 00”给电池充电器时,如图6所示,Can接收器接收到数据为“02 0F 00 31 00 00 30 00”,显示电压为52.7 V,电流为4.9 A,与设定电流4.8 A差值0.1 A,满足设计要求。
结合智能快速充电器测试实际电流电压波形如图7和图8所示,当充电器接受到开机指令,会打开充电器以默认的4 A电流充电,当接收充电电流加到6 A时,电流立即切换到6 A并稳定运行,图7显示从开机到关机整个动态过程,这个过程均由电脑结合CAN收发器远程控制,图8显示电池从正常充电切入和切出到小电流充电电池维护的过程。

Figure 7. Dynamic exchange of charging current
图7. 充电电流动态切换

Figure 8. Micro charging current exchange
图8. 充电小微电流动态切换
5. 总结
本文研究了CAN总线通讯的工作原理,通过几种通讯方式的比较得到CAN总线通讯优势,并结合智能快速充电器的实际应用,在快速充电器硬件内部嵌入了CAN收发器和微处理器,实现了充电器的数据接收和发送,最后进行了测试验证。实验结果表明,低成本的CAN总线通讯非常适合快速充电的应用。