優(yōu)化算法模型要解決的問(wèn)題是如何才能在消息傳輸規(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í)間開(kāi)銷也要累加在該小周期的累加值上,供下一條消息檢測(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)銷算入到總線運(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)生,即滿足條件:消息的更新數(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ì)于簡(jiǎn)單機(jī)制的消息,只要是總線表中輪循到,就根據(jù)通信協(xié)議計(jì)算該息傳輸時(shí)間,并計(jì)算到總線運(yùn)行時(shí)間中即可。
·在消息的傳輸過(guò)程中可能會(huì)產(chǎn)生消息的重寫:某一消息塊m1在前一次的新數(shù)據(jù)m11未被傳輸?shù)侥康牡貢r(shí)又產(chǎn)生了新的數(shù)據(jù)m12,如果允許重寫則m12覆蓋了m11,如果不允許重寫,則m12不能覆蓋m11,傳輸時(shí)仍然傳輸m11。
(c)在仿真過(guò)程中同時(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é)果和圖形(見(jiàn)圖1,圖2)。
總線負(fù)載和平均延遲率是評(píng)價(jià)總線通信系統(tǒng)性能的重要參數(shù):
·總線負(fù)載(Bus Loading——是傳輸信息(數(shù)據(jù)字和控制字)所需時(shí)間與通信系統(tǒng)總的激活時(shí)間的比值,它反映了系統(tǒng)可擴(kuò)充的余量,公式為:
總線負(fù)載=傳輸信息量(數(shù)據(jù)字和控制字) / 總線激活時(shí)間 (2)
·平均延遲率,延遲時(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ù)淖畲、平均、最小延遲率隨時(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次消息傳輸中沒(méi)有發(fā)生消息的傳輸延遲時(shí)間超過(guò)最大允許延遲時(shí)間的情況,也沒(méi)有發(fā)生重寫,低的消息傳輸延遲時(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í)也提高了工作效率。





