文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.004
中文引用格式: 趙彬,易寧寧,鄭斐,等. 航電1394總線節點設計實現[J].電子技術應用,2016,42(6):13-16.
英文引用格式: Zhao Bin,Yi Ningning,Zheng Fei,et al. Design and implementation of avionics 1394 node[J].Application of Electronic Technique,2016,42(6):13-16.
0 引言
1394總線主要由機載網絡接口子卡連接組成,航電1394總線節點產品為主機使用1394網絡通信服務提供軟、硬件接口,完成主機設備與1394總線間的信息交互能力,實現對1394總線網絡系統運行的集中管理、時統控制、網絡結構維護和網絡數據通信功能,滿足任務系統對1394網絡的需求。該節點采用標準化、通用化及軟硬件協同的設計思路,由驅動軟件和FPGA邏輯共同實現SAE AS5643協議要求的CC、RN、BM一體化功能,提供PCI和PCIE兩種主機接口,支持S100B/S200B/S400B總線通信速率,并通過電氣特性驗證及可靠性與環境試驗驗證,滿足高可靠性機載環境使用的需求。
本文從硬件、邏輯構架和軟件三方面詳細介紹了航電1394總線節點的設計與實現過程,并通過網絡驗證平臺對節點功能、性能進行驗證。
1 節點設計
航電1394總線節點作為接入總線系統中的通用1394通信模塊,具備航電系統CC/RN/BM角色,實現1394總線網絡的控制、數據傳輸等功能。其設計遵循航空電子通信系統的層次結構劃分(見圖1),實現了系統物理層、數據鏈路層、傳輸層和驅動層的功能,其中,物理層與數據鏈路層由硬件實現,傳輸層(AS5643協議)通過可編程邏輯實現,應用軟件和驅動軟件駐留在上位機中,應用軟件與特定的子系統有關,通過調用驅動軟件實現子系統功能要求。
1.1 硬件設計
航電1394總線節點硬件設計采用標準化、通用化及軟硬件協同的設計思路,實現了CC/RN/BM功能統一設計,提供標準PCI及PCIE主機接口,具有1394總線AS5643協議解析、1394電氣信號驅動和消息存儲功能。其主要硬件結構設計如圖2所示。
節點設計采用FPGA邏輯實現AS5643協議處理功能,完成應用系統與主機接口連接。其中1394接口信號經過變壓器耦合方式輸出,每個節點對外提供3個端口,端口符合IEEE 1394B規范要求,支持S100、S200和S400 3種傳輸速率;1394鏈路層功能和1394物理層功能分別由符合協議規范的接口集成電路實現;提供4路離散量輸出信號和4路離散量輸入信號,用于搶權控制和功能擴展;配置1片4 Mbit Flash存儲器,用于存儲總線配置表[1]。
各主要模塊功能如下:
(1)主機接口電路模塊:主機接口可以采用32 bit/33 MHz工作方式PCI接口;也可以提供兼容PCIe1.1的1x規格、高速2.5 Gb/s接口。采用主機提供的二級直流電源(+5 V),經過電壓轉換器件產生3.3 V、2.5 V、1.8 V、1.2 V、1 V等各種電壓,滿足不同功能電路使用。
(2)時鐘電路模塊:主要由FPGA時鐘使用單端輸出的30 MHz晶振提供,便于邏輯功能分區實現。1394物理層時鐘按照協議規范,可選晶振或晶體提供49.152 MHz時鐘信號輸入。
(3)復位電路模塊:復位電路可根據實際的復位時間要求進行選擇,節點設計包含兩個復位:復位一為確保FPGA邏輯加載在全局復位結束前完成,采用監控芯片實現電壓控制和復位輸出;復位二為滿足單一復位時間要求,采用RC復位電路與施密特反相器配合消抖實現總線物理層接口復位。
1.2 邏輯設計
FPGA邏輯結構設計主要集成了主機接口模塊和AS5643協議處理模塊兩部分,其功能框圖如圖3所示[2]。主機接口模塊是主機與AS5643協議處理模塊進行數據交互的接口,實現主機對AS5643協議處理模塊所有資源的訪問。
AS5643協議處理單元模塊是FPGA邏輯設計的主要實現單元,該模塊采用CC/RN/BM節點一體化設計,完成主機與鏈路層接口芯片之間的通信,實現了AS5643協議定義的總線同步、總線通信、總線系統容錯等關鍵技術,支持S100B、S200B或S400B模式通信。
FPGA邏輯結構采用共享主機存儲工作方式,具備DMA引擎,實現數據在FPGA雙口與主機RAM之間的高速搬移;提供片內DPRAM存儲配置表信息,最大支持收發各128條消息,根據總線配置表進行消息調度;消息負載長度可配置,S100B模式下支持最大512 B,S400B模式下最大2 KB。
1.3 軟件設計
節點軟件由應用軟件和驅動軟件組成。驅動軟件主要完成主機端與1394節點之間的數據交互,是主機應用層與AS5643邏輯的中間層,提供API接口函數給上層應用調用,將應用層和硬件與邏輯之間的交互分開[3]。上層應用軟件與特定的子系統有關,應用軟件通過調用驅動軟件實現節點功能。軟件體系結構如圖4所示。
驅動軟件作為主機訪問1394接口子卡硬件資源和數據收發的接口,主要實現1394B總線數據通信和網絡管理,可提供對1394節點內程序的調度,對1394節點狀態的報告等處理,由主機應用層軟件進行調用。軟件采用CC/RN/BM節點功能兼容設計,支持VxWorks、ACoreOS、ACoreOS653等多種操作系統環境。
驅動軟件按功能模塊分為設備管理模塊、消息控制模塊、網絡管理模塊、時統管理模塊和中斷處理模塊等,如圖5所示。
節點軟件實現首先完成主機接口初始化,實現板卡資源的訪問、狀態及信息的控制與讀取。其次上層應用軟件通過調用驅動軟件實現1394節點功能,包括按照系統需求設置節點角色、網絡工作模式及加載系統配置表進行邏輯內部寄存器配置等來完成正常的網絡管理及數據通信。即CC節點能夠正確獲取網絡控制權,處理網絡節點狀態,發布網絡時間,發送和接收異步流消息;RN節點能夠發送上下網請求,獲取網絡時鐘,發送和接收異步流消息[4]。軟件流程如圖6所示。
2 技術優勢
與其他總線節點相比,該設計實現的總線節點主要技術優點如下:
(1)提出了PCI/PCIE接口復用設計電路,滿足多種主機接口需求;
(2)產品功耗較低(不大于6 W),體積小(68 mm×68 mm),重量輕(不超過60 g),可靠性高,使得產品應用范圍更廣,滿足機載及地面環境下的多重應用需求;
(3)針對機載總線傳輸高可靠要求,按照S100B、S200B、S400速率下的電氣特性指標,完成1394接口物理層信號完整性分析、設計及驗證,有效地提高了總線信號傳輸質量,保障了數據傳輸可靠性;
(4)實現按照預分配的偏移時刻定時發送的事件消息,實現Mil-1394總線網絡管理、網絡時統以及流數據傳輸的方法及電路;
(5)為提高產品的應用靈活性,在軟件、邏輯、硬件設計中首次采用CC/RN/BM一體化設計;
(6)設計實現了一種支持總線多節點的總線配置表結構和加載方案,滿足機載產品在線加載的應用要求;
(7)從總線系統、總線信號質量和線纜/連接器測試三方面構建總線驗證系統,進行網絡通信測試、產品電氣特性測試以及線纜連接器測試。
3 測試及驗證
航電1394總線節點測試主要針對板卡性能和功能進行測試,以保證該節點設計滿足協議功能需求和高可靠性、實時性的性能要求。
驗證環境由航電1394總線節點測試系統、1394航電仿真卡測試系統、連接線纜等組成,其中1394總線分析儀作為監控節點接入測試網絡。圖7為一個簡易的驗證環境連接圖。
針對Mil-1394總線對總線信號質量的要求,進行了環境試驗下的總線電氣特性測試和可靠性試驗等測試,保證其在惡劣復雜工作環境下的正常通信。該測試保證了總線信號傳輸質量,保障數據傳輸的可靠性。
功能測試通過搭建1394航電仿真卡與待測試子卡進行點對點測試,以及在驗證環境中加入多個待測子卡,組成網絡測試1394總線系統通信功能是否正常。主要測試待測子卡是否滿足AS5643協議的需求,包括STOF包發送/接收、總線網絡管理、時統管理、異步流消息的發送/接收、總線配置表文件加載、總線故障注入等。經驗證,1394總線節點能夠實現航電系統1394總線節點功能,并且通過1394總線協議分析儀監控結果分析得知功能正常。
4 結論
本文就航電1394總線節點的設計及實現技術進行研究,從硬件架構、邏輯設計及軟件實現等方面進行了分析。經1394總線驗證平臺實測,結果表明該航電1394總線節點實時性強、準確性高、性能穩定,并通過國軍標軟件工程化標準測試,可為各類機載安全關鍵和任務關鍵子系統提供高可靠、高確定、高帶寬的系統級總線接口,并為相關產品開發提供設計思路和實踐經驗。
參考文獻
[1] 張大樸,王曉,張大力,等.IEEE1394協議及接口設計[M].西安:西安電子科技大學出版社,2004.
[2] 趙彬,田澤,楊峰,等.基于AS5643協議的接口模塊設計與實現[J].計算機技術與發展,2013,23(8):100-102.
[3] 馮莎,盧選民,王興亮.一種基于SAE AS5643總線協議的驅動程序設計[J].測控技術,2013,31(10):98-100.
[4] 張少峰,田澤,楊峰,等.基于AS5643協議的Mil-1394仿真卡設計與實現[J].計算機技術與發展,2013(8):168-171.