機(jī)載PD火控雷達(dá)系統(tǒng)1553B總線驅(qū)動(dòng)層與傳輸層軟件界面分析
狀態(tài)區(qū)——狀態(tài)區(qū)是雙口區(qū)數(shù)據(jù)結(jié)構(gòu)中的首要環(huán)節(jié),驅(qū)動(dòng)層軟件通過(guò)狀態(tài)區(qū)設(shè)置MBI板工作狀態(tài),控制傳輸層軟件工作。傳輸層以特定單元查詢方式獲得驅(qū)動(dòng)層控制命令,并將執(zhí)行結(jié)果返回狀態(tài)區(qū),驅(qū)動(dòng)層根據(jù)傳輸層反饋信息獲得總線系統(tǒng)工作狀況。表1列出了狀態(tài)區(qū)的詳細(xì)數(shù)據(jù)內(nèi)容。
表1 總線狀態(tài)區(qū)內(nèi)容
控制方向 | 狀態(tài)字名稱 | 功 能 |
驅(qū)動(dòng)層傳輸層 | 工作方式字 | 定義MBI板BC/RT方式 |
終端(RT)號(hào)碼 | 置RT地址號(hào) | |
總線通訊表地址 | 標(biāo)識(shí)子系統(tǒng)總線通訊表首址 | |
工作狀態(tài)標(biāo)志字 | 控制MBI板工作狀態(tài) | |
傳輸層驅(qū)動(dòng)層 | 故障標(biāo)志字 | MBI板自檢返回信息 |
傳輸故障標(biāo)志字 | 說(shuō)明故障消息塊 | |
終端故障字 | 說(shuō)明RT故障 | |
中斷標(biāo)志字 | 說(shuō)明中斷性質(zhì) | |
MBI命令執(zhí)行標(biāo)志字 | 說(shuō)明MBI執(zhí)行命令狀態(tài) | |
矢量字 | 存放RT矢量字 |
狀態(tài)區(qū)中的數(shù)據(jù)單元分為驅(qū)動(dòng)層對(duì)傳輸層的控制指令和傳輸層向驅(qū)動(dòng)層的反饋狀態(tài)兩大類(lèi),其中工作方式字用于定義MBI板作為BC或RT;終端號(hào)碼僅對(duì)RT有效,它標(biāo)識(shí)RT的終端地址號(hào),同一總線系統(tǒng)中任兩個(gè)RT節(jié)點(diǎn)不能有相同的地址號(hào);總線通訊表地址用于標(biāo)識(shí)總線通訊表的首地址,其長(zhǎng)度則由通訊表內(nèi)部的結(jié)束標(biāo)志確定;工作狀態(tài)標(biāo)志字是狀態(tài)區(qū)中動(dòng)態(tài)變化較多的數(shù)據(jù)單元,它用于控制MBI的工作狀態(tài),如初始化、自檢測(cè)、啟動(dòng)數(shù)據(jù)傳輸和停止工作等;故障標(biāo)志字是傳輸層軟件反饋的MBI板自檢信息,它主要包括MBI板上的器件故障信息;傳輸故障標(biāo)志字給出在傳輸過(guò)程中發(fā)生故障的消息塊在總線表中的首地址,此標(biāo)志字僅對(duì)BC有效;終端故障字給出在傳輸過(guò)程中發(fā)生故障的RT地址及相應(yīng)的故障標(biāo)識(shí),此標(biāo)志字也僅對(duì)BC有效;中斷標(biāo)志字是MBI板在向宿主機(jī)發(fā)出中斷前置入的標(biāo)識(shí)信息,主要用于說(shuō)明此中斷的性質(zhì);MBI命令執(zhí)行標(biāo)志字是傳輸層執(zhí)行驅(qū)動(dòng)層命令后返回的結(jié)果信息,內(nèi)容包括完成、超時(shí)、通訊錯(cuò)誤等;矢量字用于動(dòng)態(tài)總線調(diào)度,它標(biāo)明請(qǐng)求加入傳輸?shù)南K號(hào),使用此機(jī)制可以節(jié)省正常的總線通訊開(kāi)銷(xiāo)。
總線表——總線通信表具有總線表和通信表兩種不同的形態(tài),其中總線表是在BC上根據(jù)系統(tǒng)應(yīng)用任務(wù)需求構(gòu)造,用于管理和組織系統(tǒng)中各節(jié)點(diǎn)間有效的數(shù)據(jù)傳輸〔2〕??偩€表是一個(gè)環(huán)形結(jié)構(gòu)(圖4),它由所有通過(guò)總線傳輸?shù)南K的命令組組成,每一命令組共8個(gè)字,其中首指針就是該命令組的首地址的偏移量;控制字包含了消息傳輸狀態(tài)、消息剪裁標(biāo)志(SKIP)、重試標(biāo)志、傳輸方向標(biāo)志、延遲時(shí)標(biāo)等控制信息;命令字1是接收方RT的地址號(hào)、消息子地址號(hào)、消息長(zhǎng)度等信息的組合,命令字2則是發(fā)送方RT的地址號(hào)、消息子地址號(hào)、消息長(zhǎng)度等信息的組合,當(dāng)發(fā)送或接收方有一個(gè)為BC時(shí),相應(yīng)的接收或發(fā)送命令置0;數(shù)據(jù)表指針只對(duì)RT與BC之間的傳輸有效,它標(biāo)識(shí)此消息塊在BC雙口區(qū)內(nèi)的地址;狀態(tài)字1和狀態(tài)字2分別對(duì)應(yīng)于命令字1和命令字2,用于反饋RT執(zhí)行該消息傳輸?shù)慕Y(jié)果狀態(tài),內(nèi)容包括消息出錯(cuò)位、子系統(tǒng)忙位等;尾指針指向下一命令組的首址,特別是最后一個(gè)尾指針指向總線表的首址。
通信表——由于RT和BC性質(zhì)上的區(qū)別,RT上用于控制消息傳輸?shù)耐ㄐ疟砼cBC上的總線表相比更為簡(jiǎn)單,每個(gè)子系統(tǒng)根據(jù)本子系統(tǒng)數(shù)據(jù)傳輸?shù)男枨筇顚?xiě)數(shù)據(jù)輸入輸出結(jié)構(gòu),驅(qū)動(dòng)層軟件根據(jù)數(shù)據(jù)結(jié)構(gòu)生成子系統(tǒng)所需的總線通訊表并存入通信表區(qū)。輸入輸出數(shù)據(jù)結(jié)構(gòu)主要給出信息存放的邏輯號(hào),說(shuō)明數(shù)據(jù)存放的子地址、傳輸消息長(zhǎng)度、數(shù)據(jù)是否允許覆蓋及緊急消息標(biāo)志等。
數(shù)據(jù)接收區(qū)——數(shù)據(jù)接收區(qū)包含兩個(gè)可以交替使用的數(shù)據(jù)緩沖區(qū),其中每個(gè)緩沖區(qū)包括32個(gè)數(shù)據(jù)塊,每一塊的長(zhǎng)度是32字,它們存放接收到的總線系統(tǒng)數(shù)據(jù)。
數(shù)據(jù)發(fā)送區(qū)——數(shù)據(jù)發(fā)送區(qū)的組成與數(shù)據(jù)接收區(qū)一樣,用于存放子系統(tǒng)準(zhǔn)備發(fā)送到總線系統(tǒng)的數(shù)據(jù)。
圖4 BC總線表環(huán)形結(jié)構(gòu)
中斷記錄表——中斷記錄表是由若干個(gè)中斷記錄組成的鏈形結(jié)構(gòu)(圖5),它向驅(qū)動(dòng)層軟件提供各個(gè)通過(guò)中斷實(shí)現(xiàn)通訊的消息塊的信息,每個(gè)記錄中的中斷狀態(tài)字包含了中斷的有效性、及時(shí)性、正確性和消息分類(lèi)等信息;消息指針標(biāo)識(shí)了BC命令塊指針或MT(Monitor Terminal)消息塊指針或RT描述符空間指針;尾指針指向下一中斷記錄。
圖5 中斷記錄表結(jié)構(gòu)
4 通訊機(jī)制
在雷達(dá)系統(tǒng)1553B總線中,應(yīng)用層軟件之間的每一次數(shù)據(jù)通訊都必須經(jīng)過(guò)兩次傳輸層與驅(qū)動(dòng)層軟件之間的通訊才能得以實(shí)現(xiàn),所以傳輸層與驅(qū)動(dòng)層之間的消息通訊的一致性、完整性和實(shí)時(shí)性都是建立總線通訊機(jī)制中必須考慮的重要問(wèn)題。
讀寫(xiě)鎖機(jī)制——由于驅(qū)動(dòng)層軟件和傳輸層軟件分別駐留在宿主機(jī)和MBI兩個(gè)CPU系統(tǒng)中,除少數(shù)緊急消息通過(guò)中斷實(shí)現(xiàn)通訊外,其它均采用異步通信方式,因此它們之間的數(shù)據(jù)通訊必須首先解決一致性問(wèn)題。例如,設(shè)雷達(dá)系統(tǒng)在t時(shí)刻輸出的目標(biāo)測(cè)量數(shù)據(jù)為距離R(t)、速度V(t)、方位A(t)和俯仰E(t),它們應(yīng)該具有某種函數(shù)關(guān)系
F(R(t),V(t),A(t),E(t),t)=0
當(dāng)總線通訊中每一組數(shù)據(jù)內(nèi)的目標(biāo)數(shù)據(jù)均具有相同的時(shí)間參量時(shí),(1)式便能成立;而當(dāng)這組數(shù)據(jù)不具有相同的時(shí)間參量時(shí),(1)式便不能成立。在某些情形,這種不匹配的時(shí)間關(guān)系會(huì)導(dǎo)致嚴(yán)重的后果,這就是數(shù)據(jù)傳輸?shù)囊恢滦詥?wèn)題。解決此問(wèn)題的一個(gè)有效的方法就是建立消息緩沖區(qū)的讀寫(xiě)鎖機(jī)制。
評(píng)論