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