摘 要: 在電子綜合系統(tǒng)的設(shè)計(jì)中,利用計(jì)算機(jī)仿真的手段模擬多路數(shù)據(jù)總線的通信過(guò)程,,完成總線通信系統(tǒng)傳輸方案的優(yōu)化和總線通信系統(tǒng)性能的評(píng)價(jià)分析,,對(duì)提高系統(tǒng)的設(shè)計(jì)效率有著重要的意義。討論了總線通信系統(tǒng)優(yōu)化和仿真的算法模型,,并以此算法開(kāi)發(fā)了多路數(shù)據(jù)總線仿真軟件,。
關(guān)鍵詞: 多路數(shù)據(jù)總線 計(jì)算機(jī)仿真 電子綜合系統(tǒng)
總線通信系統(tǒng)的性能可根據(jù)總線負(fù)載和延遲時(shí)間率來(lái)評(píng)價(jià)??偩€負(fù)載是傳輸信息(數(shù)據(jù)字和控制字)所需時(shí)間與通信系統(tǒng)總的激活時(shí)間的比值,,它反映了系統(tǒng)可擴(kuò)充的余量;延遲時(shí)間率是傳輸消息的實(shí)際延遲時(shí)間與最大允許的延遲時(shí)間的比值,,反映了系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)男?,多路?shù)據(jù)總線仿真軟件對(duì)要傳輸?shù)臄?shù)據(jù)消息塊進(jìn)行合理組織以減小以上兩個(gè)指標(biāo),該功能通過(guò)優(yōu)化過(guò)程來(lái)完成,,仿真結(jié)果可用仿真報(bào)告形式輸出,,也可用圖形方式顯示。借助于各種仿真結(jié)果數(shù)據(jù),,系統(tǒng)設(shè)計(jì)人員可對(duì)總線通信網(wǎng)絡(luò)的性能作出客觀評(píng)價(jià),,指導(dǎo)系統(tǒng)設(shè)計(jì)人員對(duì)系統(tǒng)結(jié)構(gòu)和ICD數(shù)據(jù)進(jìn)行必要的調(diào)整,以生成最優(yōu)效率的通信系統(tǒng),。
本文作者開(kāi)發(fā)的多路數(shù)據(jù)總線仿真軟件具有WINDOWS風(fēng)格的人機(jī)界面,,而且操作方便,實(shí)現(xiàn)功能全面,,該軟件已經(jīng)成功地用于某型號(hào)航空電子綜合化系統(tǒng)工程的輔助設(shè)計(jì)中,,效果良好,。
1 數(shù)據(jù)傳輸?shù)膬?yōu)化
與仿真相關(guān)的原始數(shù)據(jù)文件有系統(tǒng)結(jié)構(gòu)定義文件、消息塊清單文件,、意外活動(dòng)文件,、通信協(xié)議定時(shí)參數(shù)文件等四種數(shù)據(jù)文件的輸入。
·系統(tǒng)結(jié)構(gòu)定義文件唯一確定了系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),,每一條記錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)終端,。
·消息塊清單文件給出系統(tǒng)將要在總線上傳輸?shù)乃邢ⅲ恳粋€(gè)記錄描述了一個(gè)消息的內(nèi)容,。記錄的域值有:消息類(lèi)型,、消息編號(hào)、消息的源,、消息的目的,、最大允許延遲時(shí)間和消息的傳輸機(jī)制。
·意外活動(dòng)文件定義那些需占用總線通信時(shí)間(如通信指令,,其通信指令不出現(xiàn)在總線表中)的活動(dòng),。
·通信協(xié)議定時(shí)參數(shù)文件定義了指令字、狀態(tài)字,、數(shù)據(jù)字的傳輸時(shí)間,,終端響應(yīng)時(shí)間和消息傳輸間隔等。
在進(jìn)行通信傳輸方案優(yōu)化前先進(jìn)行預(yù)處理以形成完備的消息塊清單文件,。預(yù)處理過(guò)程分兩步:排序處理和機(jī)制插入處理,。排序處理是為了整理從ICD文件中提取的消息塊清單文件,排序原則是:按消息塊最大允許延遲時(shí)間(MDT)由小到大進(jìn)行排序,;具有相同最大允許延遲時(shí)間的消息塊以消息量大小由大到小排序,。
通信機(jī)制的插入處理是依據(jù)改進(jìn)的靜態(tài)總線控制協(xié)議檢測(cè)更新消息傳輸?shù)臋C(jī)理,通過(guò)發(fā)送矢量字方式指令檢測(cè)消息的數(shù)據(jù)是否更新,。機(jī)制插入處理即完成將矢量字插入到需檢測(cè)的消息塊之前的操作,。
在電子綜合系統(tǒng)中,不同類(lèi)型的數(shù)據(jù)傳輸有不同的最大允許延遲時(shí)間,。最大的最大允許延遲時(shí)間定義為大周期,,記為MAX(MDT),而把最小的最大允許延遲定義為小周期,,記為MIN(MDT),,那么大周期中含有的小周期的個(gè)數(shù)為:
MAX(MDT)/MIN(MDT)=2n (1)
其中n為整數(shù),通常不大于6,。
因此,,對(duì)于某一最大允許延遲時(shí)間的消息,在一個(gè)大周期(含2n個(gè)小周期)之內(nèi),應(yīng)安排傳輸2i次,,其中第一次安排傳輸,,可以排在大周期的前2n-i個(gè)小周期的任一個(gè)之內(nèi),這個(gè)小周期的序號(hào)稱(chēng)為安排消息的相位,,用PH來(lái)表示,,那么隨后幾次則必須安排在第(PH+K·2n-i)個(gè)小周期內(nèi),這K=1,,2…………,,但應(yīng)保證前式的值小于等于2n。將系統(tǒng)中各類(lèi)消息安排傳輸必須遵循的原則列于表1中,。
優(yōu)化算法模型要解決的問(wèn)題是如何才能在消息傳輸規(guī)定的最大允許延遲時(shí)間范圍之內(nèi)(滿(mǎn)足表1),,合理安排每條消息的傳輸相位,使各條消息的延遲時(shí)間率達(dá)到均衡,,從而達(dá)到總線負(fù)載均衡,。針對(duì)最大延遲時(shí)間為2iMIN(MDT)的消息(i∈[0,N]),也就是最大延遲時(shí)間為小周期的2i倍的消息,我們把大周期中的每2i個(gè)小周期按順序劃分為一組,,這樣,,對(duì)于這種消息,,在一個(gè)大周期中就有2n-i個(gè)組,。首先注意第一個(gè)組,原則上講,,消息可以安排在此組的任一個(gè)小周期內(nèi),,但是為了達(dá)到優(yōu)化的目的,我們?cè)跊Q定消息的相位之前,,首先檢測(cè)組內(nèi)各個(gè)小周期的消息傳輸時(shí)間的當(dāng)前累加值,,并且將消息安排在最先檢測(cè)到的累加值最小的小周期內(nèi),那么這個(gè)小周期既是該消息的相位PH,,與此同時(shí),,插入到這個(gè)小周期的該消息的傳輸時(shí)間開(kāi)銷(xiāo)也要累加在該小周期的累加值上,供下一條消息檢測(cè),。在第一組安排相位之后,,一個(gè)大周期內(nèi),余下的2n-i-1個(gè)小組中的相位,,則應(yīng)安排在第PH+K·2i個(gè)小周期內(nèi)(K=1,,2……),當(dāng)然要保證前式的值小于或等于2n,。
依照上述優(yōu)化算法,,每條消息的傳輸相位總是安排在用于消息傳輸時(shí)間最小的小周期中,從而各個(gè)小周期用于消息傳輸時(shí)間的差異不會(huì)超過(guò)一條消息的傳輸時(shí)間,,這一點(diǎn)可得到數(shù)學(xué)上的證明,。用這種優(yōu)化方案應(yīng)用于系統(tǒng),,總線的平均延遲時(shí)間率是均衡的,而且此優(yōu)化方案的解是唯一的,,可生成唯一的總線表文件,,從根本上解決了優(yōu)化方案唯一解的問(wèn)題。用數(shù)學(xué)歸納法可以證明上述優(yōu)化算法模型,。
2 仿真
仿真運(yùn)算即對(duì)總線通信系統(tǒng)的工作情況進(jìn)行仿真,。它按照消息塊的性質(zhì)模擬宿主機(jī)的消息塊的產(chǎn)生,并模擬宿主機(jī)對(duì)總線接口板(MBI)的操作(如矢量字置位等),,同時(shí)對(duì)總線控制器(BC)的工作情況進(jìn)行仿真以便考慮在硬件時(shí)間延遲的情況下產(chǎn)生所需要的命令字,,以及消息在總線上的傳輸過(guò)程。在仿真過(guò)程中將收集大量所需要的數(shù)據(jù)經(jīng)處理后產(chǎn)生輸出報(bào)告和圖形顯示,。仿真算法如下:
首先進(jìn)行仿真數(shù)據(jù)準(zhǔn)備,,隨機(jī)產(chǎn)生意外活動(dòng)發(fā)生隊(duì)列;對(duì)意外活動(dòng)按時(shí)間先后順序進(jìn)行排序,,形成排序后的意外活動(dòng)隊(duì)列,;隨機(jī)產(chǎn)生消息塊的數(shù)據(jù)更新隊(duì)列。
然后開(kāi)始模擬總線運(yùn)行,,啟動(dòng)總線表(BUSLIST)的循環(huán),,程序便依據(jù)總線表中消息的安排次序來(lái)模擬實(shí)際總線組織消息的傳輸,有以下幾個(gè)步驟:
(a)首先檢測(cè)是否有意外活動(dòng)發(fā)生,,即條件:意外活動(dòng)發(fā)生時(shí)間≤總線運(yùn)行時(shí)間,,如果條件成立,則說(shuō)明有意外活動(dòng)發(fā)生,,將此意外活動(dòng)的時(shí)間開(kāi)銷(xiāo)算入到總線運(yùn)行時(shí)間中,,若條件不成立,說(shuō)明沒(méi)有意外活動(dòng)發(fā)生轉(zhuǎn)到(b),。
(b)從優(yōu)化的總線表中取出消息塊的序號(hào),,此消息塊即是此時(shí)準(zhǔn)備要傳輸?shù)南ⅲ瑢?duì)于不同傳輸機(jī)制的消息處理的方式有以下幾點(diǎn)不同:
· 對(duì)于采用更新機(jī)制的消息,,如果有新數(shù)據(jù)產(chǎn)生,,即滿(mǎn)足條件:消息的更新數(shù)據(jù)產(chǎn)生時(shí)間≤此時(shí)總線運(yùn)行時(shí)間,則根據(jù)通信協(xié)議計(jì)算該消息的傳輸時(shí)間并且計(jì)算入總線運(yùn)行時(shí)間中,,如果條件不滿(mǎn)足則只計(jì)算入消息檢測(cè)時(shí)間,。
· 對(duì)于矢量字消息,只要是總線表中輪循到,,就把矢量字傳輸時(shí)間計(jì)算到總線運(yùn)行時(shí)間中即可,。
· 對(duì)于簡(jiǎn)單機(jī)制的消息,只要是總線表中輪循到,就根據(jù)通信協(xié)議計(jì)算該息傳輸時(shí)間,,并計(jì)算到總線運(yùn)行時(shí)間中即可,。
·在消息的傳輸過(guò)程中可能會(huì)產(chǎn)生消息的重寫(xiě):某一消息塊m1在前一次的新數(shù)據(jù)m11未被傳輸?shù)侥康牡貢r(shí)又產(chǎn)生了新的數(shù)據(jù)m12,如果允許重寫(xiě)則m12覆蓋了m11,,如果不允許重寫(xiě),,則m12不能覆蓋m11,傳輸時(shí)仍然傳輸m11,。
(c)在仿真過(guò)程中同時(shí)進(jìn)行數(shù)據(jù)的采集,,記錄消息傳輸延遲時(shí)間、更新數(shù)據(jù)傳輸次數(shù),、舊數(shù)據(jù)傳輸次數(shù),、檢測(cè)次數(shù)以及重寫(xiě)次數(shù)等,以便進(jìn)行數(shù)據(jù)統(tǒng)計(jì)形成仿真報(bào)告和圖形,。
(d)在組織完一次消息傳輸后,,程序再跳到(a),組織下一條消息的傳輸,,如此不斷循環(huán)直到到達(dá)仿真時(shí)間,。
最后進(jìn)行統(tǒng)計(jì)運(yùn)算輸出仿真報(bào)告和圖形。
我們以某電子綜合系統(tǒng)的數(shù)據(jù)為例給出部分仿真結(jié)果和圖形(見(jiàn)圖1,,圖2),。
總線負(fù)載和平均延遲率是評(píng)價(jià)總線通信系統(tǒng)性能的重要參數(shù):
·總線負(fù)載(Bus Loading)——是傳輸信息(數(shù)據(jù)字和控制字)所需時(shí)間與通信系統(tǒng)總的激活時(shí)間的比值,它反映了系統(tǒng)可擴(kuò)充的余量,,公式為:
·平均延遲率,,延遲時(shí)間率是傳輸消息的實(shí)際延遲時(shí)間TL與最大允許延遲時(shí)間TM的比值,,那么在某個(gè)時(shí)間范圍內(nèi)所有消息的平均延遲時(shí)間率定義為:
式中D為平均延遲率,,n為消息總數(shù)。平均延遲率反映了系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)男?,它與總線負(fù)載的概念是相關(guān)聯(lián)的,,當(dāng)總線達(dá)到理想化的總線負(fù)載均衡時(shí),每個(gè)消息的延遲時(shí)間率都應(yīng)等于平均延遲時(shí)間率,。實(shí)際傳輸中,,各個(gè)消息的延遲時(shí)間率越接近,則說(shuō)明總線的負(fù)載均衡程度越好,。信息傳輸時(shí),,達(dá)到總線負(fù)載均衡可保證總線信息傳輸安全可靠、高效,、避免發(fā)生總線阻塞,。
延遲率曲線描述了在整個(gè)仿真時(shí)間內(nèi)消息傳輸?shù)淖畲蟆⑵骄⒆钚⊙舆t率隨時(shí)間的變化情況,,從最后給出的統(tǒng)計(jì)報(bào)告得到:
·最大延遲時(shí)間率:24.32%
·平均延遲時(shí)間率:9.37%
·總線負(fù)載:45.04%
·傳輸消息次數(shù):2640
·重寫(xiě)次數(shù):0
從圖中也可以看出,,在2000ms的仿真時(shí)間內(nèi)消息的延遲率較低,而且消息延遲率最多集中在5%~10%之間(共有900次)和10%~15%之間(共有810次),,在所有2640次消息傳輸中沒(méi)有發(fā)生消息的傳輸延遲時(shí)間超過(guò)最大允許延遲時(shí)間的情況,,也沒(méi)有發(fā)生重寫(xiě),低的消息傳輸延遲時(shí)間率和均衡的總線負(fù)載表明經(jīng)優(yōu)化的總線傳輸方案是成功的,。
總之,,本文討論了電子綜合系統(tǒng)傳輸方案的優(yōu)化和通信過(guò)程仿真的算法模型,并以作者開(kāi)發(fā)的多路數(shù)據(jù)總線仿真軟件對(duì)實(shí)例進(jìn)行了仿真分析,,仿真結(jié)果表明我們對(duì)總線傳輸方案的優(yōu)化達(dá)到了系統(tǒng)信息傳輸?shù)脑O(shè)計(jì)要求,。因此,利用仿真軟件進(jìn)行電子綜合系統(tǒng)設(shè)計(jì)的仿真可以得到系統(tǒng)的最優(yōu)傳輸方案和評(píng)價(jià)系統(tǒng)性能的重要參數(shù),,為設(shè)計(jì)人員提供了可靠的支持同時(shí)也提高了工作效率,。
參考文獻(xiàn)
1 陳 采,熊華鋼,,羅志強(qiáng). 多路數(shù)據(jù)總線通訊傳輸方案優(yōu)化.電光與控制,,1996;(3)
2 熊華鋼.1553B總線通信技術(shù)的應(yīng)用與發(fā)展.北京:電子技術(shù)應(yīng)用,,1997,;23(8)
3 羅志強(qiáng).航空電子綜合化系統(tǒng).北京:北京航空航天大學(xué)出版社,1990
4 Aircraft Internal Time Division Command/Response Multiplex Data Bus.MIL-STD-1553B USAF,,1986
5 Jordan AF.Avionics System Evolution Drives Data Bus Development.Avionics.March 1992