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