文獻(xiàn)標(biāo)識碼: 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é)合多種復(fù)雜仿真應(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)中的控制計算機,、遠(yuǎn)程節(jié)點、監(jiān)控節(jié)點以及加載維護(hù)節(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電路,、電源電路、復(fù)位電路,、時鐘電路,、1394接口電路,具體如圖1所示,。FPGA電路實現(xiàn)1394總線協(xié)議處理,,通過鏈路層組包/解包,再由物理層進(jìn)行編解碼處理后通過接口電路發(fā)送到總線上,,實現(xiàn)1394總線數(shù)據(jù)交互,。
(1)主機接口
PCI接口采用標(biāo)準(zhǔn)的PC卡接口金手指連接器,主機通過金手指連接器獲得電源,、訪問板卡資源并與板卡進(jìn)行數(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)復(fù)位電路
仿真設(shè)備支持兩種復(fù)位,分別是上電復(fù)位和總線復(fù)位,。FPGA,、三路鏈路層的上電復(fù)位和三路物理層的上電復(fù)位相互獨立均采用RC上電消抖復(fù)位,復(fù)位延時為10 ms,;主機總線復(fù)位信號來自主機接口的復(fù)位輸出,,這兩種復(fù)位信號均引入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é)議處理等模塊,。
其中主機接口主要負(fù)責(zé)填寫FPGA內(nèi)部配置表內(nèi)容,、對FPGA內(nèi)部寄存器進(jìn)行讀寫操作和中斷操作,以及將鏈路層寄存器映射到主機接口的地址空間開放給主機訪問,;DMA模塊負(fù)責(zé)主機主存與片外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ù)總線標(biāo)準(zhǔn)SAE AS5643,。FPGA邏輯配合軟件實現(xiàn)了AS5643總線網(wǎng)絡(luò)協(xié)議定義的異步流包、固定幀速率,、STOF包同步,、帶寬預(yù)分配、縱向奇偶校驗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è)備正常通信功能。在進(jìn)行軟件設(shè)計時,,采用分層設(shè)計的思想,,每一層軟件完成各自的功能,,軟件層次之間采用簡單的接口進(jìn)行交互,,較低層次的軟件為高一層的軟件提供服務(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ù)處理交由板卡邏輯進(jìn)行處理,軟件只進(jìn)行狀態(tài)監(jiān)控及數(shù)據(jù)整理,。
1.3.2 1394驅(qū)動軟件設(shè)計
1394驅(qū)動軟件使用Win32標(biāo)準(zhǔn)API接口來訪問設(shè)備的硬件資源,,完成主機端與FPGA之間的數(shù)據(jù)交互,以函數(shù)接口的形式提供給上層應(yīng)用程序使用,,使應(yīng)用層不必關(guān)心仿真設(shè)備硬件邏輯及數(shù)據(jù)流轉(zhuǎn)的細(xì)節(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ā)送模塊和拓?fù)滹@示模塊,,如圖5所示。各功能模塊如下:
(1)Commander(拓?fù)滹@示及控制):通過獲取仿真設(shè)備鏈路層芯片在總線節(jié)點狀態(tài)發(fā)生變動后產(chǎn)生的自標(biāo)識包信息,,解析出當(dāng)前總線的連接拓?fù)潢P(guān)系并進(jìn)行圖形化顯示,,同時可發(fā)起總線長復(fù)位、短復(fù)位,、復(fù)位風(fēng)暴以及進(jìn)行總線端口禁止,、使能等;
(2)Monitor(狀態(tài)監(jiān)控):對當(dāng)前仿真設(shè)備的狀態(tài)信息進(jìn)行實時監(jiān)控,,包括指定類型,、指定速率數(shù)據(jù)包個數(shù)統(tǒng)計、錯誤包個數(shù),、總線復(fù)位次數(shù)統(tǒng)計,、VPC錯誤統(tǒng)計,、數(shù)據(jù)包負(fù)載錯誤統(tǒng)計等;
(3)Generator(數(shù)據(jù)發(fā)送):構(gòu)造符合AS5643協(xié)議的數(shù)據(jù)包的各個字段,,發(fā)送給目的終端,,用于測試總線數(shù)據(jù)的發(fā)送功能;
(4)Recorder(數(shù)據(jù)記錄):將仿真設(shè)備接收到的數(shù)據(jù)包進(jìn)行實時顯示,,并按照1394協(xié)議的標(biāo)準(zhǔn)形式進(jìn)行協(xié)議解析及分析,;
(5)Recvcfg(配置表模塊):體現(xiàn)AS5643協(xié)議帶寬預(yù)分配策略,節(jié)點的發(fā)送消息,、接收消息,、消息偏移等配置參數(shù)的生成及修改;
(6)TicLoad(加載維護(hù)):提供總線網(wǎng)絡(luò)維護(hù)及節(jié)點配置表,、邏輯文件遠(yuǎn)程管理功能,。
2 驗證與測試
通過上述1394總線三節(jié)點仿真設(shè)備搭建地面驗證測試系統(tǒng)環(huán)境,從拓?fù)錁?gòu)建,、組網(wǎng)通信,、總線容錯、加載維護(hù)等方面進(jìn)行產(chǎn)品功能及網(wǎng)絡(luò)仿真驗證,,如圖6所示,,該演示環(huán)境由1個控制計算機、9個遠(yuǎn)程節(jié)點和1個監(jiān)控維護(hù)模塊組成基本的網(wǎng)絡(luò)拓?fù)?,每個功能模塊均采用1394總線三節(jié)點仿真設(shè)備實現(xiàn),。
(1)拓?fù)錁?gòu)建
拓?fù)錁?gòu)建模塊中對總線系統(tǒng)中的總線拓?fù)浣Y(jié)構(gòu)顯示、節(jié)點狀態(tài),、端口速率顯示以及對各個端口進(jìn)行禁止,、使能、掛起等功能進(jìn)行驗證測試,。
(2)組網(wǎng)通信
組網(wǎng)通信模塊中基于總線測試系統(tǒng),,在遠(yuǎn)程節(jié)點仿真中對其通道配置、配置加載,、STOF包接收,、數(shù)據(jù)偏移修改、異步流數(shù)據(jù)收發(fā)等功能進(jìn)行驗證測試,;控制計算機中對其配置加載,、STOF包的配置發(fā)送、異步流數(shù)據(jù)收發(fā),、節(jié)點同步等功能進(jìn)行驗證測試,;總線監(jiān)控中對其網(wǎng)絡(luò)數(shù)據(jù)異步流包、STOF包以及總線復(fù)位的數(shù)據(jù)監(jiān)控及數(shù)據(jù)過濾等功能進(jìn)行測試,;同時在該總線中加載完整的通信配置表進(jìn)行總線模擬仿真測試,。
(3)總線容錯
總線容錯測試中通過仿真設(shè)備進(jìn)行數(shù)據(jù)錯誤故障注入以及總線競爭等異常總線通信功能測試,。
(4)加載維護(hù)
加載維護(hù)測試中主要測試總線節(jié)點信息的管理及加載功能,,測試包括:節(jié)點標(biāo)識、節(jié)點網(wǎng)絡(luò)狀態(tài)以及進(jìn)行遠(yuǎn)程節(jié)點配置表及邏輯文件加載測試,。
基于上述總線仿真測試環(huán)境,,分別對總線系統(tǒng)中的遠(yuǎn)程節(jié)點、控制計算機,、監(jiān)控節(jié)點的功能及性能進(jìn)行全面有效的測試,,同時通過在實驗室組網(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ù)進(jìn)行了研究,,從硬件、邏輯及軟件等方面進(jìn)行了分析,。通過搭建1394總線地面仿真驗證環(huán)境,,實測設(shè)備的各項功能、性能指標(biāo),,完成總線系統(tǒng)綜合化仿真測試,。
經(jīng)大量試驗驗證表明,該產(chǎn)品相比于國內(nèi)外同類產(chǎn)品集成度高,,通用性強,,在仿真應(yīng)用中有效降低了實驗成本,提高了驗證效率,,進(jìn)而為在地面仿真環(huán)境下構(gòu)建1394總線系統(tǒng)提供了強有力的保障,,可以推動1394總線通信技術(shù)在機載系統(tǒng)中的應(yīng)用,對于進(jìn)一步研制和開發(fā)1394總線具有重要意義,。
參考文獻(xiàn)
[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.