摘 要: 在電子綜合系統(tǒng)的設(shè)計(jì)中,利用計(jì)算機(jī)仿真的手段模擬多路數(shù)據(jù)總線的通信過程,完成總線通信系統(tǒng)傳輸方案的優(yōu)化和總線通信系統(tǒng)性能的評(píng)價(jià)分析,對(duì)提高系統(tǒng)的設(shè)計(jì)效率有著重要的意義。討論了總線通信系統(tǒng)優(yōu)化和仿真的算法模型,并以此算法開發(fā)了多路數(shù)據(jù)總線仿真軟件。
關(guān)鍵詞: 多路數(shù)據(jù)總線 計(jì)算機(jī)仿真 電子綜合系統(tǒng)
總線通信系統(tǒng)的性能可根據(jù)總線負(fù)載和延遲時(shí)間率來評(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),該功能通過優(yōu)化過程來完成,仿真結(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)。
本文作者開發(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)容。記錄的域值有:消息類型、消息編號(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ù)處理過程分兩步:排序處理和機(jī)制插入處理。排序處理是為了整理從ICD文件中提取的消息塊清單文件,排序原則是:按消息塊最大允許延遲時(shí)間(MDT)由小到大進(jìn)行排序;具有相同最大允許延遲時(shí)間的消息塊以消息量大小由大到小排序。
通信機(jī)制的插入處理是依據(jù)改進(jìn)的靜態(tài)總線控制協(xié)議檢測(cè)更新消息傳輸?shù)臋C(jī)理,通過發(fā)送矢量字方式指令檢測(cè)消息的數(shù)據(jù)是否更新。機(jī)制插入處理即完成將矢量字插入到需檢測(cè)的消息塊之前的操作。
在電子綜合系統(tǒng)中,不同類型的數(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)稱為安排消息的相位,用PH來表示,那么隨后幾次則必須安排在第(PH+K·2n-i)個(gè)小周期內(nèi),這K=1,2…………,但應(yīng)保證前式的值小于等于2n。將系統(tǒng)中各類消息安排傳輸必須遵循的原則列于表1中。
優(yōu)化算法模型要解決的問題是如何才能在消息傳輸規(guī)定的最大允許延遲時(shí)間范圍之內(nèi)(滿足表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í)間開銷也要累加在該小周期的累加值上,供下一條消息檢測(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ì)超過一條消息的傳輸時(shí)間,這一點(diǎn)可得到數(shù)學(xué)上的證明。用這種優(yōu)化方案應(yīng)用于系統(tǒng),總線的平均延遲時(shí)間率是均衡的,而且此優(yōu)化方案的解是唯一的,可生成唯一的總線表文件,從根本上解決了優(yōu)化方案唯一解的問題。用數(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)生所需要的命令字,以及消息在總線上的傳輸過程。在仿真過程中將收集大量所需要的數(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ì)列。
然后開始模擬總線運(yùn)行,啟動(dòng)總線表(BUSLIST)的循環(huán),程序便依據(jù)總線表中消息的安排次序來模擬實(shí)際總線組織消息的傳輸,有以下幾個(gè)步驟:
(a)首先檢測(cè)是否有意外活動(dòng)發(fā)生,即條件:意外活動(dòng)發(fā)生時(shí)間≤總線運(yùn)行時(shí)間,如果條件成立,則說明有意外活動(dòng)發(fā)生,將此意外活動(dòng)的時(shí)間開銷算入到總線運(yùn)行時(shí)間中,若條件不成立,說明沒有意外活動(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)生,即滿足條件:消息的更新數(shù)據(jù)產(chǎn)生時(shí)間≤此時(shí)總線運(yùn)行時(shí)間,則根據(jù)通信協(xié)議計(jì)算該消息的傳輸時(shí)間并且計(jì)算入總線運(yùn)行時(shí)間中,如果條件不滿足則只計(jì)算入消息檢測(cè)時(shí)間。
· 對(duì)于矢量字消息,只要是總線表中輪循到,就把矢量字傳輸時(shí)間計(jì)算到總線運(yùn)行時(shí)間中即可。
· 對(duì)于簡單機(jī)制的消息,只要是總線表中輪循到,就根據(jù)通信協(xié)議計(jì)算該息傳輸時(shí)間,并計(jì)算到總線運(yùn)行時(shí)間中即可。
·在消息的傳輸過程中可能會(huì)產(chǎn)生消息的重寫:某一消息塊m1在前一次的新數(shù)據(jù)m11未被傳輸?shù)侥康牡貢r(shí)又產(chǎn)生了新的數(shù)據(jù)m12,如果允許重寫則m12覆蓋了m11,如果不允許重寫,則m12不能覆蓋m11,傳輸時(shí)仍然傳輸m11。
(c)在仿真過程中同時(shí)進(jìn)行數(shù)據(jù)的采集,記錄消息傳輸延遲時(shí)間、更新數(shù)據(jù)傳輸次數(shù)、舊數(shù)據(jù)傳輸次數(shù)、檢測(cè)次數(shù)以及重寫次數(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é)果和圖形(見圖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í)間率越接近,則說明總線的負(fù)載均衡程度越好。信息傳輸時(shí),達(dá)到總線負(fù)載均衡可保證總線信息傳輸安全可靠、高效、避免發(fā)生總線阻塞。
延遲率曲線描述了在整個(gè)仿真時(shí)間內(nèi)消息傳輸?shù)淖畲蟆⑵骄?、最小延遲率隨時(shí)間的變化情況,從最后給出的統(tǒng)計(jì)報(bào)告得到:
·最大延遲時(shí)間率:24.32%
·平均延遲時(shí)間率:9.37%
·總線負(fù)載:45.04%
·傳輸消息次數(shù):2640
·重寫次數(shù):0
從圖中也可以看出,在2000ms的仿真時(shí)間內(nèi)消息的延遲率較低,而且消息延遲率最多集中在5%~10%之間(共有900次)和10%~15%之間(共有810次),在所有2640次消息傳輸中沒有發(fā)生消息的傳輸延遲時(shí)間超過最大允許延遲時(shí)間的情況,也沒有發(fā)生重寫,低的消息傳輸延遲時(shí)間率和均衡的總線負(fù)載表明經(jīng)優(yōu)化的總線傳輸方案是成功的。
總之,本文討論了電子綜合系統(tǒng)傳輸方案的優(yōu)化和通信過程仿真的算法模型,并以作者開發(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