文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.005
中文引用格式: 辛永利,靳偉平,賈釗,等. 1394總線三節點仿真設備設計與實現[J].電子技術應用,2016,42(6):17-20.
英文引用格式: Xin Yongli,Jin Weiping,Jia Zhao,et al. Design and implementation of 1394 three-node simulation card[J].Application of Electronic Technique,2016,42(6):17-20.
0 引言
在機載、防務領域,仿真技術已經成為武器裝備研制與試驗中的一項核心關鍵技術,在綜合化仿真環境和仿真系統的研制和建設中尤為重要。1394總線三節點仿真設備源于我國新型飛機綜合化仿真環境的研制需求,產品從需求出發,結合多種復雜仿真應用環境,設計滿足多個機載領域1394總線產品的試驗驗證需求,全面系統地實現機載網絡環境的綜合化仿真、測試,并輔助完成系統聯試、試驗。
本文從硬件設計、邏輯設計、軟件設計三方面闡述1394總線三節點仿真設備的設計與實現過程,并通過搭建仿真試驗環境,完成產品及系統級綜合驗證。
1 產品設計
1394總線三節點仿真設備主要應用于地面仿真環境下,實現1394總線系統中的控制計算機、遠程節點、監控節點以及加載維護節點的虛擬仿真功能。產品設計中通過軟硬件協同模式實現1394總線數據的收發功能[1],其鏈路層和物理層采用商業協議處理芯片實現了IEEE 1394b總線鏈路層和物理層協議處理功能,傳輸層采用基于FPGA邏輯電路實現AS5643協議處理功能。同時每個產品配置3條獨立的總線接口,各總線擁有獨立的軟件及硬件接口資源,每條總線提供3個獨立的端口(Port),支持S100B、S200B、S400B 3種傳輸速率。
1.1 硬件設計
1394總線三節點仿真設備硬件模塊設計中主要包括:FPGA電路、電源電路、復位電路、時鐘電路、1394接口電路,具體如圖1所示。FPGA電路實現1394總線協議處理,通過鏈路層組包/解包,再由物理層進行編解碼處理后通過接口電路發送到總線上,實現1394總線數據交互。
(1)主機接口
PCI接口采用標準的PC卡接口金手指連接器,主機通過金手指連接器獲得電源、訪問板卡資源并與板卡進行數據交互,完成FPGA與主機的通信。PCI接口邏輯部分由FPGA實現,采用32 bit/33 MHz的PCI總線接口。
(2)電源電路
仿真設備采用PC提供的5 V直流供電,經過電壓轉換器件產生FPGA+LLC+PHY所需的1.0 V電壓和3.3 V電壓。電壓轉換器選用LTC公司的LTM4616IV#PBF,該器件為兩路輸出,最大輸出電流均為8 A。
(3)復位電路
仿真設備支持兩種復位,分別是上電復位和總線復位。FPGA、三路鏈路層的上電復位和三路物理層的上電復位相互獨立均采用RC上電消抖復位,復位延時為10 ms;主機總線復位信號來自主機接口的復位輸出,這兩種復位信號均引入FPGA。
(4)時鐘電路
49.152 MHz的晶體提供給仿真設備的1394B總線協議芯片,50 MHz晶振作為FPGA的本板晶振,該時鐘在FPGA內部作為調度時鐘,避免與1394接口時鐘混用,便于邏輯分塊實現。為了能夠給晶振提供更穩定的電源,晶振電源輸入端增加磁珠隔離,并添加濾波電容,晶振的1管腳將其上拉為高電平。
(5)1394接口電路
仿真設備中1394信號通過矩型連接器引出,9個端口分別采用9根1394專用電纜引出,每根電纜的引線定義相同。同時1394總線信號采用變壓器耦合方式,提供Bilingual或Beta端口,端口模式可配置。1394總線信號通過矩型連接器插頭轉圓形連接器電纜引出到連接器上。
1.2 邏輯設計
仿真設備邏輯設計如圖2所示,主要集成了主機接口和DMA模塊、配置表模塊、AS5643協議處理等模塊。
其中主機接口主要負責填寫FPGA內部配置表內容、對FPGA內部寄存器進行讀寫操作和中斷操作,以及將鏈路層寄存器映射到主機接口的地址空間開放給主機訪問;DMA模塊負責主機主存與片外DPRAM之間的數據搬運。
配置表模塊主要是用于存儲總線發送接收配置表,配置表信息在初始化階段由主機加載完成,在總線收發調度邏輯來時供邏輯查詢調度,完成數據的匹配功能。
AS5643協議處理模塊實現了主機與鏈路層接口設備之間的通信,滿足基于IEEE-1394b的用法和需求建立的航空領域網絡傳輸數據總線標準SAE AS5643。FPGA邏輯配合軟件實現了AS5643總線網絡協議定義的異步流包、固定幀速率、STOF包同步、帶寬預分配、縱向奇偶校驗VPC、匿名簽署消息、通道號的靜態分配[2]、VPC與CRC錯誤注入、心跳字初始值自設定、數據收發控制、容錯檢測等功能。
子系統主機通過主機總線橋接口完成板卡資源的訪問、板卡狀態控制、狀態信息讀取,同時將節點配置表內容寫入片內DPRAM中,完成發送、接收、通信參數的配置功能,如圖2線①所示。在數據處理方面,為了提高數據處理效率,設計中采用DMA方式完成數據搬運工作,發送數據時主機軟件將待發送的數據按要求封裝完成后,啟動DMA控制器,將數據存入片外DPRAM中,在發送邏輯到來后完成數據組包及調度發送,如圖2中線②所示;接收數據時,主機軟件實時檢測接收消息狀態,在新的有效消息到來時,啟動DMA控制器將數據從片外DPRAM搬運至主機內存,供主機軟件處理,如圖2線③所示。
1.3 軟件設計
仿真設備軟件的作用是讓宿主機操作系統識別硬件設備,并且能夠完成對硬件資源的訪問,包括硬件資源初始化、硬件控制,以完成仿真設備正常通信功能。在進行軟件設計時,采用分層設計的思想,每一層軟件完成各自的功能,軟件層次之間采用簡單的接口進行交互,較低層次的軟件為高一層的軟件提供服務,如圖3所示。應用軟件為用戶提供可視化界面,通過調用1394驅動軟件來完成數據的發送;WDM驅動軟件一方面與1394驅動軟件完成數據及命令的交互,另一方面通過主機PCI能夠直接訪問AS5643邏輯。
1.3.1 WDM驅動軟件設計
WDM驅動軟件主要提供了設備存儲空間的讀寫訪問、應用層事件掛接、接收例程數據初始化、獲取數據等功能[3],同時在數據搬運時,為了提高軟件的運行效率及健壯性,在程序的設計上盡可能地減少軟件開銷,將數據處理交由板卡邏輯進行處理,軟件只進行狀態監控及數據整理。
1.3.2 1394驅動軟件設計
1394驅動軟件使用Win32標準API接口來訪問設備的硬件資源,完成主機端與FPGA之間的數據交互,以函數接口的形式提供給上層應用程序使用,使應用層不必關心仿真設備硬件邏輯及數據流轉的細節,只需要處理應用層數據的組織即可,其主要包括:通用控制接口、調試控制接口、消息控制接口、總線控制接口、系統配置接口、系統控制接口,具體如圖4所示。
1.3.3 應用軟件設計
仿真設備上層應用程序按照功能劃分為配置表模塊、狀態監控模塊、數據捕獲模塊、數據發送模塊和拓撲顯示模塊,如圖5所示。各功能模塊如下:
(1)Commander(拓撲顯示及控制):通過獲取仿真設備鏈路層芯片在總線節點狀態發生變動后產生的自標識包信息,解析出當前總線的連接拓撲關系并進行圖形化顯示,同時可發起總線長復位、短復位、復位風暴以及進行總線端口禁止、使能等;
(2)Monitor(狀態監控):對當前仿真設備的狀態信息進行實時監控,包括指定類型、指定速率數據包個數統計、錯誤包個數、總線復位次數統計、VPC錯誤統計、數據包負載錯誤統計等;
(3)Generator(數據發送):構造符合AS5643協議的數據包的各個字段,發送給目的終端,用于測試總線數據的發送功能;
(4)Recorder(數據記錄):將仿真設備接收到的數據包進行實時顯示,并按照1394協議的標準形式進行協議解析及分析;
(5)Recvcfg(配置表模塊):體現AS5643協議帶寬預分配策略,節點的發送消息、接收消息、消息偏移等配置參數的生成及修改;
(6)TicLoad(加載維護):提供總線網絡維護及節點配置表、邏輯文件遠程管理功能。
2 驗證與測試
通過上述1394總線三節點仿真設備搭建地面驗證測試系統環境,從拓撲構建、組網通信、總線容錯、加載維護等方面進行產品功能及網絡仿真驗證,如圖6所示,該演示環境由1個控制計算機、9個遠程節點和1個監控維護模塊組成基本的網絡拓撲,每個功能模塊均采用1394總線三節點仿真設備實現。
(1)拓撲構建
拓撲構建模塊中對總線系統中的總線拓撲結構顯示、節點狀態、端口速率顯示以及對各個端口進行禁止、使能、掛起等功能進行驗證測試。
(2)組網通信
組網通信模塊中基于總線測試系統,在遠程節點仿真中對其通道配置、配置加載、STOF包接收、數據偏移修改、異步流數據收發等功能進行驗證測試;控制計算機中對其配置加載、STOF包的配置發送、異步流數據收發、節點同步等功能進行驗證測試;總線監控中對其網絡數據異步流包、STOF包以及總線復位的數據監控及數據過濾等功能進行測試;同時在該總線中加載完整的通信配置表進行總線模擬仿真測試。
(3)總線容錯
總線容錯測試中通過仿真設備進行數據錯誤故障注入以及總線競爭等異常總線通信功能測試。
(4)加載維護
加載維護測試中主要測試總線節點信息的管理及加載功能,測試包括:節點標識、節點網絡狀態以及進行遠程節點配置表及邏輯文件加載測試。
基于上述總線仿真測試環境,分別對總線系統中的遠程節點、控制計算機、監控節點的功能及性能進行全面有效的測試,同時通過在實驗室組網模擬機載系統工作,并且接入到機載網絡中模擬其中的總線控制節點。經過大量的試驗及系統聯試,結果表明仿真設備的功能、性能均滿足試驗驗證需求。
3 結論
本文就1394總線三節點仿真設備的設計與實現技術進行了研究,從硬件、邏輯及軟件等方面進行了分析。通過搭建1394總線地面仿真驗證環境,實測設備的各項功能、性能指標,完成總線系統綜合化仿真測試。
經大量試驗驗證表明,該產品相比于國內外同類產品集成度高,通用性強,在仿真應用中有效降低了實驗成本,提高了驗證效率,進而為在地面仿真環境下構建1394總線系統提供了強有力的保障,可以推動1394總線通信技術在機載系統中的應用,對于進一步研制和開發1394總線具有重要意義。
參考文獻
[1] 張少峰,田澤,楊峰,等.基于AS5643協議的Mil-1394仿真卡設計與實現[J].計算機技術與發展,2013,8(23):168-171.
[2] Society of Automotive Engineers.IEEE 1394b interface requirements for military and aerospace vehicle applications[S].SAE Aerropace Standard 5643,2004.
[3] 張帆,史彩成.Windows驅動開發計數詳解[M].北京:電子工業出版社,2008.