
杜振环 李常贤 王宁会
(大连理工大学电气工程与应用电子技术系 大连 116023)
摘要:1999年1月,列车通讯网络TCN被IEC61375-1标准采纳。TCN由连接车辆的列车总线和连接单节车辆或车辆组的车载设备的车辆总线组成。为简化组装,试车以及子系统的重复使用,TCN将多功能车辆总路线MVB(Multifunction Vehicle Bus)规定为车辆总路线。不同设备能过MVB网络接口单元连接到MVB。本文主要论述了MVB 设备网络接口单元的设计与实现。
关键词:列车通讯网络 ;多功能车辆总线
Abstract :The TCN was adopted as the international standard IEC 61375 in 1999.1 .The TCN architecture addresses all relevant configurations found in rail vehicles. It comprises the train bus connecting the vehicles and the vehicle bus connecting the equipment aboard a vehicle or group of vehicles. To simplify assembly, commissioning, and subsystem reuse, the TCN architecture specifies the Multifunction Vehicle Bus (MVB) as a vehicle bus. Standard MVB interface is needed to connect various equipments to the vehicle bus. In this essay, design and realization of MVB device interface module are discussed.
Key Words:Train Communication Network ; Multifunction Vehicle Bus
中图分类号:TN919 文献标识码:B
1 前言
随着嵌入式控制技术和现场总线技术的发展,现代列车的过程控制已从集中型的直接数字控制系统发展成为基于网络的分布式控制系统。基于分布式控制的MVB(多功能车辆总线)是IEC61375-1(1999)TCN(列车通信网络国际标准)的推荐方案,它与WTB(绞线式列车总线)构成的列车通讯总线具有实时性强、可靠性高的特点。列车车辆的现代化的发展趋势与可靠性、安全性、通讯实时性的要求使MVB逐渐成为下一代车辆的通讯总线标准。
目前TCN 标准在国外特别是欧洲已相当普及,国内也加紧了对这一标准中关键总线技术的研制。自主研发列车通信网络设备将具有很好的市场前景和重大的意义。
- 1 -本文论述了MVB 设备网络接口单元的设计,包括该设备硬件系统和软件系统的实现方法。
2 列车通讯网络与TCN
2.1 列车通讯网络TCN与多功能车辆总路线MVB
列车通信网络(包括地铁列车、城市轻轨列车上的通信网络)是面向控制的一种连接车载设备的数据通信系统,是分布式列车控制系统的核心组成部分。
TCN将列车通信网络分为两层:用于连接各节可动态编组的车辆的列车级通信网络WTB(Wired Train Bus)和用于连接车辆内固定设备的车辆通信网络
MVB(Multifunctional Vehicle Bus)。如图2.1,列车总线和车厢总线通过网关节点连接。
图2.1 列车通讯网络的拓扑结构
Fig. 2.1 Topology of Train Communication Network
图2.2 机车内部的多功能车厢总线
Fig. 2.2 Multifunction_Vehicle_Bus in a locomotive
如图2.2,多功能车辆总线MVB是应用于一个车辆或固定车组这一特定环境下的局域网,它将位于同一车辆,或不同车辆中的标准设备连到列车通信网络上的车辆总线。
为了符合TCN标准并能方便地实现MVB设备之间的互连,各个与MVB相连的设备都必须具有统一的硬件和软件接口。
- 3 -
硬件接口主要由各个设备中的MVB 网络接口单元(或称网络接口卡)实现,网卡实现物理层信号的转换,执行数据链路层的通信规程,其基本任务是将主机或其他网络设备发送的数据送入网络,或从网络中接收其他设备发来的数据并将它送给主机;
软件接口则实现MVB 链路层服务功能,为高层提供服务及服务访问接口,从而屏蔽底层协议,提供透明的、可靠的链路通路,方便用户的使用。所有与MVB 连接的设备通过MVB 网络接口单元访问MVB 。
3 系统实现概述
3.1 硬件功能概述
如图3.1,系统实现MVB 设备网络接口单元的主要功能。其中处理器,负责用户程序以及协议的执行,总线控制器做为设备电路和物理层的接口单元,支持
IEC61375-1标准中规定的过程数据,消息数据,监视数据以及总线管理功能。冗余的MVB 总线采用RS 485标准差分信号传输。背板总线负责板级通讯。
图3.1 系统硬件框图
Fig. 3.1 System Hardware Function Block
3.2 软件功能概述
作为IEC61375-1规定的标准MVB 设备,系统软件主要包含用户应用程序,实时协议栈。系统同时还需要实时操作系统以及相关的设备驱动程序,如图3.2。实时协议栈提供了与OSI
体系结构类似的层次结构,为具体应用实现了通信机制。实时操作系统
图3.2 系统软件框图
Fig. 3.2 System Software Function Block
4 系统硬件实现
4.1 系统硬件实现原理框图
图4.1 系统硬件实现功能框图
Fig.4.1 Function Blocks of Hardware System
如图4.1,为MVB控制模块的具体硬件实现功能框图,系统分为总线控制器、处理器、存储系统、通讯存储器、其它功能外设以及通讯接口。其中MVBC02通讯控制器是机车车辆网络通讯专用芯片,实现MVB链路层以下的功能。存储器与处理器构成主处理系统,NET+50为NetSilicon的ARM7TDMI处理器,存储器包括程序存储器(FLASH)和内存空间(SDRAM)。系统通过RS485接口与MVB总线连接,背板总线采用VME总线。其它功能外设主要包括支持远程访问的以太网模块,实时时钟以及温度监测模块,电源管理以及硬件看门狗模块,JTAG 仿真器调试接口。板级供电为
5V,2.5V,3V混合供电。
5 系统软件实现
5.1 软件体系结构
- 5 -
图5.1 系统软件功能结构图
Fig. 4.1 Software Function Block
该系统的软件结构如图5.1所示,板极支持包介于物理硬件和实时操作系统之间,负责对Net+50CPU的硬件初始化,中断的产生和处理,内存地址映射,内存分配等工作;I/O驱动模块包括MVB驱动、串口/RS485驱动块、Ethernet驱动、DS1629驱动(包含I2C驱动模块),应用可以通过驱动程序接口对相应的模块进行操作; Nucleus实时操作系统内核是开放源码的抢先式多任务操作系统内核,采用软件组件的方法,包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器等,来支持工程开发;MVB协议栈软件是在实时操作系统内核的强大功能支持下,结合MVB驱动模块来完成MVB网络数据通讯的;而用户应用级可以利用MVB协议栈的接口函数访问需要的数据集,并利用收到或者发送的数据进行相应的控制或其它数据处理工作。
5.2 板级支持包
5.2.1 板级支持包BSP概述
实时操作系统普遍采用微内核结构,为了增强其可移植性,易于定制,该内核并不时只针对某特定硬件系统。访问外设都需要通过标准的系统内核接口函数,确保多任务的实时性。微内核向上支持任务,向下则通过BSP访问硬件资源。
本系统BSP由两部分组成:系统初始化程序,硬件设备驱动程序。
系统上电复位,ARM处理器系统上电后从Flash内的0地址开始执行,跳转到相应的RESET异常(exception)处理程序,开始系统初始化流程。详细流程如图5.2:
图4.2 系统BSP初始化流程图
Fig. 5.2 Sequence Diagram of System Initialization
5.2.2 实时协议(RTP)
实时协议(RTP)为一个应用与另一个应用在列车通信网络上通信提供协议和服务。这两个应用可以位于不同车辆上、在同一个车辆内或在同一个设备内。实时协议可用于多功能车辆总线(MVB)、绞线式列车总线(WTB)或有相同基本服务的其它总线的通信。
5.2.2.1 周期性通信和偶发性通信
MVB支持两种类型的数据传送:周期性数据及偶发性数据:
(1)周期性数据在一个特征周期的周期相内周期性地发送。特征周期可以是基本周期的若干倍;周期相在每个基本周期中占有一固定的部分,在周期相中总线主按预定顺序轮询各设备以获取周期性数据;这种通信称为周期性通信。
- 7 -(2)偶发性数据,它是在两个周期相的间隔中按需要传送的数据,这种通信称为偶发性通信。两个周期相间的间隔称为偶发相。图5.3是总线上时间片的例子。
MVB 和WTB总线总是处于总线主控制下,从设备即使在偶发相中也不能自发地发送。这样可维持进程数据发送的确定性。
图5.3 周期性数据和偶发性数据传送示例
Fig. 5.3 Example of Periodic_Data and Sporadic_Data transmission
5.2.2.2 被发送的数据
车辆总线传送三种类型的数据:
(1) 进程数据:
进程数据是由发行者设备至多个用户设备的广播数据,并由它们的逻辑地址来标识;总线主呼叫逻辑地址请求从源缓冲区发送给定的数据,符合该逻辑地址的用户设备将所接收的数据插进它们的缓冲区,用所收到的值覆盖先前的值。
(2) 消息数据
消息数据是从一个源设备发送到一个目标设备或是同一总线上的所有设备的面向目标的数据。每个设备都为它接收或发送的所有消息保持一对队列。只要队列中还有空间,则所接收的消息数据就插在目标设备的输入队列中;消息数据是按需要才传送的;消息服务中消息数据是以包的形式传送的。
(3) 监视数据
监视数据是在相同总线内用于监视设备状态、检测沉寂的设备、总线主权转移、总线初运行等等的数据;某些监视数据是周期性传送的,但另一些监视数据是按需传送的。
5.2.2.3 实时协议体系结构
三种链路层服务(进程数据、消息数据及监视数据)以及相应的传送模式(周期性和偶发性的)提供三种基本的服务:变量、消息和网络管理。
对于两种不同的服务模式,RTP层次结构与ISO的OSI(开放系统互联)相类似如图5.4。
图5.4 实时协议的层次结构
Fig. 5.4 Layering of the Real-Time Protocols
5.2.2.4 实时协议的通讯流程
实时协议为时间紧迫的数据或进程变量在列车通信网络上传送提供变量服务。过程变量表示当前的过程的物理状态,其传送主要用于控制、监视和命令。过程变量用于时间关键性应用,需要被及时地发送。
如图5.5:过程变量传输过程大致如下:总线主根据轮询表周期性发送包含过程变量标识的主帧到总线上,过程变量的发布者可以响应主帧,发送包含过程数据的从帧到
总路线上,预订该过程变量的从设备接收从帧。
- 9 -
图5.5 进程数据的广播
Fig. 5.5 Broadcasting of Process_Data
图5.6 OSI模型中的消息传送
Fig. 5.6 Message Transport in the OSI model
对于消息数据的传送,如图5.6,过程如下:
(1)用户应用通过呼叫任务调用应用层接口函数,在应用接口函数中进行各种配置和表操作。(2)应用接口函数调用会话层的消息发送请求函数,在消息发送请求函数中构造TCB块(message transmission control block传送层信息控制块)。(3)消息发送请求函数调用传送层的发送连接请求函数,在该函数中构造网络地址和连接请求包(CR包)。(4)发送连接请求函数调用网络层的发送函数,网络层发送函数通过查表操作得到网络层和链路层间的映射。(5)网络层发送函数调用链路层消息发送请求函数,该函数给消息数据包加上链路报头,放入消息发送队列,声明事件,并参加事件仲裁(该过程在后文介绍)。当总线管理器仲裁出本站,并点名要本站发送时,MVBC控制器将消息源端口中的消息发送出去,同时产生发送中断,判断现在发送队列是否为空,如果不为空,则将从队列中取出一个包放入消息源端口中,等待发送。(6)消息数据通过物理层到达目的站的链路层。(7)目的站收到消息后,触发中断,将消息数据从消息宿端口拷贝到接收队列,并通知网络层有消息到达。(8)网络层调用接收函数从链路层得到入境包(消息数据),并将该包放到网络层和传送层之间的队列中。(9)传送层收到连接请求包(CR包),调用会话层接口函数。(10)会话层根据情况建立连接,并使传送层反向传送一个连接确认包(CC包)。连接建立以后,发送数据包(DT包)。(11)当接收到全部消息后,会话层调用应用层接受确认接口函数,明确消息接收完毕。
6 系统可靠性设计
(1) 隔离与滤波
图6.1 包含滤波以及过电压保护的信号通道
Fig. 6.1 Signal Channel containing filter and TVS 通常在列车总线通讯环境包括多种干扰。在长距离通讯中还要预防瞬间过压。如图6.1,系统信号通道通过共模电感来抑制共模干扰,通过具备不同击穿电压的TVS来防止瞬间过压对器件的破坏。光藕则确保了主系统与外界的电隔离。
(2)印刷电路板布线、接地与屏蔽
- 11 -按照电磁兼容原理以及PCB的制造工艺要求进行PCB布线:(1)布线尽量避免平行,保证一定线间距(2)保完整的地平面以及小的接地电阻,这样可以防止接地电压的变化引起的电平波动。(3)使用屏蔽双绞线做通讯电缆。
6.1 冗余机制与数据编码
图6.2 MVB总线介质冗余机制
Fig. 5.2 Bus Medium Redundancy of MVB
列车通讯属于高可用性应用,要求总线具备高容错性,主要包括总线的可用性(Availability)和数据传输的完整性(Integrity ) 。
针对总线可用性,MVB采用了冗余机制。
(1) MVB采用了总线物理介质机制。如图6.2,总线A、B为冗余结构。数据同时
从A、B两个通道发送,从其中一通道接收,协议控制器监视正在使用的通
道,若通道长时间无响应,则协议控制器自动切换到另一通道,确保总线的
可用性。
(2) 总线主冗余,即总线管理器监视总线活动,若当前总线主无活动,则进入总线
主仲裁过程,若成功,则获得总线控制。
针对数据传输的完整性,MVB数据传输采用了曼彻斯特编码。
6.2 程序运行失常监测
图6.3 电源管理及硬件看门狗原理图
Fig. 6.3 Schematic of Power Supervision and Hardware Watch-Dog Timer
系统选用IMP706实现看门狗定时器(WDT,Watch-Dog Timer)和电压监视功能,并提供手动复位按钮。如图6.3,IMP706的第6脚(WDI)控制IMP706内部的看门狗定时器。程序运行失常时,不能定时刷新WDT,WDT产生系统复位中断,系统重新启动。
7 结 论
本文结合IEC61375-1列车通讯网络,主要论述MVB设备网络接口单元的实现。首先概述了列车通讯网络及应用,然后按照IEC61375-1中MVB 设备的系统功能,详细阐述了系统的硬件实现和软件实现。主要包括电路原理分析设计,系统板级支持包(包括设备驱动程序)移植,实时协议的通讯机制。
参考文献
[1] IEC. IEC 61375-1:1999(E) Electric railway equipment –Train bus.1999.
[2] 李常贤,吴健,宁寿辉.分布式MVB通讯控制模块.内燃机车,2005,3:20-21.
[3] 路向阳. 我国列车通信网络的发展与应用. 机车电传动.2001,6:1-5.
[4] 谢维达,赵亚辉,徐晓松. 现场总线与列车通信网络. 工业控制计算机.2002,15(1):5-10.
- 13 -
