劉 龍,李智龍,代慧珍,蔣祖歆
(航空工業(yè)洪都,江西 南昌,330024)
GJB 289A 總線(數字式時分制指令/響應型多路傳輸數據總線)具有高可靠性、實時性、確定性[1]等突出優(yōu)點,廣泛運用于航空航天飛行器[2]的安全關鍵或任務關鍵系統(tǒng)[3]中,是系統(tǒng)可靠運行的基本保證。GJB 289A 總線主要由總線控制器(bus controller,BC)、總線監(jiān)控器(bus monitor,BM)、遠程終端(remote terminal,RT)組成??偩€控制器是總線網絡中組織信息傳輸的終端,負責總線的調度和管理;總線監(jiān)控器用于監(jiān)視總線的運行狀況,遠程終端(最多31 個)用于連接各子系統(tǒng),并進行數據傳輸[4]。
隨著各機載系統(tǒng)數字化、信息化程度的加深,用戶對機載數據總線的吞吐率提出了更高要求。GJB 289A 總線的帶寬僅1Mb/s,在使用GJB 289A 網絡作為機載數據總線時,需重點關注其負載率和傳輸效率,以判斷GJB 289A 總線網絡的帶寬余量是否滿足設計要求。
基于以上分析,本文針對GJB 289A 總線網絡負載率和傳輸效率計算的問題,提出一種負載率和傳輸效率計算的策略。根據GJB 289A 總線網絡消息傳輸協(xié)議,在計算過程中考慮了影響GJB 289A 總線網絡負載率和傳輸效率的消息格式、指令字、數據字、狀態(tài)字、消息間隔、遠程終端響應有效指令字的間隔時間和消息內的數據量等因素,給出了所有消息格式下總線網絡負載的計算方法,實現了GJB 289A 總線網絡的負載率和傳輸效率的準確計算,并對總線負載率和傳輸效率進行分析。
總線負載率即總線利用率,表示實際傳輸時間與最大可能允許傳輸時間之比值,反映了允許系統(tǒng)擴充的余量[5]。即:
式(1)中,LR 為總線負載率,T 為計算總線負載率時所取傳輸周期時間;M 為對應周期時間內處理的消息總數;Lj為某消息的傳送時間。
總線傳輸效率為傳輸數據位所需的時間與總線上實際傳輸時間之比,即:
式(2)中,BE 為總線傳輸效率,Pj為某消息內傳輸數據位的時間。
由式(1)、(2)可知,為得出總線網絡的負載率和傳輸效率,關鍵在于計算總線負載。在GJB 289A 總線網絡中,共有總線控制器向遠程終端的傳輸、遠程終端向總線控制器的傳輸、遠程終端向遠程終端的傳輸、不帶數據字的方式指令、帶數據字的方式指令(發(fā)送)、帶數據字的方式指令(接收)、總線控制器向各遠程終端的傳輸(廣播)、遠程終端向各遠程終端的傳輸(廣播)、不帶數據字的方式指令(廣播)、帶數據字的方式指令(廣播)10 種消息通訊格式。
為方便計算總線網絡的負載,設一條消息內的數據字數量為Q(1≤Q≤32)。
根據GJB 289A-97 要求,GJB 289A 數據總線帶寬為1Mb/s[4],即1bit/μs。遠程終端響應有效指令字的間隔時間為4.0~12.0μs,典型值為10μs,消息之間的典型間隔時間為50μs[6]。
總線控制器發(fā)出一個接收指令字及規(guī)定數目的數據字到遠程終端,后者在核實消息之后,發(fā)回一個狀態(tài)字給控制器,指令字和數據字應以沒有字間間隔的連續(xù)形式發(fā)出[4]。詳見圖1。
圖1 總線控制器向遠程終端的傳輸過程
其中,根據GJB 289A-97 要求,傳輸各數據所需時間如下:
接收指令:20 μs;
數據字:20Q μs;
狀態(tài)字:20 μs;
響應時間:10 μs;
消息間隔:50 μs。
故在GJB 289A 總線網絡內傳輸一條總線控制器至遠程終端的消息共需t1μs:
總線控制器向遠程終端發(fā)出一個發(fā)送指令字,該遠程終端在核實指令字之后,發(fā)回一個狀態(tài)字給總線控制器,繼之以規(guī)定數目的數據字。狀態(tài)字和數據字應以沒有字間間隔的連續(xù)形式發(fā)出[4]。詳見圖2。
圖2 遠程終端向總線控制器的傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖2 所述,在GJB 289A 總線網絡內傳輸一條遠程終端至總線控制器的消息共需t2μs:
總線控制器向遠程終端A 發(fā)出一個接收指令字,緊接著向遠程終端B 發(fā)出一個發(fā)送指令字。遠程終端B 在核實指令字之后,發(fā)送一個狀態(tài)字,繼之以規(guī)定數目的數據字。狀態(tài)字和數據字以沒有字間間隔的連續(xù)形式發(fā)送。遠程終端B 發(fā)出的數據傳輸結束時及遠程終端A 在接收到規(guī)定數目的數據字之后,發(fā)送一個狀態(tài)字[4]。詳見圖3。
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖3 所述,在GJB 289A 總線網絡內傳輸一條遠程終端至遠程終端的消息共需t3μs:
圖3 遠程終端向遠程終端的傳輸過程
總線控制器使用規(guī)定的方式代碼向遠程終端發(fā)出一個發(fā)送指令字,該遠程終端在核實指令字之后,回送一個狀態(tài)字[4]。詳見圖4。
圖4 不帶數據字的方式指令傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖4 所述,在GJB 289A 總線網絡內傳輸一條不帶數據字的方式指令的消息共需t4μs:
總線控制器使用規(guī)定的方式代碼向遠程終端發(fā)出一個發(fā)送指令字,該遠程終端在核實指令字之后,回送一個狀態(tài)字,繼之以一個數據字,狀態(tài)字和數據字以沒有字間間隔的連續(xù)形式發(fā)送[4]。詳見圖5。
圖5 帶數據字的方式指令(發(fā)送)的傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖5 所述,在GJB 289A 總線網絡內傳輸一條帶數據字的方式指令(發(fā)送)的消息共需t5μs:
總線控制器使用規(guī)定的方式代碼向遠程終端發(fā)出一個發(fā)送指令字,繼之以一個數據字。指令字和數據字以沒有字間間隔的連續(xù)形式發(fā)送。該遠程終端在核實指令字和數據字之后,回送一個狀態(tài)字[4]。詳見圖6。
圖6 帶數據字的方式指令(接收)的傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖6 所述,在GJB 289A 總線網絡內傳輸一條帶數據字的方式指令(接收)的消息共需t6μs:
總線控制器發(fā)出一個遠程終端地址字段為11111 的接收指令字,繼之以規(guī)定數目的數據字,指令字和數據字以沒有字間間隔的連續(xù)形式發(fā)送。具有接收廣播指令能力的各遠程終端在核實消息之后,按照規(guī)定在狀態(tài)字中將廣播指令接收位置位,但不回送狀態(tài)字[4]。詳見圖7。
圖7 總線控制器向各遠程終端的傳輸(廣播)過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖7 所述,在GJB 289A 總線網絡內傳輸一條控制器向各遠程終端的廣播消息共需t7μs:
總線控制器發(fā)出一個遠程終端地址字段為“11111”的接收指令字,繼之以使用遠程終端A 的專有地址向遠程終端A 發(fā)出一個發(fā)送指令字。遠程終端A 在核實指令字之后,回送一個狀態(tài)字,繼之以規(guī)定數目的數據字,狀態(tài)字和數據字以沒有字間間隔的連續(xù)形式發(fā)送。具有接收廣播指令能力的各遠程終端(除遠程終端A 之外)均應在核實消息之后,按照規(guī)定在狀態(tài)字中將廣播指令接收位置位,但不回送狀態(tài)字[4]。詳見圖8。
圖8 遠程終端向各遠程終端的傳輸(廣播)過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖8 所述,在GJB 289A 總線網絡內傳輸一條遠程終端向各遠程終端的廣播消息共需t8μs:
總線控制器發(fā)出一個含有方式代碼且遠程終端地址字段為“11111”的發(fā)送指令字,具有接收廣播指令能力的各遠程終端在核實指令字之后,按照規(guī)定在狀態(tài)字中將廣播指令接收位置位,但不回送狀態(tài)字[4]。詳見圖9。
圖9 不帶數據字的方式指令(廣播)的傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖9 所述,在GJB 289A 總線網絡內傳輸一條不帶數據字的方式指令的廣播消息共需t9μs:
總線控制器發(fā)出一個含有方式代碼且遠程終端地址字段為“11111”的接收指令字,繼之以一個數據字,指令字和數據字應以沒有字間間隔的連續(xù)形式發(fā)送。具有接收廣播指令能力的各遠程終端應在核實消息之后,按照規(guī)定在狀態(tài)字中將廣播指令接收位置位,但不回送狀態(tài)字[4]。詳見圖10。
圖10 帶數據字的方式指令(廣播)的傳輸過程
根據總線控制器至遠程終端的消息傳輸時間計算方法和圖10 所述,在GJB 289A 總線網絡內傳輸一條帶數據字的方式指令的廣播消息共需t10μs:
某系統(tǒng)的GJB 289A 總線網絡中各消息格式的數據量如表1,因總線網絡內非周期消息數據量小,對總線負載率的影響較小,故在下述計算過程中,將非周期消息等同于周期消息處理。
表1 某系統(tǒng)GJB 289A 總線網絡內通訊數據
根據式(3)、(4)、(5)、(9)、(11)和表1 可知,該系統(tǒng)GJB 289A 總線網絡的總線負載Load 為:
不考慮通訊出錯和通訊重發(fā)的情況,可知一個50ms的通訊周期內,傳輸所有消息的時間為21700μs。根據式(1),某系統(tǒng)GJB 289A 總線網絡負載率LR 為:
根據表1 和式(2)可知,一個通訊周期內傳輸數據位的時間為:
故,根據式(2)、(13)、(15),某系統(tǒng)GJB 289A 總線網絡傳輸效率BE 為:
當表1 中每條消息均可傳輸32 個數據字時,則達到該總線網絡的最大傳輸效率BEmax,即:
由式(1)、(14)可知,總線負載率與總線網絡上的數據量和通訊周期有關,數據量越小,通訊周期越長,總線負載率越低。同時降低響應時間和消息間隔也可降低總線負載率。
由式(2)、(16)可知,總線傳輸效率與每條消息內傳輸的數據量的大小相關,每條消息內傳輸的數據字越多,總線傳輸效率越高。
總線負載率和傳輸效率的大小均與采用的消息格式密切相關,例如,一個RT 需要另一個RT 的數據,如采用RT 至RT 的消息格式比采用RT 至BC,BC至RT 的傳輸形式具有更低的總線負載率和更高的總線傳輸效率。同時,總線網絡內選用傳輸數據的消息格式越多,總線傳輸效率也越高。
由式(17)可知,GJB 289A 總線網絡的最大傳輸效率和負載率無必然聯(lián)系,總線的最大傳輸效率只與采用的消息格式相關,消息格式選定后,每條消息最多傳輸32 個數據字,因此最大傳輸效率亦已確定。
本文針對GJB 289A 總線網絡負載率和傳輸效率計算的問題,提出一種負載率和傳輸效率準確計算的策略。以GJB 289A 總線網絡消息傳輸協(xié)議為基礎,綜合考慮消息內的數據量、消息傳輸格式、指令字、數據字、狀態(tài)字、消息間隔、遠程終端響應有效指令字的間隔時間等影響總線網絡負載率和傳輸效率的因素,給出了所有消息格式下總線網絡負載的計算策略,有效、準確地計算了GJB 289A 總線網絡的負載率和傳輸效率,并對總線負載率和傳輸效率進行分析,以便更為準確、有效地評估GJB 289A 總線網絡的帶寬余量,提高其傳輸效率,為后續(xù)GJB 289A 總線網絡組建和設計提供了理論依據。