蔣 瑾,王長林
(西南交通大學 信息科學與技術學院,四川成都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.