周 音,張 淵,汪鵬志
(1.中國人民解放軍91977部隊,北京 100036;2.中國船舶集團有限公司第七二二研究所,湖北 武漢 430079)
議進行組網,形成多網結構;能無線傳輸多種外部在高速高帶寬數據通信系統(tǒng)中,同時存在多處輸入的原始數據,外部數據主要通過各種外部硬件理器的應用環(huán)境下,網控器要完成復雜的多鏈路接口傳輸進入通信系統(tǒng)。網控器軟件功能復雜,數協(xié)議切換以及對無線網絡進行實時管理,數據量據量大,硬件接口復雜,且分布在多個處理器下,所大,硬件接口十分復雜。網控器要完成多種任務,以基于該應用場景,本文提出一種基于VPX總線比如,處于運動狀態(tài)中的多個節(jié)點可按照約定的通的網絡控制器 DSP通用軟件設計,屏蔽了 IO物理接信協(xié)議自動組網,將網絡結構進行分層化管理:節(jié)口的區(qū)別,方便移植,降低開發(fā)成本,同時也可以滿點具備遲入網以及退網的功能,整個網絡可實現(xiàn)網足實時數據通信中大數據量、大計算量、高帶寬傳絡拓撲動態(tài)性調整;多個子網可根據約定的通信協(xié)輸的需求。
VPX總 線[1]是 一 種 由 VITA(VME International Trade Association)組織在2007年推出的基于 VME總線標準的新的工業(yè)高速串行總線標準。它不僅延續(xù)了VME總線的機械結構和基本規(guī)范等特性,而且還具備以下優(yōu)點:
(1)VPX總線使用高速串行通信方式替換并行通信方式,并且設計了更多的IO接口,大幅增強了系統(tǒng)設計的靈活度以及數據傳輸能力。
(2)VPX總線使用了泰科公司研制的 MultiGig RT2連接器產品,可以將更多的IO口用于提高系統(tǒng)的傳輸速率。同時,這種連接器連接十分緊密,穩(wěn)定性高,具備防靜電保護能力,信號干擾更小,能提高在惡劣條件下傳輸的可靠性。
(3)VPX總線對電源供電進行了升級,通過使用高電壓輸入,減少背板電流,不僅可以提供更高功率,還能減小電磁兼容帶來的影響。理論上 VPX總線采用 5V供電可提供的最大功率為120 W,而VME總線相同條件下最高僅能提供90 W功率。
考慮到本文中通信系統(tǒng)終端應用場景的復雜性,采用 VPX總線結構設計,可以確保系統(tǒng)對更小尺寸和重量、耐高低溫以及抗震性能的需求。除此以外,使用 VPX總線高速差分串行通信方式,能夠為RapidIO接口提供最快可達 5 Gb/s的傳輸速率,能夠滿足通信終端高速帶寬以及高功率的需求,同時也可以有效避免由于終端內部板卡間功耗較高而導致的散熱問題[2-3]。
高速高帶寬數據通信系統(tǒng)的終端由機箱以及內部的功能板卡構成,其布局如圖1所示。終端的機箱采用全封閉式加固設計,各板卡采用機箱傳導風冷方式進行散熱處理,各板卡之間通過背板使用 VPX總線進行互聯(lián)互通。終端主要包括六個部分:主控CPU板、接入 CPU板、DSP接收板、 DSP發(fā)送板、電源模塊、背板。
網控器的功能主要在 DSP和CPU板卡上實現(xiàn)。DSP發(fā)送板主要完成發(fā)送時機控制,外部接口數據的分類存儲,無線數據的組裝等功能;DSP接收板主要完成無線數據的接收和解析等功能。主控 CPU板主要完成外部接口數據的分類、轉換,外設控制等功能;接入 CPU板主要完成對外人機界面交互,狀態(tài)信息上報等功能。其中,SRIO交換功能主要由 RapidIO交換芯片完成,交換芯片經 SRIO總線與背板連接器相連,從而完成各板卡之間的高速互通。
基于軟件功能模塊設計與分層設計的思想,軟件架構設計分為三層,如圖2所示。
(1)硬件抽象層[4-6]。硬件抽象層主要對片內資源(例如中斷、 I/O接口、定時器、寄存器等)進行常規(guī)設置,將 SFR(special function register,特殊功能寄存器)的詳細操作封裝起來,形成可供上層調用的接口。
(2)功能模塊層。功能模塊層調用硬件抽象層提供的接口,完成片外功能模塊,封裝模塊內部的詳細操作,形成可供上層調用的接口。
圖1 機箱板卡示意圖
圖2 軟件分層設計
(3)應用程序層。應用程序層主要是一些開發(fā)類的工作,軟件整體功能的實現(xiàn)。
分層架構可以做到以下要求:層與層之間不能跨層調用;模塊與模塊之間各自獨立,無關聯(lián)關系;模塊提供統(tǒng)一的接口供調用;模塊的功能可以在原有的基礎上進行擴展,但不更改原有的功能。
功能模塊層使用驅動層的 API,來實現(xiàn)數據的發(fā)送和接收。驅動層的 API為自定義的標準接口,除了其他特殊功能函數,一般會包含如下三個核心函數:
(1)Interface_Init:初始化函數,主要完成硬件參數的配置和初始化工作。
(2)Interface_Send:發(fā)送函數,主要完成對數據的發(fā)送。
(3)Interface_Recv:接收函數,主要完成對數據的接收。
在DSP軟件的分層設計中,消息傳遞機制是基于VPX架構的,各板卡之間高速互通,能滿足多處理器同步,處理器之間交互大數據量的要求,故基于 VPX互通的消息傳遞機制是核心。本文設計基于 VPX互通的消息傳遞機制,消息報文格式如表 1所示。
表1 消息格式
其中,按照消息的分發(fā)方向和消息類型可分為三類:
(1)設備類型:主要是設備類的設備信息,狀態(tài)信息等。
(2)上報類型:主要是向上級控制軟件傳送此類消息,包括各種實時狀態(tài)信息,業(yè)務申請等。
(3)內部類型:主要是機箱內部各板卡之間傳遞的消息。
在三種消息類型的基礎上,可定義各子類型消息。消息類的函數主要有三種:
(1)Msg _Handle(unsigned char bType,unsigned char bSubType,unsigned char* pbData,unsigned short sLen)。消息處理函數,主要完成消息的解析處理。其中,bTy p e為消息類型,bSubType為消息子類型,pbData為數據地址,sLen為數據長度。在 Msg _Handle的函數處理中,會調用功能模塊層的某些模塊。
(2)Msg_ Dis(unsigned char bType,unsigned char bSubType,unsigned char* pbData,unsigned short sLen)。消息分發(fā)函數,主要完成消息的轉發(fā)以及本版卡此消息類型的處理(調用 Msg_ Handle)。其中,bTy pe為消息類型,bSubType為消息子類型,pbData為數據地址,sLen為數據長度。根據消息類型和消息子類型,發(fā)送指定的數據給指定的某個或多個板卡。
(3)Msg _Recv(unsigned char* pbData,unsigned short sLen)。消息接收處理函數,主要完成消息的接收和緩存。其中,pbData為待接收數據的地址,sLen為待接收數據的長度。在循環(huán)隊列中完成緩存后,數據會在main主函數中調用 Msg _ Handle進行解析處理。
基于這個消息傳遞處理機制,可實現(xiàn)多處理器的同步以及多處理器之間大數據量的傳遞。同時由于驅動層自定義 API的存在,消除了底層硬件接口的差異,具備良好的可移植性。
本文設計了一種適合高速高帶寬數據通信系統(tǒng)中,同時存在多處理器的應用環(huán)境下,一種基于VPX的DSP軟件通用架構設計,該設計屏蔽了底層硬件差別,統(tǒng)一使用標準化的硬件接口API,可實現(xiàn)網控器功能,提供多鏈路協(xié)議切換以及對無線網絡進行實時管理的功能,同時也滿足大數據量的要求。同時基于對底層硬件接口區(qū)別的屏蔽,該框架可方便地移植到其他硬件接口的平臺,也實現(xiàn)了模塊化分層化。