劉 峰, 胡黃水*, 王宏志, 王 博
(1.長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,吉林 長春 130012;2.長春市軌道交通集團有限公司,吉林 長春 130062)
多功能車輛總線(Multifunction Vehicle Bus,MVB)和絞線式列車總線(Wired Train Bus,WTB)構(gòu)成了列車通信網(wǎng)絡(luò)總線(Train Communication Network,TCN),它具有實時性強、可靠性高、冗余和容錯性能良好的特點,在高鐵、動車等領(lǐng)域中得到了廣泛的應(yīng)用[1]。
目前國內(nèi)外學(xué)者已對MVB網(wǎng)絡(luò)從各個方面進行了研究,文獻[2]對多功能車輛總線事件仲裁進行了優(yōu)化和設(shè)計;文獻[3]對MVB基帶傳輸系統(tǒng)的帶寬以及傳輸介質(zhì)信道特性等進行了廣泛研究。在MVB網(wǎng)絡(luò)通信建模方面,文獻[4]采用Petri網(wǎng)建模方法對MVB網(wǎng)絡(luò)單純過程數(shù)據(jù)通信的吞吐性能進行了分析;文獻[5]采用集成在Simulink之中的Stateflow圖形化設(shè)計開發(fā)工具對MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信進行建模與仿真,分析MVB網(wǎng)絡(luò)的實時性能?,F(xiàn)有模型通常針對MVB網(wǎng)絡(luò)某方面研究內(nèi)容而建,缺乏通用性;所建模型對MVB網(wǎng)絡(luò)性能的分析內(nèi)容比較單一而且沒有可視效果,而OMNeT++網(wǎng)絡(luò)仿真平臺具有強大完善的圖形界面接口,可以直觀體現(xiàn)MVB網(wǎng)絡(luò)數(shù)據(jù)通信過程,同時具備方便快捷的編程調(diào)試和跟蹤支持等功能。
因此,文中采用OMNeT++網(wǎng)絡(luò)仿真平臺,建立MVB網(wǎng)絡(luò)模型及過程數(shù)據(jù)實時性計算模型,并通過分析和測試MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信的性能來對模型進行驗證。
MVB總線網(wǎng)絡(luò)主要負(fù)責(zé)車廂內(nèi)設(shè)備的連接,其數(shù)據(jù)傳輸速率為1.5Mbit/s,響應(yīng)速度快,傳輸介質(zhì)為屏蔽雙絞線或光纖。MVB總線上掛接的所有設(shè)備有固定的地址和結(jié)構(gòu),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為總線型結(jié)構(gòu)的主從模式。MVB網(wǎng)絡(luò)中在同一工作時間內(nèi)有一個總線主設(shè)備(總線管理器),負(fù)責(zé)控制整個車廂內(nèi)各從設(shè)備對MVB總線的訪問。IEC61375標(biāo)準(zhǔn)對MVB的拓?fù)浣Y(jié)構(gòu)、幀格式等技術(shù)特點進行了詳細規(guī)定,現(xiàn)進行簡單介紹[1]。
MVB總線網(wǎng)絡(luò)物理層結(jié)構(gòu)由一個或者多個總線段構(gòu)成,其中總線段包括:電氣短距離介質(zhì)(ESD),在無電氣隔離情況下,20.0m傳輸范圍內(nèi)可支持設(shè)備數(shù)最大為32個;電氣中距離介質(zhì)(EMD),在200.0m的傳輸范圍內(nèi),每段可支持設(shè)備數(shù)最大為32個;光纖介質(zhì)(OGF),通過星耦器匯出,傳輸距離可達2.0km。
圖1 MVB網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
MVB的拓?fù)浣Y(jié)構(gòu)如圖1所示。圖中各個總線段經(jīng)由連接不同介質(zhì)的中繼器或者將光纖匯入總線的星耦器兩種方式相互連接。
MVB總線網(wǎng)絡(luò)有兩種幀格式:一種幀為由MVB總線主設(shè)備(總線管理器)發(fā)出的主幀;另一種幀為響應(yīng)主幀而由源設(shè)備發(fā)出的從幀。如圖2所示。
圖2 主從幀格式
主幀包括:起始分界符、16位幀數(shù)據(jù)及8位校驗序列。
從幀包括:始分界符及16、32、64、128或256位幀數(shù)據(jù)組成。
其中在每64個數(shù)據(jù)位后面附加上一個8位的校驗序列,如果幀數(shù)據(jù)只有16或32位時,則將一個8位的校驗序列附加在幀數(shù)據(jù)后面。
基于OMNeT++網(wǎng)絡(luò)仿真平臺[6],通過拓?fù)涿枋稣Z言(.ned語言)分別構(gòu)建MVB網(wǎng)絡(luò)節(jié)點、MVB網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、過程數(shù)據(jù)通信及過程數(shù)據(jù)實時性計算模型。
采用拓?fù)涿枋稣Z言的簡單模塊和復(fù)合模塊建立MVB節(jié)點模型,包括主設(shè)備節(jié)點模型和從設(shè)備節(jié)點模型。其中簡單模塊包括parameters和gates字段,這部分用C++語言進行描述定義。簡單模塊可以被復(fù)合模塊所嵌套,通過嵌套將MVB網(wǎng)絡(luò)中的總線管理器(主設(shè)備節(jié)點)和車廂內(nèi)各設(shè)備(從設(shè)備節(jié)點)抽象為復(fù)合模塊,進行MVB網(wǎng)絡(luò)節(jié)點的建模[7]。
主從設(shè)備節(jié)點模型如圖3所示。
圖3(a)為主設(shè)備節(jié)點模型,其中包括Data_Sources、TxS_0、RxS_0、Data_Process0四個簡單模塊,其中Data_Sources簡單模塊為數(shù)據(jù)源,通過指定的分布函數(shù)發(fā)送事先定義好的周期掃描表中的主幀;RxS_0為MVB總線接收器,主要負(fù)責(zé)接收MVB總線上的數(shù)據(jù);TxS_0為MVB總線發(fā)送器,主要負(fù)責(zé)把數(shù)據(jù)發(fā)送到MVB總線上;Data_Process0模塊負(fù)責(zé)數(shù)據(jù)處理。
圖3 主從設(shè)備節(jié)點模型
圖3 (b)為從設(shè)備節(jié)點模型,其中包括MVB總線發(fā)送器TxS_1,負(fù)責(zé)把數(shù)據(jù)發(fā)送到MVB總線上;MVB總線接收器RxS_1,負(fù)責(zé)接收MVB總線上的數(shù)據(jù);數(shù)據(jù)處理模塊為Data_Process1。
OMNeT++仿真平臺的運行需要給出MVB網(wǎng)絡(luò)的定義,其中一個完整的網(wǎng)絡(luò)包括一個或多個模塊(可為簡單模塊或者復(fù)合模塊),各個模塊之間通過端口(gates)進行連接。端口包括輸入和輸出端口,輸入端口負(fù)責(zé)接收消息,輸出端口負(fù)責(zé)發(fā)送消息。MVB網(wǎng)絡(luò)拓?fù)淠P腿鐖D4所示。
圖4 MVB網(wǎng)絡(luò)拓?fù)淠P?/p>
圖中包括一個總線管理器(Bus_Administrator)、MVB_Bus和N(N≤32)個設(shè)備節(jié)點(slave 0~slave N),這里取N=7,所有的節(jié)點掛在MVB總線上進行通信。
MVB_Bus網(wǎng)絡(luò)總線在OMNeT++中是通過信道定義描述的,其中包括傳播延時、數(shù)據(jù)傳送速率及誤比特率等參數(shù)。根據(jù)ICE標(biāo)準(zhǔn)規(guī)范,信道進行如下定義:
MVB總線主設(shè)備節(jié)點的Data_Sources簡單模塊作為數(shù)據(jù)源,通過指定的分布函數(shù)發(fā)送事先定義好的周期掃描表中的主幀。根據(jù)ICE標(biāo)準(zhǔn),主幀和響應(yīng)它的從幀之間的時間間隔應(yīng)小于4ms,為迅速做出響應(yīng),源設(shè)備準(zhǔn)備好從幀等待發(fā)送。設(shè)備將數(shù)據(jù)存放在被稱為端口的寄存器中。主幀的長度固定為33位,其中包括4位F代碼,其含義見表1。
MVB過程數(shù)據(jù)通信方式如圖5所示。
MVB網(wǎng)絡(luò)數(shù)據(jù)主要包括:消息數(shù)據(jù)、過程數(shù)據(jù)、監(jiān)督數(shù)據(jù),MVB總線網(wǎng)絡(luò)中主要以過程數(shù)據(jù)為主。其中過程數(shù)據(jù)為周期性無確認(rèn)的廣播通信,主要采用主從控制的介質(zhì)訪問方式。
表1 MVB功能代碼表
其控制流程為:MVB總線主設(shè)備(總線管理器)對整個MVB總線網(wǎng)絡(luò)進行控制,MVB總線主設(shè)備發(fā)送主幀,與主幀中地址域相符的源設(shè)備發(fā)送從幀,與主幀中地址域一致的宿設(shè)備接收此從幀[8]。
主從設(shè)備運行流程圖如圖6所示。
圖6(a)為主設(shè)備節(jié)點運行流程圖。在MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信時,主設(shè)備節(jié)點根據(jù)周期輪詢表進行過程數(shù)據(jù)的傳輸。首先,仿真模型運行時進入初始化狀態(tài),MVB總線主設(shè)備發(fā)送事先定義好的周期掃描表中的主幀,然后進入等待狀態(tài),當(dāng)MVB總線空閑且輸入數(shù)據(jù)中斷時,進入TxS_1(發(fā)送器)狀態(tài),進行MVB總線數(shù)據(jù)發(fā)送;如果輸入數(shù)據(jù)中斷到來且MVB總線忙時,進入等待狀態(tài),當(dāng)MVB總線空閑再跳入發(fā)送器狀態(tài);一次輪詢結(jié)束后,然后重新進入設(shè)備地址讀取狀態(tài),進行下一次的輪詢。
圖5 MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信方式
圖6 MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信方式
圖6 (b)為從設(shè)備節(jié)點運行流程圖,在從設(shè)備中包括兩個端口:宿端口和源端口。在MVB網(wǎng)絡(luò)進行過程數(shù)據(jù)的傳輸時,當(dāng)源端口接收到與自己地址域相符的主幀時,源設(shè)備發(fā)送從幀;當(dāng)宿端口自身地址與主幀數(shù)據(jù)中的地址域相符時,此從設(shè)備接收源設(shè)備發(fā)出的從幀進行響應(yīng)。
主從設(shè)備節(jié)點端到端的傳輸延時包括[9]:過程數(shù)據(jù)幀在端口發(fā)送寄存器的編碼延時Tc、介質(zhì)傳輸延時Tt、發(fā)送過程數(shù)據(jù)幀延時Ts、接收過程數(shù)據(jù)幀延時Tr、中繼器延時Tre、數(shù)據(jù)處理延時Tp,則MVB總線完成一次端到端的數(shù)據(jù)傳輸延時如圖7所示。
圖7 MVB網(wǎng)絡(luò)過程數(shù)據(jù)端到端傳輸延時
由于過程數(shù)據(jù)報文處理延時Tp與設(shè)備處理器延時有關(guān),在分析MVB網(wǎng)絡(luò)過程數(shù)據(jù)延時可暫時不考慮。則過程數(shù)據(jù)幀傳輸延時T_delay可表示為發(fā)送寄存器中數(shù)據(jù)進行編碼,通過發(fā)送器發(fā)送到MVB總線到達從設(shè)備節(jié)點,節(jié)點接收器接收數(shù)據(jù)幀并進行解碼所用的時間,即:
設(shè)報文長度為Ljbit,MVB網(wǎng)絡(luò)的傳輸速率為v(bit/s),由圖2可知,MVB網(wǎng)絡(luò)過程數(shù)據(jù)分為33、49、81、153和297bit 5種格式,通過數(shù)據(jù)幀度與傳輸速率之比可確定數(shù)據(jù)幀發(fā)送延時Ts、數(shù)據(jù)幀接收延時Tr;MVB通信網(wǎng)絡(luò)的傳輸介質(zhì)均是雙絞線,傳輸延時Tt為傳輸距離l與傳輸速率之比;設(shè)備間中繼器個數(shù)為i個(T_reply_def的值為42.7μs,限定了中繼器個數(shù)i≤4),則中繼器延時為iTre;過程數(shù)據(jù)解碼延時Td受解碼方式及解碼數(shù)據(jù)幀的格式的約束;由于過程數(shù)據(jù)主幀是在周期掃描表中事先定義好的及過程數(shù)據(jù)從幀已存放在源端口等待發(fā)送,則數(shù)據(jù)編碼延時Tc可以忽略不計。
MVB網(wǎng)絡(luò)過程數(shù)據(jù)采用主從輪詢介質(zhì)訪問控制方式,MVB總線完成一次過程數(shù)據(jù)傳輸延時包括:
1)主設(shè)備節(jié)點發(fā)送主幀依次輪詢各從節(jié)點的時間Tmaster;
2)經(jīng)過對比與主幀中地址字段相同的從設(shè)備節(jié)點發(fā)送不同數(shù)據(jù)格式的響應(yīng)從幀時間Tslave。當(dāng)主設(shè)備對從設(shè)備進行輪詢時:
當(dāng)源設(shè)備對所有端口為宿的從設(shè)備進行輪詢時:
通過聯(lián)立式(1)、(2)、(3)得出MVB總線完成一次報文數(shù)據(jù)傳輸?shù)臅r間為:
式中:l′——源設(shè)備發(fā)出的從幀傳輸?shù)钠骄嚯x;
l——主幀傳輸?shù)钠骄嚯x;
L——主幀長度;
Li——分別代表5種從幀格式長度,i=1,2,…,5。
基于OMNeT++網(wǎng)絡(luò)仿真平臺創(chuàng)建MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信仿真模型,其中包括一個總線管理器(Bus_Administrator)、MVB網(wǎng)絡(luò)數(shù)據(jù)傳輸總線MVB_Bus和8個從設(shè)備節(jié)點(slave 0~slave 7),所有節(jié)點掛接在總線MVB_Bus上進行過程數(shù)據(jù)通信。根據(jù)ICE標(biāo)準(zhǔn)規(guī)范設(shè)置配置仿真環(huán)境文件omnetpp.ini的參數(shù)值,其中包括MVB總線傳輸速率為1.5Mbit/s,數(shù)據(jù)包產(chǎn)生的時間間隔為650μs,信道傳輸延時設(shè)置為10μs,其它值設(shè)置為默認(rèn)值,對所建立的MVB模型在信道利用率和實時性方面進行分析和測試。
首先,對MVB模型的信道利用率進行分析和測試,如圖8所示。
圖8 MVB網(wǎng)絡(luò)信道利用率
從圖中可以看出,MVB總線在不同的傳輸速率時,MVB模型的信道利用率是不同的,通過設(shè)置0.5、1.0、1.5Mbit/s不同的信道傳輸速率,得到其對應(yīng)信道利用率約為:42.7%、59.6%、75.3%。測試結(jié)果符合ICE標(biāo)準(zhǔn),從而驗證了所建模型的正確性。
對MVB網(wǎng)絡(luò)模型的實時性進行測試,其結(jié)果如圖9所示。
圖9 MVB網(wǎng)絡(luò)實時性
從圖中可以看出,通信過程中的網(wǎng)絡(luò)延時約為3.5ms,而ICE標(biāo)準(zhǔn)規(guī)范要求主幀與響應(yīng)它的從幀間的間隔小于4ms,進一步說明了所建模型的可行性。
基于OMNeT++仿真平臺,建立了MVB網(wǎng)絡(luò)的節(jié)點、拓?fù)?、信道等模型,詳細介紹了基于模型的主從設(shè)備通信機制以及過程數(shù)據(jù)實時性計算模型?;贛VB網(wǎng)絡(luò)及實時性計算模型對MVB網(wǎng)絡(luò)過程數(shù)據(jù)通信的信道利用率以及實時性等進行了測試和分析,結(jié)果表明,所建立MVB網(wǎng)絡(luò)模型能夠達到ICE標(biāo)準(zhǔn)規(guī)范的要求,從而證明了模型的合理性和正確性,為進一步研究提高MVB網(wǎng)絡(luò)信道的利用率、改善網(wǎng)絡(luò)實時性等多方面內(nèi)容提供了基礎(chǔ)。
[1] 郭超勇.高速動車組列車網(wǎng)絡(luò)控制若干問題研究[D].北京:北京交通大學(xué),2012.
[2] 戴嘉瑋,韋魏.基于多功能車輛總線事件仲裁的優(yōu)化設(shè)計[J].鐵道學(xué)報,2013,37(4):66-70.
[3] 宋絹.列車通信系統(tǒng)信道復(fù)用技術(shù)的研究[D].北京:北京交通大學(xué),2012.
[4] 王永翔,王立德.基于廣義隨機Petri網(wǎng)的MVB網(wǎng)絡(luò)吞吐性能分析[J].北京交通大學(xué)學(xué)報:自然科學(xué)版,2008,32(5):98-101.
[5] 聶曉波,王立德,申萍.軌道車輛MVB網(wǎng)絡(luò)實時性能分析與優(yōu)化研究[J].鐵道學(xué)報,2011,33(9):40-44.
[6] 趙永利,張杰.OMNeT++與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2012.
[7] Jaime J,Jose L.Design of a master device for the multifunction vehicle bus[J].Vehicular Technology,IEEE,2007,55(6):3695-3708.
[8] Jaime J,Iker H,Carlos C,et al.Simulation of message data in a testbench for the multifunction vehicle bus[C]//32ndAnnual Conferenceof the IEEE Industrial Electronics Society.Paris,F(xiàn)rance:IEEE,2006:4666-4671.
[9] 郝明亮,姜艷青,尹曉靜,等.軌道車輛車廂LED照明控制系統(tǒng)[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2014,35(1):36-41.