張姣
摘要:GJB289A總線是國產化總線中應用廣泛的一種數據總線,基于MBI模塊可實現該總線通信,具有小型化、通用化和集成度高的優點。以往關于MBI模塊的介紹著重模塊本身的軟硬件設計,關于基于MBI模塊與子系統主機端實現GJB289A總線通信的設計介紹很少。本文著重于介紹軟件實現方法,將MBI模塊通信軟件分為傳輸層協議和驅動層協議,對上電和正常數據傳輸過程中各自的職能進行分析,為基于MBI實現GJB289A總線通信的軟件設計人員提供參考。
關鍵詞:GJB289A總線;MBI模塊;子系統主機;傳輸層協議;驅動層協議。
1引言
GJB289A總線是國內航空、航天、艦船及坦克領域中廣泛應用的數據總線,傳輸速率可達到10Mbps。目前國內已有廠家研發出了GJB289A總線的協議處理芯片,滿足了小體積低功耗,能適應惡劣環境的要求。將協議處理芯片、微處理器及多種外設資源集成在SoC片上系統中,形成智能化、通用化、小型化的模塊,再外搭輔助電路組成MBI模塊,可用于各種GJB289A總線通信場景。本文主要討論MBI模塊實現GJB289A通信的軟件實現方法。
2GJB289A總線原理
GJB289A總線系統由若干個子系統和數據總線組件構成。子系統是從數據總線接收數據服務的設備,終端是具有GJB289A總線接口的電子組件,是數據總線與子系統間互連的接口,終端分為總線控制器BC、遠程終端RT和總線監控器BM。
總線控制器BC是總線系統中組織信息傳輸的終端,遠程終端RT是總線系統中除了總線控制器和總線監控器之外的所有終端,總線監控器BM是總線系統中接收、記錄總線上傳輸的信息并有選擇地提取信息的終端。
3MBI功能介紹
MBI是由GJB289A總線接口SoC芯片、GJB289A數據收發電路、電源轉換電路、時鐘電路、復位電路、以太網接口模塊、UART接口等電路組成的通訊接口模塊,與主機端的接口為PCI,是連接GJB289A總線與子系統主機端的橋梁。
其中GJB289A總線接口SoC芯片是高性能、智能化、通用化和小型化的通信處理芯片,可依靠其內嵌的協議處理器核實現GJB289A中規定的RT/BC/BM功能。GJB289A協議處理芯片的主機接口與子系統主機連接,子系統主機通過訪問協議處理芯片內部的雙端口存儲器,實現對GJB289A數據總線數據的處理和對MBI模塊的控制。
4基于MBI的GJB289A通信實現
在GJB289A航空電子通信系統中,子系統通過接口模塊與GJB289A總線交互數據。本研究中MBI是直接與GJB289A總線交連的接口模塊,將總線上的數據轉發給主機端,主機端基于MBI模塊完成GJB289A數據的收發。
軟件架構
GJB289A總線通信中,MBI和主機的工作包括初始化過程和數據交互過程。初始化過程中啟動MBI模塊,使其具備與GJB289A數據總線交互能力,在成功初始化后,MBI模塊和主機同GJB289A總線上的其他子系統終端進行數據交互。
GJB289A通信軟件包括傳輸軟件、驅動軟件和應用軟件。軟件的分工描述為:
a)傳輸軟件完成傳輸層協議,負責GJB289A總線上的數據傳輸。傳輸軟件駐留在MBI中,主要完成MBI傳輸層功能,包括MBI初始化、運行、與GJB289A總線交互數據等。
b)驅動軟件完成驅動層協議,負責驅動MBI模塊并控制其工作狀態。驅動軟件駐留在主機端,驅動MBI模塊工作及控制MBI的運行狀態。
c)應用軟件完成應用層協議,負責對接收MBI模塊的數據緩沖區的數據進行處理。GJB289A應用軟件駐留在主機中,進行數據解析處理。
初始化過程
上電后,MBI進行上電自檢測及初始化配置。初始化配置完后MBI進入停止工作狀態,循環等待主機端驅動軟件的工作命令。
主機首先判斷MBI是否為停止狀態,然后主機中驅動軟件在MBI停止狀態下向MBI模塊發送命令。驅動軟件在命令字偏移地址中根據DPRAM中消息定義寫入置為RT模式、初始化和啟動控制命令字,使MBI分別執行置為RT模式、初始化和啟動命令,等待MBI響應。初始化工作過程如下圖所示。
MBI在讀到主機命令字后,將命令字單元清0,執行命令字指定的操作,然后將命令字轉存到響應字單元。驅動軟件三種命令的響應分別為:
a)置為RT模式命令,MBI進行RT地址配置,RT地址可通過MBI讀離散量獲取或者由主機端進行設置,MBI在對應的緩沖區中寫入獲取的RT地址值。
b)初始化命令,MBI初始化包括初始化DPRAM中接收和發送描述區、初始化協議處理器寄存器、初始化RT地址和初始化并打開中斷。
c)啟動命令,主機端向MBI發送啟動命令,MBI收到命令后,將當前狀態字置為啟動狀態,啟動協議處理器進行通信。
數據傳輸過程
MBI完成所有初始化工作后,中斷功能已打開,MBI傳輸軟件通過中斷方式進行GJB289A總線上的數據傳輸。MBI傳輸軟件進入標準中斷服務程序后,獲取當前處理的中斷記錄表項指針,根據指針指向的地址獲取對應的描述符指針,如果指針落在發送描述符區域,則進入發送消息的處理程序,如果指針落在接收描述符區域,則進入接收消息處理程序。
5總結
本文首先介紹了GJB289A原理及MBI模塊的功能,然后論述了基于MBI模塊實現GJB289A總線通信的軟件設計方法,從主機端和MBI端的配置過程及參數設置方面詳細說明了如何完成初始化配置過程和數據傳輸過程,完成了子系統中GJB289A總線通訊,為基于MBI模塊實現GJB289A總線通信的軟件設計人員提供實踐參考。
參考文獻
[1]楊峰,廖寅龍,王鑫.GJB289A總線應用層協議分析及研究[J].電子技術應用.2016,8(3):1400-1414.
[2]田澤,王菁,寇學鋒.高速GJB289A總線技術綜述[J]. 電子技術應用.2016,24(11):31-32.
[3]郭蒙,索高華,霍衛濤.小型化GJB289A數據總線協議處理SoC芯片設計[J]. 電子技術應用.2016,24(11):31-32.