徐 侃 黃 寧 王春霖
(北京航空航天大學可靠性與系統(tǒng)工程學院 北京 100191)
1553B總線有著高可靠、穩(wěn)定的特性,已被廣泛應(yīng)用于軍用飛機、艦船、坦克等領(lǐng)域。分析其性能指標能夠為1553B總線前期設(shè)計提供理論依據(jù),驗證設(shè)計方案的可行性、可靠性和正確性。
目前對1553B總線的性能指標建模和分析有不少的研究:文獻[1]采用排隊論的M/M/1排隊模型分析了1553B總線的混合消息的平均響應(yīng)時間;文獻[2]通過網(wǎng)絡(luò)演算來計算1553B總線消息在最糟糕情況下的最大時延。這類方法能夠有效計算性能指標,但是無法描述消息傳輸?shù)膭討B(tài)過程。另一類方法則在建模中描述了總線的資源動態(tài)變化情況從而對性能進行分析。其中最為典型的是基于Petri網(wǎng)的建模分析方法。王志宏[3]基于Petri網(wǎng)對1553B總線進行建模,得到總線負載和時延等性能參數(shù)。文獻[4-5]使用隨機Petri網(wǎng)SPN(Stochastic Petri Net)分別對總線控制器和系統(tǒng)總線進行仿真,得到相應(yīng)的性能參數(shù)。文獻[6]基于確定與隨機Petri網(wǎng)DSPN(Deterministic and Stochastic Petri Net)建立1553B總線模型,分析總線負載和時延等指標,取得了良好的效果。然而使用上述模型進行總線仿真時,對協(xié)議簡化太多,不能準確地描述消息傳輸?shù)膭討B(tài)過程。文獻[7-8]基于CPN建立1553B總線模型,描述系統(tǒng)的靜態(tài)拓撲結(jié)構(gòu)和消息傳輸過程,分析總線負載和總線效率等性能指標,但在進行仿真時僅考慮了周期性消息,而操作人員的按鍵操作或者系統(tǒng)的故障信息警報等實時信息都屬于非周期性消息,是總線消息傳輸?shù)闹匾M成部分。
本文基于有色Petri網(wǎng)建立了1553B總線模型,在考慮周期性消息基礎(chǔ)上考慮了非周期性消息,分析了總線的負載率和時延。利用TimeNET[9]仿真工具,得到性能指標并與理論值[10]對比,驗證了模型的有效性和準確性。
CPN[11-12]是一種具有分層建模能力的高級Petri網(wǎng),適合描述系統(tǒng)的拓撲結(jié)構(gòu)和消息傳輸?shù)膭討B(tài)行為。CPN可以形式化定義為多元組,即CPN=(∑,P,T,A,N,C,G,E,I)[12],其中:
? ∑是類型的有限非空集合,也稱為顏色集。
?P={p1,p2,…,pm}是有限庫所集合,m表示系統(tǒng)中庫所的數(shù)目。
?T={t1,t2,…,tn}是有限變遷集合,n表示系統(tǒng)中變遷的數(shù)目。
?A是有限弧集合,滿足:P∩T=P∩A=T∩A=?。
?N是節(jié)點函數(shù),定義為N:A→P×T∪T×P。
?C是顏色函數(shù),定義為C:P→∑。
?G是警戒函數(shù),定義為G:T→Expressions。
?E是弧表達式函數(shù),定義為E:T→Expressions。
?I是初始化函數(shù),定義為I:P→ClosedExpressions。
CPN顏色集決定了CPN中標志的類型,顏色函數(shù)C把每個位置都映射到一個顏色集C(P),即P中的每個標志都屬于顏色集C(P)?;∈沁B接庫所與變遷的有向線段,庫所與庫所、變遷與變遷之間不能連接。警戒函數(shù)G把每個變遷映射到一個布爾表達式,當布爾表達式的值為真時,變遷才能發(fā)生。
由上述定義可知,在建模過程中,通過定義顏色集來表示不同的消息類型或字類型;用庫所描述系統(tǒng)的狀態(tài),例如總線是否空閑,是否需要發(fā)送數(shù)據(jù)字等;用變遷來描述系統(tǒng)狀態(tài)的變化,例如命令的執(zhí)行、消息的收發(fā)等。
圖1為1533B總線系統(tǒng)的拓撲結(jié)構(gòu)圖。由一個總線控制器BC,若干個遠程終端RT和一個總線監(jiān)視器BM組成。同時,一般1553B總線采用冗余結(jié)構(gòu),保證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
圖1 總線拓撲結(jié)構(gòu)
2.2.1CPN符號介紹
表1為CPN符號用法。
表1 CPN符號
2.2.2拓撲結(jié)構(gòu)模型
圖2為總線拓撲結(jié)構(gòu)模型。其中,用替代變遷BC表示總線控制器;替代變遷RT1和RT2表示遠程終端;總線鏈路用替代變遷BUS表示。庫所INi和OUTi分別表示對應(yīng)節(jié)點模型的輸入庫所和輸出庫所。這里,假定消息的傳輸全部成功,因而不需要考慮總線的冗余結(jié)構(gòu)。
圖2 總線拓撲模型
2.2.3BC節(jié)點模型
圖3為BC節(jié)點模型。BC節(jié)點主要負責指令字的發(fā)送以及相應(yīng)的數(shù)據(jù)字接收和發(fā)送,需要完成接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的基本功能。模型的上半部分用于發(fā)送數(shù)據(jù),對應(yīng)的標志進入所OUT0,并在鏈路模型上傳輸;下半部分用于接收數(shù)據(jù),對應(yīng)的標志從庫所IN0進入模型,根據(jù)標志類型的不同,不同的變遷激活,完成不同的功能。TranT子模塊用來控制消息的周期;Delay子模塊用來計算每個消息的時延。表2是BC模型中部分庫所和變遷的含義。
圖3 BC節(jié)點模塊
庫所/變遷含義TSta存儲傳輸?shù)南ait消息等待下一輪傳輸Order指令字Sen發(fā)送指令字Rec接受指令字DSta時延計時開始DEnd時延計時結(jié)束Free總線狀態(tài)Next下一條消息Gap模擬消息間隔SenO進入發(fā)送數(shù)據(jù)字狀態(tài)RecO進入接收數(shù)據(jù)字狀態(tài)DaGen產(chǎn)生新的數(shù)據(jù)字State1/2處理狀態(tài)字Data接收數(shù)據(jù)字
2.2.4RT節(jié)點模型
如圖4所示,RT節(jié)點模型主要用來接收指令字,根據(jù)指令字的不同完成不同的操作。指令字從庫所INi進入RT節(jié)點,根據(jù)字類型的不同激活不同的變遷,準備接受或者發(fā)送數(shù)據(jù)字。之后,RT節(jié)點向BC節(jié)點返回狀態(tài)字。表3是RT模型中部分庫所和變遷的含義。
圖4 RT節(jié)點模塊
庫所/變遷含義RO?Rec收到接受指令字SO?Rec收到發(fā)送指令字DRec收到數(shù)據(jù)字wait等待狀態(tài)字發(fā)送RecO接收接收指令字SenO接收發(fā)送指令字RecD接收數(shù)據(jù)字Sen發(fā)送數(shù)據(jù)字Ss發(fā)送狀態(tài)字
2.2.5鏈路模型
圖5是鏈路模型,描述了消息在總線上傳輸?shù)倪^程。對于每一個節(jié)點(BC或RT)都有一個輸出端和輸入端,用庫所IN和OUT表示。每一個標志通過OUT庫所后,進入庫所Load,子模塊Transport用來計算每個標志傳輸?shù)臅r間。通過定義localGuard,將標志轉(zhuǎn)移至對應(yīng)節(jié)點中。
圖5 鏈路模塊
在1553B總線上,消息是按時間依次發(fā)送的。大多數(shù)消息按固定的周期或相位出現(xiàn),如飛機機電系統(tǒng)周期地傳輸燃油參數(shù)、發(fā)動機參數(shù)等,稱這類消息為周期性消息。而有些消息是由系統(tǒng)中隨機出現(xiàn)的事件所引起,不是按固定的周期進行傳輸,如操作人員的按鍵操作、故障警報等,稱這類為非周期消息。
圖6是TranT子模塊,用來控制周期性和非周期消息的發(fā)送時間間隔,其中變遷T1、T2和T3的時間函數(shù)設(shè)置為常數(shù),值為對應(yīng)的周期,變遷T4的時間函數(shù)設(shè)置指數(shù)分布的函數(shù),用于控制非周期消息的循環(huán)。
圖6 周期控制模塊
以BC向RT1發(fā)送消息為例,說明該模型的運行情況。初始狀態(tài)下,庫所TSta中存在標志,表示等待傳輸?shù)南?。傳輸開始后,變遷Start激活,標志進入三個庫所,庫所Wait用來指示該消息的周期;庫所DSta用來計算時延;庫所C表示開始傳輸該消息。初始狀態(tài)下,庫所Next和庫所Free存在標志,變遷Gap激活,庫所Order得到標志,隨后標志轉(zhuǎn)移到庫所OUT0中,表示總線開始傳輸指令字;同時庫所SorR得到標志,變遷SenO激活,庫所Sen得到標志。隨后BC將變遷DaGen產(chǎn)生的數(shù)據(jù)字轉(zhuǎn)移到庫所OUT0,標志總線開始傳輸數(shù)據(jù)字。
在鏈路模型中,分別傳輸兩個標志,隨后都進入庫所IN1中。在RT模塊中,庫所IN1線得到代表指令字的標志,并轉(zhuǎn)移到庫所RO-Rec中,RT進入待接收數(shù)據(jù)狀態(tài)。隨后得到代表數(shù)據(jù)字的標志,轉(zhuǎn)移到庫所DRec中,表示RT端接受到數(shù)據(jù),開始返回一個狀態(tài)字。庫所State得到標志,經(jīng)過一定的響應(yīng)時間后,標志轉(zhuǎn)移到庫所OUT1中,表示總線開始傳輸狀態(tài)字。最后,BC節(jié)點得到狀態(tài)字,庫所Next和庫所Free重新得到標志,開始下一次傳輸。
對于周期性消息,其標志在開始轉(zhuǎn)移時就會進入TranT子模塊,在進入相應(yīng)庫所后等待對應(yīng)周期后,再次計入庫所TSta,準備下一次的傳輸。而對于非周期性消息,標志在第一次轉(zhuǎn)移時也進入TranT子模塊,假定該消息的時間間隔服從指數(shù)分布,標志被重新轉(zhuǎn)移至庫所TSta中,準備下一次的傳輸。
使用TimeNET軟件,實現(xiàn)了基于CPN的1553B總線模型,得到總線負載和時延指標。通過與理論計算值進行比較,驗證了模型的正確性和有效性。
假設(shè)總線拓撲結(jié)構(gòu)中,有1個BC和2個RT,消息類型如表4所示。
表4 消息類型說明
本文以TimeNET為仿真平臺,實現(xiàn)1553B總線模型,得到1553B總線的負載和各消息的時延。
圖7 仿真實驗平臺
3.2.1總線負載
通過庫所中標志存在的時間來計算總線的負載率。由于每一次消息傳輸中,標志都會經(jīng)過庫所,統(tǒng)計庫所中的平均標志數(shù)量,得到標志存在的平均時間,也就得到單位時間內(nèi)總線被占用的時間,即總線負載率。在TimeNET中measure模塊中,計算公式為:
Busload=#BC[0].Load
(1)
對應(yīng)的eval為TimeAverage,就能得到需要的總線負載率。
3.2.2時延
時延的計算是從BC節(jié)點準備發(fā)送消息開始計算,主要包括BC中消息之間的間隔時延、總線的傳輸時延和RT節(jié)點的響應(yīng)時延。在這里,我們通過增加一個Delay模塊來統(tǒng)計標志存在的平均數(shù)量,也就得到了單位時間內(nèi)標志存在的時間,根據(jù)消息周期性的不同,乘以相應(yīng)的系數(shù),得到消息的時延。
為了計算消息一的時延在TimeNET中measure模塊中:
Delay1=#BC[0].Delay[0].Delay1×T1
(2)
對應(yīng)的eval為TimeAverage,就能得到對應(yīng)的時延。其余的周期性消息也類似。對于非周期消息,也需要乘相應(yīng)的系數(shù),給定指數(shù)分布的前提下,計算公式:
Delay4=#BC[0].Delay[0].Delay4×lambda
(3)
利用TimeNET中的仿真功能,選擇Stationary Simulation得到仿真結(jié)果。圖8表示總線負載的變化情況,最后穩(wěn)定在0.285。圖9表示消息4的時延變化情況,最后穩(wěn)定在0.212。
圖9 消息4時延
總線負載是用來衡量總線上消息傳輸擁擠程度的,是指總線上世紀傳輸消息所需的時間,占總時間的比值。計算公式如下:
(4)
對于表4的四種消息類型,根據(jù)文獻[10]的時延計算公式,計算其理論值,其參數(shù)值如表5所示。
表5 各參數(shù)含義
(1) 總線控制器到遠程終端(BC-RT)或遠程終端到控制器(RT-BC)
T=TC+R+TS+nTD+G
(5)
(2) 遠程終端到遠程終端(RT-RT)
T=2TC+R+2TS+nTD+G
(6)
(3) BC廣播
T=TC+nTD+G
(7)
最終理論值結(jié)果如表6所示,可以看出總線負載和時延數(shù)值結(jié)果非常接近,誤差不超過5%,驗證了模型的準確性和有效性。
表6 仿真與理論值比較
本文使用CPN建立了1553B總線模型,有效描述了總線的拓撲結(jié)構(gòu)以及在傳輸過程中的動態(tài)特性。同時考慮了周期性消息和突發(fā)性消息對于1553B總線的影響,通過仿真實驗得到了總線負載和時延等性能指標,也為綜合航電系統(tǒng)的設(shè)計、評價和完善提供重要的理論依據(jù)。
[1] 趙昶宇,顏昌翔,于平.1553B總線上消息的實時調(diào)度[J].光學精密工程,2010,18(3):732-740.
[2] 王成志.計算彈載1553B總線時延的網(wǎng)絡(luò)演算方法[J].測控技術(shù),2014,33(4):110-112.
[3] 王志宏.基于MIL-STD-1553B總線的航空電子綜合系統(tǒng)總線通訊研究[D].南京理工大學,2004.
[4] 楊衛(wèi)軍,李釗,許化龍,等.1553B網(wǎng)絡(luò)BC的SPN建模與分析[J].無線電工程,2009,39(2):16-17.
[5] 劉金萍,宋小慶,李匡成,等.隨機Petri網(wǎng)的坦克綜電系統(tǒng)總線性能分析[C]//全國petri網(wǎng)理論與應(yīng)用學術(shù)年會.2007:251-253.
[6] 賈民力.基于DSPN的1553B總線網(wǎng)絡(luò)建模及性能分析[J].計算機應(yīng)用與軟件,2013,30(8):250-252,290.
[7] 吳文鐵,張長偉,張文祥.基于CPN的艦船電子綜合化系統(tǒng)總線建模[J].計算機應(yīng)用與軟件,2012,29(11):116-118,147.
[8] 陳劍,宋恩民.基于有色Petri網(wǎng)的1553B總線建模及分析[J].計算機測量與控制,2014(1):155-158.
[9] 董賓,徐永成,湯鵬,等.基于TimeNet4.0的直升機動力與傳動系統(tǒng)動態(tài)可靠性建模與仿真研究[C]//中國系統(tǒng)仿真技術(shù)及其應(yīng)用學術(shù)年會.2011.
[10] 侯朝建.1553B總線通信信道負載和效率評估[D].電子科技大學,2007.
[11] Jensen K, Kristensen L M, Wells L. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems[J]. International Journal on Software Tools for Technology Transfer, 2007, 9(3): 213-254.
[12] Jensen B K. Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use[C]// IEEE Colloquium on Discrete Event Systems: A New Challenge for Intelligent Control Systems. Springer-Verlag New York, Inc. 1997:493-493.