薛亞洲,羅 霄,張 樂
(1.中國飛行試驗研究院,陜西西安 710089;2.西安遠方航空技術(shù)發(fā)展有限公司,陜西 西安 710089)
DFTI 即數(shù)字飛行試驗[1]接口,是電傳飛控計算機預(yù)留給后端測試系統(tǒng)的專用數(shù)據(jù)輸出接口,對采用此接口的飛控系統(tǒng)的可靠性和穩(wěn)定性飛行鑒定有著極其重要的作用[2]。DFTI 是一種非標準接口,以某型電傳飛控計算機為例,其在數(shù)據(jù)的編碼組織結(jié)構(gòu)上符合MIL-STD-1553B 編碼,而輸出特性又滿足RS-422電平[3]。正是由于這種“非標”的輸出特性,后端專用數(shù)據(jù)采集系統(tǒng)在處理此接口時會面臨一定的挑戰(zhàn)[4],同時,具備該類型接口的設(shè)備均體積巨大[5],對外部條件要求苛刻,所以需要一臺能夠?qū)崿F(xiàn)與某型電傳飛控計算機DFTI 輸出特性完全匹配的便攜式模擬器,該模擬器具有高度可配置能力,用于后端采集系統(tǒng)的接口設(shè)計與故障排查。
DFTI 模擬器的系統(tǒng)組成框圖如圖1 所示。從功能模塊上看,DFTI 模擬器分為USB2.0 接口單元、主控單元、編碼輸出單元和電源單元,各單元實現(xiàn)的主要功能如下:
圖1 DFTI模擬器系統(tǒng)組成框圖
1)USB2.0 接口單元:USB 接口是DFTI 模擬器與外部通信的紐帶,實現(xiàn)了系統(tǒng)供電、配置信息交互、設(shè)備運行/停止等功能。
2)主控單元:以MicroBlaze 軟核為控制核心,配合各獨立的軟硬件功能單元,實現(xiàn)了USB2.0 接口的讀寫控制與底層驅(qū)動、MIL-STD-1553B 總線編碼邏輯、系統(tǒng)軟件運行等功能。
3)編碼輸出單元:最多支持8 路“非標”輸出接口,每路輸出格式、內(nèi)容、刷新率等均可獨立配置,位速率為1 Mbps。
4)電源單元:外部電源由USB2.0 接口的+5 VDC提供,內(nèi)部由多路DC-DC 電源芯片實現(xiàn)各單元的獨立供電。
1.2.1 接口芯片
CY7C68013A 是賽普拉斯公司的一款性價比極高的高度集成、低功耗USB2.0 微控制器。該控制器在單個芯片上集成了USB2.0 收發(fā)器、串行接口引擎(SIE)、增強型8051 微控制器和可編程外設(shè)接口并向下兼容全部USB 接口[6]。文中采用了Slave FIFO接口模式,這種架構(gòu)在端點RAM 中有8 個512 字節(jié)的模塊,可以直接用作FIFO 存儲器。這些模塊受控于FIFO 控制信號(IFCLK、SLCS、SLRD、SLWR),可直接連接FPGA 的IO 引腳[7]。數(shù)據(jù)讀取方式選取了異步讀寫模式,可通過實現(xiàn)相應(yīng)的讀寫邏輯完成與CY7C68013A 的數(shù)據(jù)交互。
1.2.2 固件庫設(shè)計
當硬件接口選定并且連接正確后,USB2.0 的開發(fā)就轉(zhuǎn)為了固件庫編程。賽普拉斯公司為了方便用戶開發(fā),為CY7C68013A 芯片提供了完備的固件庫函數(shù)與編程框架[8],重點包含了fw.c、bulkloop.c、dscr.51 等文件。
fw.c 文件是整個固件庫的根本,該文件完成包括上電枚舉、重枚舉、喚醒以及調(diào)用用戶自己的程序和控制命令等功能。dscr.51 是USB 描述符文件,包括設(shè)備描述符、接口描述符、端點描述符、字符串等。bulkloop.c 是用戶代碼寫入文件,此文件包含用戶修改最多的TD_Init 和TD_Poll 函數(shù)。當采用Slave FIFO 模式時,數(shù)據(jù)交互依靠硬件邏輯實現(xiàn),所以只需修改TD_Init 函數(shù)即可。TD_Init 函數(shù)的部分代碼如下:
主控制模塊是DFTI 模擬器的核心,不僅要實現(xiàn)與前端USB2.0 接口的數(shù)據(jù)交互,還要保證后端編碼輸出模塊的正常運行。文中選取了Xilinx 公司的Artix-7 Family FPGA 中的XC7A100T 系列控制器,該控制器具有邏輯資源豐富、功耗低、封裝尺寸小等特點[9]。在進行頂層設(shè)計時,各功能模塊均作為IP 核被獨立設(shè)計,并在其內(nèi)部構(gòu)建MicroBlaze 軟核[10],協(xié)同獨立的硬件邏輯單元實現(xiàn)模擬器的管理與運行。
MicroBlaze 軟核通過標準AXI 總線與硬件外設(shè)和各邏輯單元交聯(lián)。這些外設(shè)和邏輯單元包括ddr、外部存儲器、中斷控制器、USB2.0 控制邏輯、MILSTD-1553B 總線編碼邏輯等。運行在MicroBlaze 軟核中的系統(tǒng)軟件流程框圖如圖2 所示。
圖2 DFTI模擬器軟件流程圖
系統(tǒng)軟件執(zhí)行的重點是模擬器與USB2.0 接口之間的數(shù)據(jù)交互,共分為4 種數(shù)據(jù)交互方式,分別是連接指令、下載指令、上傳指令、運行指令。連接指令實現(xiàn)上位機與模擬器之間的配置連接,是一切操作步驟的基礎(chǔ);下載指令實現(xiàn)了配置數(shù)據(jù)流從上位機發(fā)往模擬器,用于更新配置信息;上傳指令實現(xiàn)了配置數(shù)據(jù)流從模擬器發(fā)往上位機,用于顯示當前設(shè)備的工作狀態(tài);運行指令實現(xiàn)設(shè)備的運行與停止操作。
模擬器上電后,上面板紅色電源指示燈點亮,此時可根據(jù)實際需求與上述交互方式對模擬器進行參數(shù)配置。交互完成后,系統(tǒng)會根據(jù)配置內(nèi)容使能數(shù)據(jù)發(fā)送定時器,并按照既定格式與周期把數(shù)據(jù)發(fā)往編碼輸出單元。運行指令成功執(zhí)行后,模擬器上面板綠色工作指示燈點亮。
1.4.1 硬件設(shè)計
通過上述內(nèi)容可知,DFTI 模擬器的輸出接口電平為標準RS-422 電平[11],在驅(qū)動電路上選取了TI 公司的AM26LC31四路差分驅(qū)動器,該芯片具備ESD 保護功能,支持5 V 單電源供電,符合TIA/EIA-422-B電氣標準,最高可工作在32 MHz的速率,滿足速率輸出要求。RS-422 驅(qū)動輸出電路原理圖如圖3 所示。
圖3 RS-422驅(qū)動輸出電路原理圖
DFTI 模擬器的數(shù)據(jù)組織結(jié)構(gòu)上符合MIL-STD-1553B 總線架構(gòu)與編碼方式[12]。1553B 總線協(xié)議規(guī)定,消息傳輸類型可分為狀態(tài)字、命令字、數(shù)據(jù)字,每種消息均由20位構(gòu)成,其中同步頭3位、數(shù)據(jù)字16位、奇校驗位1 位,根據(jù)同步頭判斷不同的消息類型[9]。其總線上發(fā)送的數(shù)據(jù)以曼徹斯特Ⅱ雙極性編碼方式傳輸,發(fā)送時在每一位數(shù)據(jù)的中間點進行跳變,“1”信號表示電平由1 向0 的跳變,“0”信號表示電平由0向1 的跳變,這種編碼方式又稱為自帶時鐘的編碼,僅需一對差分信號就可以進行消息傳輸。
目前,有兩種主流方法可用于實現(xiàn)MIL-STD-1553B 總線編碼:一種是在FPGA 內(nèi)部自行設(shè)計符合MIL-STD-1553B 總線規(guī)定的編碼邏輯[13-14],此方法具有成本低、節(jié)約PCB 板面積等優(yōu)點,但是其輸出的規(guī)范性與通用性略有欠缺;另一種是采用專用的總線協(xié)議芯片,該方法具有容易實現(xiàn)、可靠性和通用性非常高等特點[15-16]。綜合考慮,文中選取Intersil 公司的HD-15530 標準總線協(xié)議芯片,該芯片支持MILSTD-1553B 總線標準,具有獨立的編碼與解碼管腳,支持5 V 單電源供電,其原理圖如圖4 所示。
圖4 1553B總線編碼芯片電路原理圖
1.4.2 編碼程序設(shè)計
HD-15530 總線協(xié)議芯片的編碼時序如圖5 所示,可以看出其編碼時序遵從如下順序:在編碼移位時鐘的下降沿檢測到編碼使能管腳輸出高表示一次轉(zhuǎn)換的開始,每次轉(zhuǎn)換耗時20 個編碼移位時鐘周期。在隨后的編碼移位時鐘的上升沿,產(chǎn)生SYNC_SELCET 信號,該信號高表示命令字同步頭;該信號低表示數(shù)據(jù)字同步頭。當編碼器準備好接收數(shù)據(jù)時,SEND_DATA 輸出會變高并且保持16 個移位時鐘周期,輸出完成后,編碼器會自動添加校驗位。
圖5 HD-15530編碼時序圖
根據(jù)上述編碼順序設(shè)計了如圖6 所示的編碼狀態(tài)機,系統(tǒng)上電后處于空閑(IDLE)狀態(tài);當檢測到編碼移位時鐘下降沿且編碼使能置高時,根據(jù)同步頭要求進入命令字編碼(SYN_COMMAND)狀態(tài)或數(shù)據(jù)字編碼(SYN_DATA)狀態(tài);檢測到SEND_DATA上升沿信號后進入數(shù)據(jù)編碼發(fā)送(ENCODE)狀態(tài),發(fā)送完成后返回IDLE 狀態(tài)。
圖6 HD-15530編碼狀態(tài)機
DFTI 模擬器上位機軟件基于Visual Studio 10 環(huán)境開發(fā)。該上位機軟件用于引導(dǎo)模擬器的工作步驟,實現(xiàn)模擬器的運行與停止,模擬器不能脫開上位機軟件獨立工作,其運行界面如圖7 所示。
圖7 DFTI模擬器軟件運行界面
上位機軟件由功能按鈕、工作指示燈、發(fā)送顯示區(qū)、配置區(qū)、交互顯示區(qū)構(gòu)成。功能按鈕包括連接、下載、上傳、運行4 種指令,分別對應(yīng)著上位機與模擬器的4 種交互方式。工作指示燈表示模擬器的運行狀態(tài),點亮表示運行,熄滅代表停止。發(fā)送顯示區(qū)顯示模擬器將要發(fā)送的數(shù)據(jù)包內(nèi)容,通過上傳和下載指令可完成發(fā)送數(shù)據(jù)的更新。配置區(qū)實現(xiàn)對發(fā)送通道、發(fā)送間隔、發(fā)送內(nèi)容等數(shù)據(jù)格式的配置,可配合發(fā)送顯示區(qū)實現(xiàn)單字配置。交互顯示區(qū)用于顯示上位機與模擬器的交互結(jié)果。當設(shè)備上電且連接成功后,點擊下載與上傳指令可以實現(xiàn)對輸出參數(shù)的配置與讀取,點擊運行指令則會使能模擬器按照既定的幀格式輸出數(shù)據(jù),可根據(jù)交互顯示區(qū)顯示的內(nèi)容判斷當前操作的交互結(jié)果。
為了驗證DFTI 模擬器的各項功能,使用專用DFTI 測試機柜并配合示波器對其輸出接口進行了測試,結(jié)果表明,DFTI 模擬器輸出接口電平符合TIA/EIA-422-B 標準,數(shù)據(jù)符 合MIL-STD-1553B 總線組織形式,編碼方式為曼徹斯特編碼,接收與發(fā)送數(shù)據(jù)一致,可實現(xiàn)通道數(shù)、刷新率、參數(shù)內(nèi)容等的靈活配置。隨后對DFTI 模擬器進行環(huán)境溫度測試(-40~70℃)與12小時的拷機測試,結(jié)果均未見異常。
文中設(shè)計了一款與某型飛機DFTI 接口輸出特性完全匹配的便攜式模擬器,介紹了系統(tǒng)架構(gòu)并對各功能單元及上位機軟件進行了詳細的描述。各項實驗結(jié)果表明,DFTI 模擬器具有體積小、功耗低、操作簡單、工作可靠穩(wěn)定等特點。該模擬器對于外部環(huán)境無依賴,僅需一臺筆記本電腦就可以完成各項功能,適用于相關(guān)電傳飛控專用測試系統(tǒng)的研制與排故。