一種新型1553B備份總線控制器設(shè)計與實現(xiàn)
共享RAM中固定地址及ACE協(xié)議芯片寄存器初始化完成后,協(xié)議芯片即工作于RTMT模式,當協(xié)議芯片接收到有效命令,將觸發(fā)消息結(jié)束中斷,中斷服務(wù)程序完成對該條消息的處理。首先,用全局變量CurrQueuePtr記錄尚未處理的中斷隊列指針,其初始值為中斷隊列的起始地址0x1000;中斷向量隊列指針寄存器始終存放的是下一次中斷待寫入的中斷隊列指針,讀取中斷向量隊列指針寄存器(1F)內(nèi)下一次待寫入的中斷隊列指針NextQueuePtr,并進行如下處理:
其中Rt_Do_Msg()函數(shù)主要完成RT功能下消息接收或發(fā)送后的相關(guān)處理,如新數(shù)據(jù)標志的置位與清除等,方式命令的處理等。Mt_Do_Msg()函數(shù)主要完成MT功能,將數(shù)據(jù)從較小的MT數(shù)據(jù)棧(0x800~0x9FF)根據(jù)監(jiān)控過濾位,將需要監(jiān)控的消息按照特定的格式重新組織并存儲到較大的MT數(shù)據(jù)緩沖區(qū)(0xA000~0xF000)內(nèi),以備用戶使用。
3 應(yīng)用實例及分析
某項目采用1553B總線作為主干總線,總線上共有RT 13個,RT地址分別為1~13,1個BC,1個BBC,工作于RTMT模式下,RT地址為18。系統(tǒng)應(yīng)用的消息類型及條數(shù)見表2,系統(tǒng)應(yīng)用要求BBC應(yīng)能夠與BC同時獲取BC-RT及RT-BC之間的應(yīng)用數(shù)據(jù)通信內(nèi)容,用于同步解算。根據(jù)應(yīng)用要求,若采用BBC工作于RT模式,排列出的總線消息類型及消息條數(shù)見表3,根據(jù)應(yīng)用需求,共有BC-RT消息24條,為了滿足BBC同時獲取BC-RT消息的需求,必須增加24條BC到BBC的消息,同樣,共有RT-BC的消息65條,為了滿足BBC同時獲取RT-BC消息的需求,必須增加65條RT-BBC的消息,BBC需排列接收消息為BC-BBC及RT-BBC的消息綜合,共計92條,遠遠大于BBC作為RT模式,僅能接收消息30條消息的限制,且總線傳輸存在延遲,導致BBC不能與BC同步獲取BC-RT與RT-BC的消息,因此,BBC工作于RT模式無法滿足應(yīng)用需求。若采用BBC工作于MT模式,則無法滿足BC-BBC、BBC-BC及BBC-RT之間的數(shù)據(jù)傳輸要求。
采用新的設(shè)計方法后,BBC工作于RTMT模式,作為RT18可以滿足BBC-BC、BC-BBC、BBC-RT及RT-BBC之間的消息通信,同時作為MT可以有選擇的監(jiān)控BC-RT及RT-BC的消息,無需額外增加BC-BBC及RT-BBC的消息,即可讓BBC與BC同步獲取相應(yīng)應(yīng)用數(shù)據(jù)內(nèi)容,在不增加消息量的前提下,滿足了系統(tǒng)應(yīng)用的需求。
4 結(jié)論
本文首先介紹了當前1553B方向BBC的最新應(yīng)用模式,并基于1553B協(xié)議芯片給出了工作于RTMT模式下BBC的設(shè)計與實現(xiàn)方法,并結(jié)合工程實例,從實際應(yīng)用需求出發(fā),分析了RTMT模式與以往RT或MT模式下的應(yīng)用差別,在RT模式或者MT模式均不能滿足系統(tǒng)要求的前提下,采用RT MT模式很好的解決了系統(tǒng)對于BBC新的應(yīng)用需求,且無需增加任何總線負載,具有較強的工程實踐意義。
評論