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