APP下载

基于CANopen协议的块SDO列车数据传输系统*

2019-02-26鲁猛杨世峰王帅斌朱萍玉

自动化与信息工程 2019年6期
关键词:大容量总线列车

鲁猛 杨世峰 王帅斌 朱萍玉

基于CANopen协议的块SDO列车数据传输系统*

鲁猛1杨世峰2王帅斌2朱萍玉1

(1.广州大学机械与电气工程学院 2.广州南方高速铁路测量技术有限公司)

针对火车、地铁、高铁车厢间组网和数据传输的速度及稳定性问题,提出一种基于CANopen高层协议的块SDO列车数据传输系统。在大容量传输数据系统中,块SDO比加速SDO和分段SDO更高效。本文以PLC为CANopen主设备,STM32单片机为CANopen从设备;主从设备之间采用CANopen协议的块SDO模拟列车高速、大容量数据的传输。借助CAN分析仪对3种SDO的数据进行对比试验,验证了CANopen协议的块SDO列车数据传输系统的高效性,且适合用于列车高速、大容量数据的传输。

CANopen;块SDO;大容量数据

0 引言

CAN总线具有传输距离远、速度快、站点多、可控I/O多和抗干扰能力强等特点,已成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。CANopen作为CAN总线的高层通讯协议,也是工业控制中较常用的通讯协议。Holger Zeltwanger[1]在现场总线CANopen设计与应用中提出,可将CAN总线作为列车间的通讯总线。杨伟等[2]提出将过程数据对象和服务数据应用于CANopen列车网络的方案,此方案列车间的通讯主要依靠加速SDO和PDO,在高速大容量数据传输时可能出现延迟问题。李丹[3]在CANopen协议SDO分段传输报文的研究中,提出一种传输数据更高效的CAN总线通讯方式。但分段SDO每传输完一段数据都需要进行确认,而块SDO则不需要。为此,本文提出一种基于CANopen协议的块SDO列车数据传输系统,将块SDO应用到CANopen列车数据传输中,提高列车数据传输效率。

1 CANopen协议的块SDO传输流程

块SDO传输流程主要分为写数据和读数据,在读写数据流程中又分为3个阶段:块初始化、块读写(段传输)和块读写结束。

1.1 块SDO传输写数据流程

图1 块SDO传输写数据流程

模拟列车块SDO传输写数据操作报文格式如表1所示。初始化阶段主要包括CS命令符+索引+子索引+数据的方式;通过CS命令符+数据的方式写入个块数据;同样通过CS命令符+数据的方式完成此次写块操作。

表1 块SDO传输写数据操作报文格式

1.2 块SDO传输读数据流程

块SDO传输读数据流程如图2所示。完成初始化操作后,SDO服务器不会立刻发送大量的数据给SDO客户端,当SDO客户端再次向SDO服务器发送读取数据请求报文,且SDO服务器接收到该报文后,才会发送数据给SDO客户端。每一个块发送完毕,SDO客户端确认后会发送下一个块数据,重复以上操作完成个块的发送。

模拟列车块SDO传输读数据操作报文格式如表2所示。初始化阶段主要采用CS命令符+索引+子索引+数据的方式,通过不同的CS命令符+数据确定要读取的数据数目,以此完成初始化结束操作;接着可以获取读到的数据,主要方式也是CS命令符+数据;最后通过CS命令符+数据的方式完成此次读操作。

2 车厢节点CAN控制器电路设计

2.1 CAN从节点控制电路设计

CAN从节点控制电路主要以STM32单片机为主控制电路;K1引脚用于检测和控制列车车门;K2引脚用于检测列车紧急按钮;LD1和LD2引脚用于到站指示灯。通过CAN_TX和CAN_RX引脚传输数据;通过UASRT_TX和UASRT_RX引脚驱动列车点阵屏幕显示相关信息。CAN从节点主控制电路电路如图3所示。

图2 块SDO传输读数据流程

表2 块SDO传输读操作报文格式

图3 CAN从节点单片机最小系统电路

2.2 CAN接口电路设计

CAN接口电路以TJA1050T的收发器芯片为主,该芯片负责将TTL电平转换为CAN总线上的显性和隐性电平,同时在CAN总线输出端加终端电阻,以保证列车车厢传输中总线的稳定性。CAN接口电路如图4所示。

图4 CAN接口电路

猜你喜欢

大容量总线列车
登上末日列车
关爱向列车下延伸
某大容量电驱系统配套同步电机电磁分析与计算
大容量同步电机低比转速离心风扇的设计与数值分析
穿越时空的列车
航空用大容量锂离子电池研究
一种基于CAN总线的误码测试方法
大容量光伏发电关键技术及对并网的影响
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计