蒋 瑾,王长林
(西南交通大学 信息科学与技术学院,四川成都610031)
IEC 61375是IEC制定的 TCN标准,它将列车通信网络分成连接各节可动态编组车厢的绞线式列车总线WTB和连接车厢内固定设备的多功能车辆总线MVB,组成两级网络。车辆级的总线网络被称作绞线式列车总线WTB,适用于频繁改变组成的列车组。它连接各节车厢,构成列车通信主干网。WTB最显著的特色是在运行时能动态适应网络的变化[1]。车厢级的总线网络被称作多功能车辆总线MVB,适用于有固定设备组成的车厢。它连接车厢内的设备,构成车厢局域网。MVB在运行前需要人为配置设备参数,在运行时具有固定的网络结构。
MVB介质访问由单一的总线主设备来控制,一个时间段内只能有一个总线主设备,此总线主设备在轮回时间内保持对总线的控制,且它是唯一发送主帧的设备,其他设备都成为从设备,发送响应主帧的从帧。在轮回结束时,总线主设备将把控制权移交给另外一个管理器,如果没有找到合适的管理器则它又将重新获得控制权。主设备可以位于总线的任何地方,它按照某种预定的顺序对端口进行周期性轮询[2]。主设备轮询过程如图1所示。
为了保证实时变量通信确定的、不受影响的响应时间,同时使实时信息通信能充分利用剩余的带宽,MVB总线上的主设备将一个轮回周期划分为固定的时间片,这个时间片成为“基本周期”,其值为T_bp[3]。T_bp的取值范围为:
同时一个基本周期分为4相:周期相、监视相、事件相和保护相[4]。如图2所示。监视相、事件相和保护相构成偶发相。在周期相中,主设备执行对周期性数据的轮询。在事件相中,主设备执行偶发事件查询。在监视相中,主设备进行设备扫描和主权的传递。在偶发相发送之后,主设备应保留一个保护相作为缓冲,以提供下一个周期相的准确开始[3]。MVB建议在每周期中留出30%作为偶发相。对事件仲裁和发送而言,在两个周期相之间至少为8 ms,还要有一个350 μ s的偶发相。
图1 MVB主设备轮询图
图2 基本周期示意图
周期数据由一个设备发送,由所有其他设备接收。MVB包含由主设备发布的主帧以及由从设备响应主帧而发送的从帧。在MVB上传输速度v为1.5 Mb/s,主帧长度固定为33 b/s,因此发送一个主帧所需要的时间为:
类似的,从帧数据的长度有5种:33,49,81,153,297位,因此发送一个从帧所需时间分别为:
具体主、从帧结构及周期数据报文定时关系分别见图3所示。由图3可知,MVB总线完成一次报文传输的时间为:其中t_m表示发送主帧所需时间;t_ms表示从主帧到响应主帧的从帧之间的时间间隔;t_s表示发送从帧所需要的时间表示从从帧到下一主帧的时间间隔。根据IEC61375-1中报文定时的规定,考虑网络最不利情况下,主帧到响应主帧的从帧之间的时间间隔t_ms最大为42.7 μ s。从帧到下一主帧之间的时间间隔t_sm最大为42.7 μ s。因此,由式(2),(3),(4)可得出不同从帧长度下的报文传输时间分别为:
图3 报文定时关系结构图
周期扫描表是在“宏周期”的每个基本周期都被轮询的所有端口的列表。它是MVB周期信息实时调度的依据。主设备将根据每个端口要求的特征周期和在初运行期间接收到的周期数据所需要的时间来配置周期扫描表[1]。周期扫描表包括周期数据,主要是周期数据请求,也包含用于特定用途的监视数据请求或消息数据请求。
周期数据被轮询的周期称为特征周期(T_ip),其大小由应用程序决定。主设备在其特征周期内轮询每一个周期数据。在周期扫描表中的最长特征周期称为宏周期。一个特征周期等于基本周期乘上2n,但是不能超过1 024 ms,或一般地根据下式计算:如果最短的特征周期大于基本周期,则有些基本周期的周期相可以为空[4]。
根据国际电工委员会标准IEC 61375-1给出的建立周期扫描表的基本规则,设计出建立周期扫描表的过程。流程图见图4所示。
图4 建立周期扫描表的流程图
首先,输入各个端口的名称、特征周期,以及各个端口的周期数据长度等周期信息。然后,将有相同的特征周期的端口分为一组,建立对应的端口分类表。接着,读取端口分类表中的周期数据长度,计算出报文传输所需要的时间,依据各端口的特征周期值间隔地、平均地填入周期扫描表中,同时计算各个周期扫描表的报文传输所需要的时间总和值。最后,在每个周期扫描表中填入一个新的端口之前,首先要判断新填入端口的报文传输时间与已填入周期扫描表的报文传输时间的和值是否超过了基本周期时间的65%。如果和值超过了,则先判断其是否能在其他基本周期里填入,如果可以,就填进去,如果不能,就将具有最长周期的端口的特征周期加倍,加倍之后如果能填入,就继续填,如果不能就将次长特征周期加倍,直到最短的特征周期端口加倍为止。若是最短特征周期加倍之后还是无法填入,则又将最长的特征周期加倍,一直循环至周期数据传输时间和值在基本周期时间的65%以内。全部的端口都按此要求已填入周期扫描表中,那么周期扫描表填表完成。
现在假设MVB总线上有8个设备正在进行通信,其参数如表1所以。其中,特征周期由应用定义,一个报文所需要的时间由式(5)算出。经过数值分析与Visual C++6.0平台的仿真,得出这8个设备的端口分类表和周期扫描表,见表2和表3所示。
表1 MVB端口参数
表2 端口分类表
表3 周期扫描表
从表2和表3可以看出,此8个端口的最开始的端口分类表个数为3个,周期扫描表的个数为4个,在建立周期扫描表过程中,周期相的时间超出了基本周期的65%,因此,需要扩大最后一个端口的特征周期,即H端口的特征周期由4变为了8,初始化端口分类表,此时,端口分类表变为4个,重新建立周期扫描表,周期相的时间仍然超出,则扩大一倍G端口的特征周期,再初始化端口分类表,……,经过了6次的调整,周期相的时间控制在基本周期的65%之内,符合IEC 61375标准,则周期扫描表建立成功。周期扫描表的划分见图5所示,其中,省略号表明留给消息数据和监视数据的时间。
图5 周期扫描表的划分
在分析了周期数据通信方式的基础上,结合国际电工委员会标准IEC 61375中构成周期扫描表的基本规则,确定了生成周期扫描表的算法。同时说明了周期数据溢出的状况下,如何配置周期扫描表的问题。最后再根据MVB周期信息列举实例说明如何配置周期扫描表。
该研究还有许多方面值得进一步完善和扩展。如MVB总线的周期数据随着功能码的不同,每个报文所占用的时间也就不同,如何更完善的分配各个周期数据在周期扫描表的位置问题;消息数据和监视数据怎么填入轮询表等,这些都是有待继续研究和探讨的内容。
[1] 张洁卉,张蕴玉.列车通信网中MVB总线介质分配算法的研究和设计[D].武汉:华中科技大学,2006.
[2] 倪文波,王雪梅,李 芾.高速列车网络与控制技术[M].成都:西南交通大学出版社,2008.
[3] 王永翔,王立德.多功能车辆总线周期扫描表的最优化设计[J].铁道学报,2009,31(6):46-52.
[4] IEC61375-1.Train Communication Network[S].1999.
[5] 朱琴跃,谢维达,谭喜堂,等.MVB周期信息的实时调度[J].计算机应用,2007,27(12):3 108-3 115.
[6] 穆云丽,王立德.多功能接口MVB网卡在机车状态检测与故障诊断系统的应用[D].北京:北京交通大学,2009.
[7] TOVAR E,VASQUES F.Factory communications:on the configuration of the World FIP bus arbitrator table[EB/OL].[2007].http:∥www.hurray.isep.ipp.pt/asp/show_doc2.asp?id=54.