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