多功能列车车辆总线通信网关研究
2022-02-27孟博洋武方达
孟博洋,武方达,郭 浩
(1.中国矿业大学(北京),北京 100083;2.北京全路通信信号研究设计院集团有限公司,北京 100070)
铁路交通的发展对于国家经济来说有着极其重要的战略地位。近年来,国外对于多功能车辆总线(Multifunction Vehicle Bus,MVB)的通信网关技术发展已经成熟,如瑞士Duagon 公司开发了一系列多功能车辆总线MVB 的网卡和I/O 设备等[1]。目前,我国高度重视并加强对MVB 网关技术的研究,取得了诸多成果,然而,不可否认的是国内市场中大部分MVB 网关产品仍然由国外的相关技术占领,且由于国外技术封锁、市场垄断,所以现阶段国内MVB 网关和国外相比仍存在一定差距。
文中针对MVB、CAN、UART 3 种总线协议,设计出一款基于自主化核心控制芯片的多功能车辆总线通信网关,完成了MVB、CAN、UART 3 种网络的组网设计,实现了MVB 总线与CAN、UART 两种总线的数据交换,从而推动我国MVB 网关技术的研究进度。该设计中使用的自主化核心控制芯片是由中国通号设计并实现的多功能车辆总线控制器芯片(以下简称MVB 芯片),该芯片在设计上完全遵循IEC61375 协议,是国内首颗通过IEC61375 协议一致性认证的自主芯片,可与其他遵循该协议的设备互联互通,可应用于高速铁路、普速铁路、城际铁路及地铁线路中[2]。
1 车辆总线及网关功能
1.1 车辆总线MVB通信协议
列车通信网络(Train Communication Network,TCN)是安装在列车上的计算机局域网络系统[3],它集计算机技术、网络控制技术、系统故障诊断技术等多种技术为一体,负责采集与传递列车信息、对车载设备进行控制、监测、故障分析以及为旅客提供信息服务[4]。IEC61375-1 将TCN 划分为绞线式列车总线(Wire Train Bus,WTB)和多功能车辆总线(MVB)[5]。WTB 是用于列车车辆间的总线,而文中研究的MVB 总线则是列车车厢内部众多车载设备之间进行数据交换的总线[6]。
MVB 是一种串行数据通信总线,其传输速率可达1.5 Mbit/s[7],可连接多达4 095 个简单传感器/执行器,为各类车载设备提供了标准的通信接口,在轨道车辆上应用广泛。
MVB 物理层有ESD(短距离电传输介质)、EMD(中距离电传输介质)、OGF(光线介质)3种传输介质[8]。MVB 总线由一个或多个总线段构成,每个总线段又分为若干段,每段可由上述传输介质中的一种担任。
在MVB 总线上传输的数据帧可分为主帧和从帧。主帧由主设备发送,从帧由从设备发送。主设备发送主帧后,从设备响应该主帧并发送相应的从帧,这样的主帧和从帧就构成了一条报文[9]。一条有效的数据帧包括起始位、主帧或从帧的起始分界符和终止分界符、一个或多个8 位CRC 序列、主帧或从帧的帧数据[10]。
1.2 网关相关的通信协议
CAN 通信协议包含5 种帧类型,分别为数据帧、遥控帧、错误帧、过载帧、帧间隔[11]。另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11 个位的标识符,扩展格式有29 个位的ID。数据帧一般由7 个段构成。
UART(Universal Asynchronous Receiver/Transmitter)串口通信协议使用的是异步,串行通信。串行通信指的是利用简单的一条线缆将数据一位一位的按顺序传输,异步通信指的是传输的单位为一个字符。在设计中,STM32 开发板自带的电平转换器SP3232,使UART 用于RS232 通信。
1.3 网关的功能
设计的网关是一种基于多功能车辆总线自主化核心控制芯片的网关,可同时完成MVB 协议与CAN/UART 两种协议之间的协议转换。对比传统网关,现研究的新型网关的通信网络模型如图1 所示。该网关可以同时挂载具有CAN 接口、RS232 接口的车辆设备,从而减轻MVB 总线负载的压力,节省网关设备,提高列车通信效率。
图1 网关通信网络模型对比图
2 网关架构及硬件设计
2.1 网关架构
MVB 通信网关总体架构如图2 所示。
图2 MVB通信网关总体架构图
2.2 硬件系统开发
网关硬件结构主要由MVB 通信网关板卡、STM32H743 微控制器、电源板卡、网络连接器及线缆等组成,如图3 所示。一方面,MVB 通信网关板卡通过FMSC 接口控制MVB 芯片,MVB 芯片通过MVB总线收发器管理MVB 总线数据的收发;另一方面,该板卡自带FDCAN 控制器,通过TJA1050 与CAN 通信介质相连,进行CAN 数据的收发,串口收发器采用STM32H743 自带的SP3232 芯片,该芯片能实现TTL 电平与RS232 电平的串口信号转换;MVB 通信网关板卡中主控制器CPU 分别实现MVB 和CAN、UART 两种总线间的数据相互转换和存储。电源板卡实现车辆110 V 直流电转换为直流5 V,为MVB 通信网关板卡和MVB 芯片提供稳定可靠的电源[12]。
另外,由中国通号自主研发的MVB 芯片是国内首颗通过IEC6175 协议一致性认可的自主芯片,也是国内首颗应用在高铁、城轨列车信号控制系统上的核心控制芯片。它具有体积小、重量轻、集成度高、利于网络的组件安装等优点,是作为MVB 总线控制器的最佳选择,有利于进行组网规划、便于组件安装[13]。
该网关在Windows 系统下进行开发,软件开发环境为keil uVision5。文中的试验平台主要由阿波罗STM32 开发板的底板、STM32H743 核心板、自主化MVB 芯片组成。通信测试前,先将MVB 芯片和STM32H743 开发板之间进行物理连线,然后通过ST_LINK 将程序下载至开发板。
3 网关功能的实现
3.1 网关软件执行流程
网关软件的程序执行流程如图4 所示。
图4 网关程序执行流程图
开始工作时,系统启动引导程序,对所有硬件进行初始化并启动操作系统内核,对CAN 接口模块及驱动芯片、UART 接口模块及驱动芯片、MVB 芯片进行初始化[14]。CAN 数据报文在缓冲区中,调用CAN发送报文程序将CAN 报文发送到MVB 总线上,当CAN 总线上有数据到达时,调用CAN 接收报文程序,将接收的数据报文存入接收缓冲区;同理,发送和接收RS232 数据报文。MVB 总线主设备发起一个主帧作为数据请求,主设备上的总线控制器定时从TM 通信存储器中读取主帧并发送主帧,相应地从设备进行响应,从TM 通信存储器中读取从帧并发送从帧,完成对MVB 报文数据的传输[15]。
3.2 软件开发
软件开发的目标是实现MVB 协议的过程数据通信,软件设计的关键机制主要分为两部分,第一部分为CAN 接口或RS232 串口和上位机通信的协议,主要包括总线协议的转换、上位机总线的控制、命令的解析、命令的发送、数据的传输等,第二部分为MVB 总线接口驱动程序。
网关软件原理模型如图5 所示。
图5 网关软件原理模型
网关软件主要由CAN/UART 控制模块、MVB 控制模块、总调度模块、数据缓冲区A、B 构成[16]。以MVB-CAN 网络的数据交换为例,CAN 应用层向MVB 网络发送CAN 数据时,总调度模块监测并指挥CAN 控制模块接收传来的CAN 数据,CAN 控制模块通过解码分析得到CAN 数据帧的标识符,根据标识符在协议转换路由表中找出相应的MVB 端口的相关变量,并将报文中的数据提取出来发送到数据缓冲区B。随后,总调度模块通知MVB 控制模块,即调用MVB 芯片驱动函数来实现对MVB 芯片的控制,并将封装好的MVB 报文发送到MVB 总线上。同理,当MVB 应用层向CAN/UART 网络发送数据时,首先,总调度模块识别到MVB 总线上有数据传输,先读取MVB 数据帧,将MVB 数据发送到数据缓冲区A,同时读取端口相关的变量,查询协议转换路由表中所对应的CAN/UART 标识符,总调度模块调度CAN控制模块提取缓冲区A 中的数据并封装打包成CAN报文/UART 报文,最后调用CAN 收发程序或UART串口收发程序将数据发送到CAN 总线或者UART 总线上。
4 网关功能的测试
网关测试过程中,MVB-CAN、MVB-RS232 分别进行双向协议转换,每种方式的协议转换测试方法是相同的,即每隔一段固定的时间,MVB 从设备通过网关向CAN 节点或UART 节点发送数据包,CAN节点或UART 节点接收到数据后,立即不加处理地返回该数据包,得到返回数据包后,计算得出延迟和报文丢失率等性能指标进而定性地描述网关性能。
经过反复大量测试,得到测试结果如表1 和表2所示。
表1 MVB-CAN协议转换网关测试结果
表2 MVB-RS232协议转换网关测试结果
通过上述测试结果可知,测试过程中基本未发生丢帧和误码的情况,初步可判断该网关能够顺利完成数据的传输。测试结果表明网关通信接口良好,达到了网关对于过程数据通信的基本要求。
5 结论
文中设计了一款MVB-CAN/UART 的通信网关,通过对网关功能和各相关通信协议的深入研究,对该网关进行软件和硬件设计,最终实现了MVB 总线和CAN 总线/UART 总线的双向数据通信及各通信协议间的转换。测试结果表明,此网关能实时、可靠地完成数据交换,这为解决不同网络间数据互联互通问题提供了新思路,使得MVB 网关研究在国产化道路上取得了创新性成果。