基于MVB总线的DMI与车载设备通信方法

2014-12-30 03:31:58张友兵王建敏
铁道通信信号 2014年11期
关键词:接收数据发送数据状态机

张友兵 王建敏 孙 可

在CTCS-2级列控系统中,车载设备通过多功能车辆总线 (MVB)向人机界面 (DMI)实时传递列车的位置、速度、等级、模式等重要信息,DMI在界面上以图形、文字等形式,实时显示列车的各种运行状态信息。司机通过操作DMI界面的按键,将信息及时传递给车载设备,达到调整列车运行状态的目的。所以DMI和车载设备之间传输数据的准确性非常重要。

1 MVB总线简介

根据IEC61375-1标准,列车通信网络在拓扑结构上为2层总线结构:铰链式列车总线 (WTB)和多功能车辆总线 (MVB)。WTB主要完成列车级的数据通信;MVB主要完成车辆级内部功能设备的数据通信。

当MVB用作短距离数据传输时,通常采用双绞线,在不采用中继器的情况下,传输距离可达20m。当需要长距离数据传输时,采用光纤通信,传输距离可达2km,其速率可达1.5Mb/s。MVB采用总线拓扑结构,总线上的其他设备作为从设备,在主设备的管理下完成数据的发送和接收。

MVB总线支持周期性和偶发性2种类型的数据传输,周期性数据在一个特征周期相内发送,偶发性数据是在2个周期相的间隔中按需要传输。

2 DMI与车载设备的通信原理

2.1 周期数据传输

在列车运行过程中,车载设备需要实时向DMI发送列车当前位置、实际速度、允许速度、目标速度、运行等级、运行模式、制动状态、轨道电路码等重要信息,DMI在界面上以图形、文字等形式实时显示,提示司机监控列车的运行状态。同时,DMI需要实时向车载设备报告当前状态。

车载设备和DMI之间需要彼此在每个工作周期发送给对方的数据定义为周期数据。周期数据至少需要分配2个MVB端口,一个用于车载设备向DMI传递列车速度、位置等,如图1中的端口6;另一个用于DMI向车载设备传递DMI工作状态等,如图1中的端口5。一个MVB端口可以传递的数据量有限,如果车载设备需要向DMI传递的周期数据超过了MVB端口的承载量,可以根据需要增加新的MVB端口。

图1 DMI与车载设备的通信原理图

2.2 非周期数据传输

在列车运行过程中,车载设备和DMI之间还需要传递大量非周期数据。包括车载设备需要向DMI传递的轨旁信息、线路条件、坡度信息、声音文本信息、车站名等,以及DMI需要向车载设备传递司机操作DMI时产生的按键信息。

非周期数据具有消息种类繁多、消息发送时机随机、消息长度不一致等特点,因此需在MVB协议之上建立一层用于管理非周期数据发送和接收的协议——非周期数据传输协议。

3 非周期数据传输协议

3.1 协议简介

非周期数据传输协议是介于MVB协议与DMI软件应用层或车载设备软件应用层之间的一层协议。当DMI需要向车载设备发送数据时,将待发送的数据先传递给非周期数据传输协议,由非周期数据传输协议根据待发送数据的长度,将待发送数据分割为若干个MVB帧,通过MVB总线将若干个MVB帧依次传递给车载设备侧的非周期数据传输协议,根据协议规则,从该若干个MVB帧中分离出一条条完整的数据,再将这些数据依次传递给车载设备软件的应用层。同理,车载设备使用相同的方法向DMI发送非周期数据。

非周期数据传输协议具备以下功能。

1.同步状态下正常传递数据。当DMI和车载设备两侧的非周期数据传输协议建立同步之后,在非周期数据传输协议的管理下,双方可以正常发送和接收非周期数据。

2.失去同步时可重新建立同步的功能。在同步状态中,非周期数据传输协议会实时监测DMI和车载设备。遇到异常情况时,该传输协议将自动转入不同步状态,并重新建立同步。

3.可传递长度较长的消息。当DMI存在一条长度较长的发送消息时,DMI侧的非周期数据传输协议先将消息分割为若干个MVB帧,并通过MVB总线依次发送给车载设备侧的非周期数据传输协议,然后车载设备侧再根据协议规则,把收到的若干条MVB帧组合成一条完整的消息。

4.具备同时传递多条短消息的功能。当DMI存在多条长度较短的发送消息时,DMI侧的非周期数据传输协议可通过一个MVB帧,将多条短消息同时发送给车载设备侧的非周期数据传输协议,车载设备侧接收后再根据协议规则,从MVB帧中分别提取出这些短消息。

5.具备数据丢失重传的功能。DMI向车载设备发送一条消息,如果在规定时间内收到正确的应答帧,就会继续发送下一条消息。如果在规定时间内未收到正确的应答帧,则DMI侧的非周期数据传输协议将自动转入不同步状态,在DMI和车载设备之间重新建立同步。之后,DMI侧的非周期数据传输将数据重新发送给车载设备侧的非周期数据传输协议。

3.2 协议基本原理

以图1为例,非周期数据传输协议使用1~4号共4个MVB端口,完成非周期数据的双向传输。1号和2号MVB端口为一对,用于车载设备向DMI发送非周期数据,1号端口传输的是车载设备发送给DMI的车载数据,2号端口传输的是DMI回复给车载设备的车载数据应答帧。同理,3号和4号MVB端口为一对,用于DMI向车载设备发送非周期数据。

当DMI应用层存在需要发送给车载设备数据时,先将DMI数据传递给DMI侧,按照非周期数据传输协议,通过3号MVB端口发送给车载设备。车载设备侧按照非周期数据传输协议,从3号MVB端口收到DMI数据,将DMI数据传递给车载设备应用层,同时通过4号MVB端口回复DMI数据应答帧,DMI侧的非周期数据传输协议从4号MVB端口收到DMI数据应答帧。如果判断DMI数据应答帧正确,则保持同步状态,继续向车载设备发送下一条DMI数据;如果判断DMI数据应答帧不正确,则需重新建立同步。正是通过发送数据、等待应答帧和接收数据、回复应答帧的方式,确保非周期数据可以完整无误地从一方传输给另一方。

由以上分析可知,在DMI和车载设备两侧的非周期数据传输协议之间存在2个方向的同步:一个是DMI发送数据与车载设备接收数据之间的同步,使用3号和4号MVB端口实现同步;另一个是车载设备发送数据与DMI接收数据之间的同步,使用1号和2号MVB端口实现。2个方向的同步是相互独立的,且一个方向的不同步不会影响另一个方向的同步关系。

DMI发送数据与车载设备接收数据之间的同步,由DMI侧的非周期数据传输协议主动发起同步命令,车载设备侧的非周期数据传输协议响应同步命令。同理,车载设备发送数据与DMI接收数据之间的同步,是由车载设备侧的非周期数据传输协议主动发起同步命令,DMI侧的非周期数据传输协议响应同步命令。

4 非周期数据传输协议设计

非周期数据传输协议包含发送数据状态机和接收数据状态机,分别如图2、图3所示。DMI侧的发送数据状态机,与车载设备侧的接收数据状态机之间,建立同步和数据传输关系,实现将DMI数据传输给车载设备。DMI侧的发送数据状态机负责发送DMI数据和等待DMI数据应答帧,车载设备侧的接收数据状态机负责接收DMI数据和回复DMI数据应答帧。同理,车载设备侧的发送数据状态机和DMI侧的接收数据状态机之间,建立同步和数据传输关系,实现将车载数据传输给DMI的功能。

图2 接收数据状态机

图3 发送数据状态机

为了在本方的发送数据状态机和对方的接收数据状态机之间建立同步和数据传输关系,需要设计4种类型的帧,分别是:同步命令帧、数据命令帧、突发命令帧和数据帧。

4.1 帧类型

1.同步命令帧:DMI发送数据和车载设备接收数据方向处于不同步状态时,DMI侧的非周期数据传输协议向车载设备侧发送同步命令帧,收到正确的应答帧后进入同步状态。同理,车载设备发送数据和DMI接收数据方向处于不同步状态时,车载设备侧的非周期数据传输协议向DMI侧发送同步命令帧,收到正确的应答帧后进入同步状态。

2.数据命令帧:如果一条消息长度有限,通过一个MVB帧即可发送给对方,则使用数据命令帧将该消息发送出去;如果一条消息长度较长,通过多个MVB帧才能发送给对方,则将该条消息分割成一个数据命令帧和若干个数据帧,先将数据命令帧发送出去,再将若干个数据帧依次发送出去,对方收到后,根据数据命令帧携带的长度信息和各个数据帧携带的子帧序号,就可以组合出该条消息。

3.突发命令帧:如果存在几条短消息,且这几条短消息可以通过一个MVB帧发送给对方,则使用一个突发命令帧携带这几条短消息发送给对方。

4.数据帧:当待发送消息长度较长,使用一个MVB帧无法全部发送给对方时,可拆分消息成一个数据命令帧和若干个数据帧依次发送给对方。因此,数据帧总是跟在数据命令帧的后面,和数据命令帧一起传递长度较长的消息。

4.2 接收数据状态机

1.不同步状态。收到同步命令帧,回复正确应答帧,进入已同步状态;收到其他命令帧,回复错误应答帧,保持当前状态不变。

2.已同步状态。收到同步命令帧,回复正确应答帧,保持当前状态不变;收到数据命令帧,判断收到一条完整的数据,回复正确应答帧,转入接收命令帧状态;收到数据命令帧,判断没有收到一条完整的数据,回复正确应答帧,转入接收数据帧状态,继续接收后续的数据帧;收到突发命令帧,回复正确应答帧,转入接收命令帧状态。

3.接收命令帧状态。收到同步命令帧,回复正确应答帧,保持当前状态不变;收到数据命令帧,判断收到一条完整的数据,回复正确应答帧,保持当前状态不变;收到数据命令帧,判断没有收到一条完整的数据,回复正确应答帧,转入接收数据帧状态,继续接收后续的数据帧;收到突发命令帧,回复正确应答帧,保持当前状态不变。

4.接收数据帧状态。收到同步命令帧,回复正确应答帧,保持当前状态不变;收到数据命令帧,回复错误应答帧,转入不同步状态;收到突发命令帧,回复错误应答帧,转入不同步状态;收到数据帧,判断收到的是一批数据的最后一个子帧,回复正确应答帧,转入接收命令帧状态;收到数据帧,判断收到的是一批数据的非最后一个子帧,回复正确应答帧,保持当前状态不变;收到数据帧,不是以上两种情况,回复错误应答帧,转入不同步状态。

4.3 发送数据状态机

1.不同步状态。连续3次向对方发送同步命令帧,且连续3次在规定时间内收到正确的应答帧,则转入已同步状态,否则保持当前状态不变。如果发送同步命令帧,但在规定时间内没有收到正确的应答帧,则保持当前状态不变,同步计数清零,重新发起建立同步的流程。

2.已同步状态。如果发送列表存在需要发送给对方的数据,则从发送列表中取出第一条数据作为当前需要发送的数据。如果当前需要发送的数据长度较短,则通过数据命令帧发送给对方。如果当前需要发送的数据长度较长,则将当前需要发送的数据拆分成一个数据命令帧和若干个数据帧依次发送给对方。每向对方发送一帧数据,如果在规定时间内收到正确的应答帧,则继续发送下一帧数据。如果在规定时间内没有收到正确的应答帧,则转入不同步状态。当一批数据的所有子帧均发送成功,则从发送列表中删除已经发送给对方的数据,并从发送列表中取出下一条数据作为当前需要发送的数据,开始新的数据发送流程。

5 协议分析

5.1 实时性

对于周期数据,由于已分配了专门的MVB端口,所以车载设备每个工作周期向MVB端口发送列车当前的速度、位置等重要信息,DMI每个工作周期从MVB端口读取这些数据,保证DMI能够实时获得最新的列车运行信息,并将这些信息显示在界面上。

非周期数据使用非周期数据传输协议进行传输,该协议是一种高效的数据传输协议,能以最快的速度将数据传递给对方,确保非周期数据传输的实时性。

5.2 正确性

周期数据使用MVB端口直接传递给对方,数据正确性由MVB协议保证。

非周期数据在MVB协议的基础上使用非周期数据传输协议传递给对方,数据正确性由MVB协议和非周期数据传输协议共同保证。使用非周期数据传输协议传输数据时,数据命令帧、数据帧、突发命令帧的帧头中均包含有帧长度、帧序号等控制信息,帧序号保证各个帧之间的先后顺序,帧长度保证每一帧携带的有效数据的长度。通过发送数据并回复应答帧的方式可以避免丢失数据。

5.3 可用性

在DMI和车载设备之间存在2个方向的同步,其同步关系是相互独立互不影响的,提高了非周期数据传输协议的可用性。此外发送数据状态机和接收数据状态机的设计,也提高了非周期数据传输协议的可用性。

6 结束语

介绍了一种CTCS-2级列控系统中基于MVB总线的DMI与车载设备交互数据的方法。该方法已经应用到了CTCS-2级列控系统DMI与车载设备的通信中,经过试验和分析认为该方法可以将车载设备的重要信息实时准确地传递给DMI,并可将DMI的按键信息实时准确地传递给车载设备,保证DMI实时显示列车的运行状态,为司机通过DMI有效监控列车安全高效地运行提供了技术支撑。

[1] 杨昌休.多功能车辆总线MVB关键技术的研究[M].成都:西南交通大学,2010.

[2] 宋娟,王立德,严翔,申萍.MVB协议分析装置设计及其实时性分析[J].铁道学报,2011,33(11):41 -45.

[3] 罗成.多功能车辆总线控制器的FPGA设计与开发[M].大连:大连理工大学,2009.

猜你喜欢
接收数据发送数据状态机
移动自组网中MAC层协议研究
冲激噪声背景下基于幅度预处理的测向新方法*
电讯技术(2021年10期)2021-11-02 01:25:36
基于有限状态机的交会对接飞行任务规划方法
低复杂度多输入多输出雷达目标角度估计方法
基于马尔科夫链的LoRaWAN网络节点性能分析
带标记方式的CRDSA++协议性能分析*
通信技术(2018年10期)2018-10-15 07:30:00
使用IPSec安全传输数据
单片机模拟串口数据接收程序的实现及优化
FPGA设计中状态机安全性研究
黑龙江科学(2011年2期)2011-03-14 00:39:36
基于反熔丝FPGA的有限状态机加固设计