一種新型1553B備份總線控制器設(shè)計與實現(xiàn)
1553B總線是在20世紀70年代末由美國提出的飛機內(nèi)部電子系統(tǒng)互聯(lián)的標準,具有靈活性和高可靠性,廣泛應(yīng)用于三代機中。經(jīng)過多年的發(fā)展和型號應(yīng)用,1553B軟硬件設(shè)計技術(shù)已經(jīng)相當(dāng)成熟,但隨著系統(tǒng)性能的提升,系統(tǒng)對1553B總線的性能要求也越來越高,應(yīng)用模式也發(fā)生較大的變化,如何讓1553B總線適應(yīng)新的系統(tǒng)性能要求及新的應(yīng)用模式是當(dāng)前研究的熱點。
BC是1553B總線消息傳輸?shù)慕M織者和發(fā)起者,即總線上所有的消息傳輸都由BC通過發(fā)送1553B命令來實現(xiàn),RT響應(yīng)BC發(fā)送的命令并執(zhí)行操作。1553B總線是雙冗余的傳輸線,具有A、B兩個互為備份的通道,增強了系統(tǒng)的可靠性。但是,由于總線上只能存在一個BC,一旦BC出現(xiàn)故障,則整個總線將癱瘓。工程實踐中通過增加BBC的方法來提升系統(tǒng)的可靠性,殷杰波等人提出了利用RT模式作為BBC的設(shè)計方法,該RT只接收一條BC的特定消息,通過查詢該消息的時間標志寄存器判斷在周期內(nèi)是否收到了該消息,以此判斷BC是否工作正常。此設(shè)計方法簡單有效,一旦BC故障,BBC可以切換為BC模式,進行總線管理與維護。楊衛(wèi)軍等人提出了利用MT模式作為BBC的設(shè)計方法;以上設(shè)計中,BBC僅用于監(jiān)控BC的工作狀態(tài),功能單一。新的應(yīng)用需求中,BBC需要具備三個功能:監(jiān)控BC的工作狀態(tài)、與其他子系統(tǒng)通信、同步獲取BC與其他子系統(tǒng)之間的應(yīng)用數(shù)據(jù)傳輸,完成系統(tǒng)應(yīng)用的同步解算,傳統(tǒng)RT或者MT模式作為BBC的設(shè)計方法無法滿足系統(tǒng)的要求,本文依據(jù)某1553B協(xié)議芯片,針對新的應(yīng)用模式,給出了一種BBC工作于RTMT模式的設(shè)計方法。
1 1553B應(yīng)用模式
1553B采用總線型拓撲結(jié)構(gòu),節(jié)點按照功能可以劃分為3類:BC、RT及MT,新的應(yīng)用模式下,接口控制文件定義了應(yīng)用相關(guān)的所有RT-BC及BC-RT的消息,如圖1所示,A系統(tǒng)為主,B系統(tǒng)為備份,A系統(tǒng)主機通過BC負責(zé)消息的組織與發(fā)送,B系統(tǒng)主機作為備份具有三個功能:
(1)通過BBC監(jiān)控A系統(tǒng)的運行狀態(tài),一旦A系統(tǒng)故障,B系統(tǒng)復(fù)位BBC并將其切換為BC,控制整個網(wǎng)絡(luò)的正常運行;
(2)BBC要能夠完成與BC及其他RT的數(shù)據(jù)通信;
(3)B系統(tǒng)主機需要實時獲取ICD文件中定義的所有應(yīng)用相關(guān)的消息,用于同步解算。例如,ICD文件中MSG1為一條RT-BC的消息,當(dāng)BC組織此消息時,A系統(tǒng)主機通過BC獲取到該消息,與此同時,B系統(tǒng)也要通過BBC獲取到該消息。
在以往設(shè)計模式中,如果BBC工作在RT模式,要滿足功能(3),必須根據(jù)原ICD文件中定義的RT-BC及BC-RT的消息增加相同數(shù)量的RT-BBC及BC-BBC的消息,會導(dǎo)致消息量倍增,無法保證系統(tǒng)的實時性,甚至超出1553B協(xié)議可承載的消息數(shù)量;如果BBC工作于MT模式,則無法滿足功能(2)。針對新的應(yīng)用模式,RT功能可以滿足條件(1),(2),MT功能則可以滿足條件(1),(3),若BBC工作于RTMT模式,某一時刻僅能工作于其中一種工作模式,即作RT時,完成RT功能,MT功能停止,作MT時,有選擇的監(jiān)控總線上的通信數(shù)據(jù),RT功能停止,RTMT功能根據(jù)總線上消息的類型完成自動切換,如果總線上的消息是與BBC的RT地址相關(guān),則工作于RT模式,如果總線上的消息和BBC的RT地址無關(guān),則工作于MT模式,則可以在不增加消息通信量的條件下滿足新的應(yīng)用模式。依據(jù)備份總線控制器工作于RTMT模式的思想,本文基于1553B協(xié)議芯片給出了BBC工作于RTMT模式的設(shè)計與實現(xiàn)方法,其應(yīng)用模式如圖1所示。
2 設(shè)計與實現(xiàn)
1553B協(xié)議芯片內(nèi)部功能強大,接口靈活、便于控制,可設(shè)置為BC、RT、MT及RTMT模式,在需要主機較小干預(yù)的情況下,基于RT地址、T/R位及子地址進行選擇性消息監(jiān)控。MT模式包含一個命令棧和一個數(shù)據(jù)棧,位于共享RAM的固定位置,且與BC或RT的命令棧獨立,選擇消息監(jiān)控模式下,協(xié)議芯片接收到一個有效命令,根據(jù)“選擇監(jiān)控表”(RAM中固定位置)決定是否使能該消息,如果指定的BIT位在“選擇監(jiān)控表”內(nèi)是0,命令將不被使能,忽略該消息,如果BIT位為1,命令被使能,進入監(jiān)控命令棧并將數(shù)據(jù)內(nèi)容存放到相應(yīng)的監(jiān)控數(shù)據(jù)棧中。
RTMT模式使得協(xié)議芯片除了處理和自己RT地址相關(guān)的消息外,其余時間用來有選擇的監(jiān)控總線上的數(shù)據(jù),其通過一個中斷狀態(tài)隊列實現(xiàn)RT模式與MT模式的判斷,如圖2所示。
該隊列按中斷產(chǎn)生的次序記錄中斷條件和中斷事件。中斷狀態(tài)隊列為64 B長度,可存儲32條監(jiān)控消息中斷。中斷狀態(tài)隊列的指針存儲在中斷向量隊列指針寄存器(寄存器地址0x1F)中,該寄存器必須由主機初始化,并由主機累加,中斷向量隊列指針寄存器始終指向下一個中斷的存儲地址。每個中斷事件產(chǎn)生,協(xié)議芯片將2 B寫入中斷隊列,第一個字為中斷向量,表明哪一類事件導(dǎo)致了中斷。中斷事件被分為2類:消息中斷事件和非消息中斷事件,第二個字為消息描述塊指針,指向消息描述塊的首地址。
基于以上1553B協(xié)議芯片的特點,RTMT功能實現(xiàn)主要包括兩部分:相關(guān)資源初始化及中斷服務(wù)處理程序的設(shè)計。
評論