文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190603
中文引用格式: 王瀚,李杰,雷文彬,等. 智能彈藥飛參數(shù)據(jù)高速回讀系統(tǒng)關(guān)鍵技術(shù)研究[J].電子技術(shù)應(yīng)用,2019,45(11):55-58.
英文引用格式: Wang Han,Li Jie,Lei Wenbin,et al. Research on key technologies of high-speed retrospective system for intelligent ammunition[J]. Application of Electronic Technique,2019,45(11):55-58.
0 引言
在常規(guī)彈藥制導化改造進程中,所有改造的推斷性效應(yīng)必須經(jīng)過靶場實彈測試進行驗證[1]。為了最大發(fā)揮實彈測試的驗證效果,離線式彈載采集存儲設(shè)備在實彈測試的過程中發(fā)揮著重要作用[2]。在測試中需要通過數(shù)據(jù)回讀裝置對彈體內(nèi)部的固態(tài)存儲器進行數(shù)據(jù)回讀,對數(shù)據(jù)解析后得到相關(guān)飛參數(shù)據(jù)進行后續(xù)試驗[3]?,F(xiàn)今彈載數(shù)據(jù)記錄儀的功能越來越多樣化,記錄數(shù)據(jù)的種類越來越多,雷達、舵機、飛控乃至圖像信息都在需要記錄的數(shù)據(jù)范圍內(nèi)[4]。這導致對存儲容量的要求也越來越高,在一些對存儲速度、容量高要求的場合,已經(jīng)使用了eMMC等大容量存儲芯片[5]。在大容量高速存儲的同時也引發(fā)了一些問題,在數(shù)據(jù)回讀時低速的回讀設(shè)備需要耗費很長時間才能回收數(shù)據(jù),大大延長了數(shù)據(jù)分析的時間。因為需要根據(jù)記錄儀記錄的數(shù)據(jù)進行現(xiàn)場分析,并據(jù)此作出下一步試驗安排,低速回讀設(shè)備往往達不到現(xiàn)場數(shù)據(jù)處理的要求,導致靶場試驗無法繼續(xù)進行[6]。
針對以上問題,本設(shè)計使用FPGA搭配USB3.0接口,完成對eMMC存儲芯片內(nèi)大量數(shù)據(jù)讀取以及上傳操作。低速USB2.0傳輸速度只有1.5 Mb/s,全速USB2.0傳輸速率為12 Mb/s,高速USB2.0極限速率也只達到480 Mb/s,而USB3.0最高速度達到5 Gb/s,可以使數(shù)據(jù)回讀時間得到極大的縮減。且USB3.0可熱插拔,安裝簡單,符合實際應(yīng)用的需要。目前大部分USB3.0接口的設(shè)計是基于CYPRESS公司的CYUSB3014芯片,該芯片可實現(xiàn)復(fù)雜功能的同時,開發(fā)難度較大,開發(fā)周期較長,CYUSB3014采用BGA封裝,焊接和PCB(印制電路板)布線的難度都會大大增加[7]。本設(shè)計使用FTDI(Future Technology Devices International Ltd)公司的FT600芯片,該芯片采用QFN-56封裝,布線難度低,開發(fā)簡單,可靠性高,最高速度可以達到200 MB/s,滿足設(shè)計的需要。
1 總體方案設(shè)計
系統(tǒng)供電由USB口提供,并且設(shè)計電平轉(zhuǎn)換芯片提供芯片供電。系統(tǒng)主要由FPGA作為主控模塊,控制存儲器讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送至FT600,再由FT600將并行數(shù)據(jù)轉(zhuǎn)為串行,然后發(fā)送至PC端。上位機接收后,存儲在電腦上,并進行數(shù)據(jù)處理[8]??傮w設(shè)計如圖1所示。
2 硬件設(shè)計方案
系統(tǒng)硬件設(shè)計模塊較少,主要由三部分組成:電源模塊、主控模塊、USB3.0接口模塊。
2.1 電源模塊
系統(tǒng)設(shè)計通過USB口自供電,USB輸出5 V電壓,最高功率輸出最大電流達到900 mA,滿足系統(tǒng)的功耗要求,這種設(shè)計減少了外接電源的設(shè)計。為滿足FPGA,配置芯片以及FT600供電的需要,設(shè)計使用芯片TPS70345作為電壓轉(zhuǎn)換芯片,該芯片有準確的3.3 V、1.2 V雙通道輸出以及快速瞬態(tài)反應(yīng)能力。電路設(shè)計如圖2所示,芯片本身無需復(fù)雜外部電路,減少了元器件的使用和占用的空間。電源輸入以及電壓輸出管腳上的電容目的是防止電源和地線上的噪聲耦合到有用信號上,進而防止電磁干擾對數(shù)字信號的影響。在設(shè)計過程中,為保障供電穩(wěn)定,電壓輸出管腳應(yīng)盡量靠近被供電器件。TPS70345輸出電壓可以提供FPGA內(nèi)核供電、IO供電以及驅(qū)動電壓。FT600內(nèi)部集成了1 V低壓差線性穩(wěn)壓器,IO口支持+3.3 V/+2.5 V/+1.8 V供電,設(shè)計中IO供電與芯片供電保持一致,所以同樣選擇+3.3 V供電。
2.2 主控模塊
綜合考慮成本、功耗和性能,在本系統(tǒng)中使用Xilinx公司Spartan-6系列的XC6SLX9芯片作為主控芯片。這款芯片有9 152個邏輯單元、102個可配置I/O,滿足設(shè)計的需要。FPGA因為采用SRAM工藝,重復(fù)上電后內(nèi)部程序無法保留,因此需要選用裝載程序的配置芯片,以便系統(tǒng)上電時能快速導入配置比特流。本設(shè)計使用Xilinx公司的XCF04S芯片作為配置芯片,該芯片3.3 V電壓供電,容量達到4 Mbit,滿足設(shè)計的要求。主控芯片主要作用是通過控制FT600芯片,實現(xiàn)與PC端通信以及對存儲芯片的讀取擦除。當FPGA芯片接收到PC端讀指令后,對eMMC芯片進行讀取操作,首先把數(shù)據(jù)暫存在FPGA內(nèi)部FIFO中,之后傳輸?shù)紽T600內(nèi)置FIFO內(nèi),再通過上位機把數(shù)據(jù)保存到PC端。當收到PC端擦除指令時,F(xiàn)PGA直接控制存儲芯片,進入擦除模式。
2.3 USB3.0接口模塊
USB3.0是USB總線接口的最新技術(shù),具有多種數(shù)據(jù)傳輸模式、強大的供電能力和較低的設(shè)計成本,加上極高的數(shù)據(jù)傳輸速率,已成為應(yīng)用最廣泛且最具性價比的接口。
系統(tǒng)中選用FTDI公司的FT600芯片,支持超高速USB3.0,同時支持控制傳輸(Control)、塊傳輸(Bulk)、中斷傳輸(Interrupt)多種傳輸模式[9]。這4種數(shù)據(jù)傳輸方式在端點類型、數(shù)據(jù)包長度、傳輸速率以及實際應(yīng)用領(lǐng)域上各有各的特點。本設(shè)計要求的上傳數(shù)據(jù)量較大,對數(shù)據(jù)傳輸準確度要求較高,而且無實時性要求,宜采用塊傳輸模式。FT600擁有兩種并行從FIFO總線協(xié)議:多通道FIFO總線協(xié)議和245同步FIFO總線協(xié)議,擁有16 kB內(nèi)部RAM,兼容USB2.0和USB3.0,內(nèi)部自帶上電復(fù)位電路。該芯片可以滿足USB接口應(yīng)用的需求。并且FTDI公司提供驅(qū)動程序,在硬件設(shè)計完成后,只需進行簡單的軟件設(shè)計以及芯片配置便可以投入使用。
3 邏輯設(shè)計
FPGA要想通過FT600與上位機通信,并且識別指令根據(jù)需要完成讀數(shù)擦除等功能,首先需要確定與上位機的通信協(xié)議,把F1&&11&&E1作為讀取指令,把F2&&22&&G2作為擦除指令,把F3&&33&&H3作為中斷指令。當上位機向系統(tǒng)發(fā)送這些指令時,系統(tǒng)識別這些指令,并進行相關(guān)操作。邏輯設(shè)計主要分為指令接收識別、數(shù)據(jù)回讀、擦除,以及接收到中斷指令時中斷當前操作的程序。FPGA通過FT600獲取上位機的指令,識別指令后,根據(jù)不同的上位機指令進入相應(yīng)的模式。為了防止誤操作,還加入了中斷當前操作指令,識別后立即停止當前進行的數(shù)據(jù)讀取或者擦除操作。
在設(shè)計中,為保證數(shù)據(jù)準確以及不丟失,設(shè)計中多處使用了FIFO即先入先出存儲器隊列緩存數(shù)據(jù)。本設(shè)計是利用Xilinx FIFO生成器IP核建立FIFO,F(xiàn)IFO生成器IP核可以根據(jù)應(yīng)用需求來設(shè)計FIFO的寬度、深度、可編程的空滿狀態(tài)標識、存儲器類型以及讀寫位寬。本設(shè)計中建立的FIFO均為利用塊RAM建立的首字預(yù)現(xiàn)型,首字預(yù)現(xiàn)即在不影響FIFO讀操作的條件下查看下一個數(shù)據(jù)的能力,當FIFO內(nèi)數(shù)據(jù)可以被讀出時,F(xiàn)IFO內(nèi)的第一個數(shù)據(jù)自動被掛在數(shù)據(jù)總線上[10]。這對實現(xiàn)低延時數(shù)據(jù)訪問和根據(jù)讀取的數(shù)據(jù)內(nèi)容進行判斷有十分重要的意義。
在讀數(shù)過程中需要在短時間內(nèi)將大量存儲器數(shù)據(jù)讀取到FPGA內(nèi)部緩沖區(qū),再發(fā)送給FT600。為了節(jié)約緩存空間,減小速度壓力,采用FIFO乒乓緩存的方案,乒乓操作流程如圖3所示。為防止FIFO在FPGA執(zhí)行判斷語句時導致數(shù)據(jù)溢出,3個FIFO設(shè)置ALMOST_FULL標志位,表示FIFO滿之前能再進行一次寫操作,當ALMOST_FULL有效,停止存儲器數(shù)據(jù)讀取。
3.1 指令接收
FPGA在接收到可識別的上位機指令前,一直處于待命狀態(tài)。當FT600接收到上位機指令,表現(xiàn)為接收FIFO內(nèi)有數(shù)據(jù),就會即刻以將標志信號拉低方式通知FPGA,F(xiàn)PGA開始進行讀取FT600內(nèi)部FIFO數(shù)據(jù)的操作。讀取FT600接收到指令信息流程如圖4所示。
3.2 數(shù)據(jù)上傳
當FPGA識別到上位機的指令為讀數(shù)指令時,進入讀取模式,F(xiàn)PGA開始讀取存儲器內(nèi)部的數(shù)據(jù),將數(shù)據(jù)取出來后首先緩存到FIFO中,再將FIFO內(nèi)數(shù)據(jù)向FT600發(fā)送,通過FT600轉(zhuǎn)為串行并傳輸給PC端??刂艶T600向上位機傳輸數(shù)據(jù)的流程如圖5所示。
3.3 上位機設(shè)計
上位機設(shè)計如圖6所示。實彈試驗中,數(shù)據(jù)記錄儀需要記錄射前后及落地一段時間內(nèi)的彈體內(nèi)部各參數(shù),因此試驗完成后回讀的試驗數(shù)據(jù)不僅包括飛行過程中的參數(shù),還有射前以及落地后一段時間的數(shù)據(jù)。數(shù)據(jù)分析時,要求根據(jù)需要分析不同階段的數(shù)據(jù)。由于數(shù)據(jù)量過大,如果將全部數(shù)據(jù)全部解析,會導致分析數(shù)據(jù)時浪費過多的時間精力,因此上位機設(shè)計中,每接收256 MB數(shù)據(jù)分為一塊,在解析數(shù)據(jù)時,根據(jù)測試階段確定需要解析數(shù)據(jù)塊。
4 系統(tǒng)驗證
設(shè)計完成后進行了實物焊接與調(diào)試,使用QT編寫的上位機進行eMMC存儲芯片的數(shù)據(jù)回讀,實測結(jié)果如圖7所示。結(jié)果顯示,在25 s內(nèi)回讀了409 6 MB的數(shù)據(jù)量,結(jié)果表明,回讀eMMC存儲芯片內(nèi)部數(shù)據(jù)的速度可達160 MB/s,經(jīng)對比回讀的數(shù)據(jù)與存儲數(shù)據(jù)完全一致,無丟幀、錯幀問題,可以應(yīng)用于工程應(yīng)用中。
5 結(jié)論
本文介紹了一種基于USB3.0的高速數(shù)據(jù)回讀系統(tǒng),該系統(tǒng)以FPGA作為主控芯片,操作存儲芯片和接口芯片,實現(xiàn)大量數(shù)據(jù)短時間內(nèi)回讀。FT600作為USB3.0接口芯片,易于實現(xiàn),有較強的可靠性,數(shù)據(jù)回讀度快。通過使用Qt設(shè)計的上位機回讀速度可達到160 MB/s,能夠?qū)崿F(xiàn)大量數(shù)據(jù)短時間內(nèi)回讀。
參考文獻
[1] 劉俊,石云波,李杰.微慣性技術(shù)[M].北京:電子工業(yè)出版社,2005.
[2] 黃玉崗,李杰,秦麗,等.基于FPGA和ADS8568的彈載實時記錄系統(tǒng)設(shè)計[J].傳感技術(shù)學報,2016,29(4):506-511.
[3] 郝曉明,李杰,胡陳君,等.基于FPGA的彈載數(shù)據(jù)回讀系統(tǒng)設(shè)計[J].傳感技術(shù)學報,2015,28(7):1023-1027.
[4] 姜海洋,李杰,楊文卿,等.彈載飛參高速測試系統(tǒng)關(guān)鍵技術(shù)分析與設(shè)計驗證[J].科學技術(shù)與工程,2019,19(3):124-129.
[5] 李君豪,畢麗霞,王永利.多通道高速數(shù)據(jù)安全傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(9):125-128.
[6] 羅軍,范劍峰,呂宏峰,等.基于FPGA的塊存儲器資源功能驗證及實現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(9):44-47.
[7] 劉安,禹衛(wèi)東,馬小兵,等.基于FPGA的高速串行數(shù)據(jù)收發(fā)接口設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(6):48-51.
[8] 李澤明.基于USB3.0接口的高速數(shù)據(jù)傳輸電路設(shè)計與實現(xiàn)[D].太原:中北大學,2014.
[9] 金瑜.基于USB3.0的數(shù)據(jù)采集模塊設(shè)計[D].廣州:華南理工大學,2017.
[10] 劉東華.Xilinx系列FPGA芯片IP核詳解[M].北京:電子工業(yè)出版社,2013.
作者信息:
王 瀚1,李 杰1,雷文彬1,張 波2
(1.中北大學 儀器與電子學院 動態(tài)測試技術(shù)省部共建國家重點實驗室培育基地,山西 太原030051;
2.蘇州中盛納米科技有限公司,江蘇 蘇州215123)