丁紅暉+馬游春+蘇慶慶
摘 要: 彈載記錄儀是彈上關(guān)鍵設(shè)備,為了可以快速準(zhǔn)確地記錄彈箭開(kāi)倉(cāng)時(shí)的加速度及角速度飛行參數(shù),提出一種基于高速eMMC存儲(chǔ)的彈載記錄儀設(shè)計(jì)方案。介紹系統(tǒng)的總體硬件架構(gòu)和軟件工作流程,重點(diǎn)研究單塊eMMC數(shù)據(jù)讀寫(xiě)的邏輯設(shè)計(jì),F(xiàn)PGA與eMMC存儲(chǔ)之間的數(shù)據(jù)傳遞采用串行的方式進(jìn)行傳輸,寫(xiě)入速度為20 MB/s,讀出速度為44 MB/s,存儲(chǔ)容量為32 GB,實(shí)現(xiàn)一種高速讀/寫(xiě)、低功耗、集成度高的6通道采集系統(tǒng)。實(shí)驗(yàn)表明,這個(gè)設(shè)計(jì)可完整讀取到30 000 g的沖擊數(shù)據(jù)。
關(guān)鍵詞: 彈載記錄儀; Actel FPGA; eMMC存儲(chǔ); 高速采集; 低功耗控制; 電路設(shè)計(jì)
中圖分類號(hào): TN820.4?34; TN702 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)06?0070?04
Abstract: Missile?borne recorder is the key device of projectile. To rapidly and accurately record acceleration and angular velocity flight parameters on projectile opening, a design scheme of the missile?borne recorder based on high?speed eMMC storage is proposed in this paper. The overall hardware architecture and software workflow of the system are introduced. The design of data read?write logic for single?block eMMC is emphatically studied. The serial mode is adopted for data transmission between FPGA and eMMC storage. A six?channel acquisition system with high?speed read?write, low power consumption and high integration is achieved, whose write?in speed is 20 MB/s, read?out speed is 44 MB/s, and storage capacity is 32 GB. The experimental results demonstrate that this design can fully read the data with 30 000 g impact.
Keywords: missile?borne recorder; Actel FPGA; eMMC storage; high?speed data acquisition; low?power consumption control; circuit design
0 引 言
近年來(lái),隨著國(guó)家軍事的快速發(fā)展,對(duì)各彈種空中運(yùn)動(dòng)狀態(tài)的測(cè)試需求也不斷擴(kuò)大,高過(guò)載的數(shù)據(jù)采集與存儲(chǔ)技術(shù)變得十分重要。系統(tǒng)要存儲(chǔ)的是導(dǎo)彈飛行過(guò)程中角速度和線加速度數(shù)據(jù),對(duì)存儲(chǔ)速度、容量及工作穩(wěn)定性都有很高的要求[1]。目前,彈載采集存儲(chǔ)系統(tǒng)主要是通過(guò)多片NAND FLASH進(jìn)行存儲(chǔ),雖然容量上勉強(qiáng)滿足需求,但讀/寫(xiě)的速度還是很慢,在壞塊管理過(guò)程中,它的復(fù)雜程度跟不上發(fā)展的需求,這讓系統(tǒng)操作起來(lái)效率低下,等待的時(shí)間很長(zhǎng)[2]。
在充分考慮存儲(chǔ)芯片的封裝體積、容量、讀/寫(xiě)速度、功耗等參數(shù)下,本文提出一種基于高速eMMC存儲(chǔ)芯片的彈載記錄儀系統(tǒng)設(shè)計(jì)。eMMC存儲(chǔ)芯片本身具有高集成度、高性能、低功耗以及高數(shù)據(jù)吞吐率等特點(diǎn),單片存儲(chǔ)容量[3]最高可達(dá)128 GB。同時(shí)由于本身內(nèi)部集成控制芯片可以自我管理壞塊及錯(cuò)誤檢測(cè)與糾正,使得通過(guò)FPGA操作起來(lái)更加簡(jiǎn)單方便,僅需控制數(shù)據(jù)的讀/寫(xiě)操作過(guò)程即可,很好地節(jié)約了系統(tǒng)的資源[4]。
1 彈載記錄儀的硬件設(shè)計(jì)
彈載采集存儲(chǔ)系統(tǒng)主要由FPGA主控模塊、A/D采集模塊、單塊eMMC存儲(chǔ)模塊、傳感器模塊、信號(hào)調(diào)理模塊及電源模塊組成。FPGA主控模塊實(shí)現(xiàn)對(duì)A/D采集模塊、eMMC存儲(chǔ)單元和電源模塊的控制;eMMC存儲(chǔ)模塊完成對(duì)傳感器信號(hào)的存儲(chǔ)與讀取;傳感器模塊負(fù)責(zé)對(duì)3軸角速度信號(hào)和3軸線加速度信號(hào)的采集和輸出;調(diào)理電路模塊實(shí)現(xiàn)對(duì)3軸線加速度信號(hào)的放大和濾波;鋰電池7.2 V電壓為整個(gè)系統(tǒng)供電,通過(guò)電壓轉(zhuǎn)換芯片得到各個(gè)模塊所需的電壓[5]。系統(tǒng)總體框圖如圖1所示。
1.1 FPGA主控模塊設(shè)計(jì)
該系統(tǒng)采用Actel公司IGLOO系列的FPGA,型號(hào)為AGLN250V2?CS81。Actel公司的FPGA是基于FLASH結(jié)構(gòu),Altera,Xilinx和Lattice公司都是采用SRAM結(jié)構(gòu),掉電數(shù)據(jù)丟失需要一塊配置芯片;而Actel FPGA無(wú)須配置,相對(duì)操作更加方便,節(jié)省電路板空間。IGLOO系列的FPGA具有超低功耗,擁有獨(dú)特的FLASH Freeze睡眠模式,在此模式下最低功耗可達(dá)5 μW,并能保存RAM和寄存器的狀態(tài)[6]。CS81這個(gè)型號(hào)具有高集成度BGA封裝,尺寸僅有5 mm×5 mm,極大地縮小了采集板的空間。
endprint
1.2 A/D采集模塊設(shè)計(jì)
彈載記錄儀系統(tǒng)需要采集3軸角速度傳感器信號(hào)和3軸線加速度傳感器信號(hào),即6個(gè)通道的數(shù)據(jù)。為了保證采集到準(zhǔn)確的模擬信號(hào),記錄儀選用高精度16位逐次逼近型AD7983,采用6路同步串行的方式完成信號(hào)的采集[7]。A/D采集模塊電路原理圖如圖2所示。
1.3 單塊eMMC存儲(chǔ)模塊設(shè)計(jì)
該系統(tǒng)選用鎂光公司的MTFC32GJVED?4M IT作為數(shù)據(jù)存儲(chǔ)芯片,容量為32 GB,支持最大的時(shí)鐘速率為52 MHz,連續(xù)寫(xiě)數(shù)據(jù)能力為20 MB/s,連續(xù)讀數(shù)據(jù)能力為44 MB/s。單塊eMMC芯片一共有10根信號(hào)控制線,8位數(shù)據(jù)線DAT7?DAT0,1根時(shí)鐘線CLK和1根命令線CMD[8]。單塊eMMC電路原理圖如圖3所示。
2 彈載記錄儀的軟件設(shè)計(jì)
2.1 系統(tǒng)邏輯設(shè)計(jì)
FPGA程序在Actel公司Libero開(kāi)發(fā)環(huán)境中通過(guò)VHDL程序編寫(xiě)的,圖4為記錄儀工作流程圖。采集系統(tǒng)首先通過(guò)外部斷線觸發(fā),使得記錄儀開(kāi)始上電復(fù)位,進(jìn)入延時(shí)狀態(tài),此時(shí)的工作電流僅有20 mA,延時(shí)設(shè)置默認(rèn)為1 min,延遲時(shí)間可以通過(guò)上位機(jī)來(lái)修改。延時(shí)結(jié)束,進(jìn)入采集狀態(tài),采集時(shí)的工作電流為40 mA,此時(shí)為系統(tǒng)最大功耗,僅有288 mW。eMMC存儲(chǔ)以20 MB/s速度進(jìn)行寫(xiě)操作,27.5 min可以采滿整塊存儲(chǔ)單元。若要提前結(jié)束采集狀態(tài),僅需將Trig引線與Gnd引線短接,即可立即結(jié)束采集狀態(tài)且完成系統(tǒng)斷電工作,可以減少記錄儀的電源損耗[9]。
2.2 eMMC陣列邏輯設(shè)計(jì)
在系統(tǒng)上電后,首先對(duì)eMMC進(jìn)行初始化,完成對(duì)eMMC的地址分配,時(shí)鐘頻率、時(shí)鐘模式、數(shù)據(jù)位寬的設(shè)置[10]。其初始化流程圖如圖5所示。系統(tǒng)選用高速SDR速度模式進(jìn)行數(shù)據(jù)傳輸,最高時(shí)鐘頻率為52 MHz,傳輸位寬4位,經(jīng)計(jì)算理論峰值速度為52 MHz×4 bit,即26 MB/s。1個(gè)字節(jié)需要分2次傳輸,先傳高位4位,再傳低位4位。在單倍數(shù)據(jù)傳輸模式下,主機(jī)在時(shí)鐘的上升沿將數(shù)據(jù)輸出,此時(shí)設(shè)備進(jìn)行采樣寫(xiě)入,且每條數(shù)據(jù)線上都有一個(gè)CRC16校驗(yàn),保證數(shù)據(jù)傳輸?shù)恼_性和完整性[11]。
FPGA首先發(fā)送CMD16(0x5000000009BB)命令設(shè)置單塊長(zhǎng)度,單塊長(zhǎng)度設(shè)置結(jié)束后,開(kāi)始發(fā)送單塊寫(xiě)命令CMD25(0x58000000006F),其中包含起始地址,待eMMC芯片收到響應(yīng),就可以進(jìn)行寫(xiě)操作,但只要命令CMD25響應(yīng)錯(cuò)誤或超時(shí)就需要再次發(fā)送。寫(xiě)入eMMC的數(shù)據(jù)含有CRC校驗(yàn),在此會(huì)進(jìn)行判斷,校驗(yàn)錯(cuò)誤則需要繼續(xù)執(zhí)行CMD25單塊寫(xiě)命令,重新開(kāi)始寫(xiě)過(guò)程,校驗(yàn)成功則可以繼續(xù)發(fā)送CMD13查詢?cè)O(shè)備狀態(tài),BUSY狀態(tài)為低,表示塊陣列寫(xiě)輸入成功,結(jié)束工作,若BUSY標(biāo)志位為高,則繼續(xù)等待直到BUSY為低為止[12]。
2.2.2 讀數(shù)據(jù)流程
eMMC讀數(shù)據(jù)流程如圖7所示。
在單塊讀操作開(kāi)始時(shí),同數(shù)據(jù)寫(xiě)操作流程一致,首先發(fā)送CMD16(0x5000000009BB)命令設(shè)置單塊的長(zhǎng)度,待單塊長(zhǎng)度設(shè)置結(jié)束后,開(kāi)始發(fā)送eMMC芯片讀命令CMD17(0x510000000055),包含讀起始地址參數(shù),等待讀命令是否響應(yīng),若未響應(yīng)待2 s后再次發(fā)送寫(xiě)命令CMD25,響應(yīng)成功則進(jìn)行陣列寫(xiě)入,寫(xiě)入結(jié)束后會(huì)有CRC校驗(yàn),若校驗(yàn)成功,就完成存儲(chǔ)器數(shù)據(jù)有效的讀出,若失敗,則返回單快讀命令CMD17重新開(kāi)始讀取數(shù)據(jù)。接下來(lái)發(fā)送命令CMD13查詢?cè)O(shè)備狀態(tài),同數(shù)據(jù)寫(xiě)流程,直到BUSY位為低,讀數(shù)據(jù)流程結(jié)束[13]。
3 數(shù)據(jù)讀取及分析
為了驗(yàn)證采集到高過(guò)載數(shù)據(jù)的準(zhǔn)確性,將沖擊數(shù)據(jù)從上位機(jī)讀出并保存為.dat文件?;刈x的原始數(shù)據(jù)如圖8所示,第1和第2列為數(shù)據(jù)的幀頭,第3和第4列為數(shù)據(jù)的幀計(jì)數(shù),第5~16列為采集到的數(shù)據(jù)。從幀頭和幀計(jì)數(shù)中可以看出,數(shù)據(jù)沒(méi)有出現(xiàn)丟幀和錯(cuò)幀的現(xiàn)象[14]。
通過(guò)做馬歇特錘沖擊實(shí)驗(yàn),在高過(guò)載32 740 g下的沖擊圖像如圖9所示。
4 結(jié) 語(yǔ)
本文介紹的彈載記錄儀以Actel公司的FPGA作為主控制器,單塊eMMC芯片作為存儲(chǔ)介質(zhì),通過(guò)系統(tǒng)硬件設(shè)計(jì)和軟件邏輯控制完成基于高速eMMC存儲(chǔ)的彈載記錄儀系統(tǒng)。實(shí)現(xiàn)容量為32 GB的eMMC存儲(chǔ)寫(xiě)入速度20 MB/s,讀出速度44 MB/s。本文的創(chuàng)新點(diǎn)是采用高集成度低功耗Actel公司的FPGA,尺寸僅有5 mm×5 mm,系統(tǒng)最大功耗為288 mW。同時(shí)采用最新存儲(chǔ)芯片eMMC,內(nèi)置控制芯片,省去了壞塊檢測(cè)等復(fù)雜操作,有著大容量和高速傳輸效率。經(jīng)過(guò)實(shí)際試驗(yàn),驗(yàn)證了這個(gè)設(shè)計(jì)能夠準(zhǔn)確采集到30 000 g的沖擊數(shù)據(jù)。
參考文獻(xiàn)
[1] 陸曉瑜.基于FPGA的新型彈載存儲(chǔ)器設(shè)計(jì)[D].西安:西安電子科技大學(xué),2015.
LU Xiaoyu. The design of new missile borne data memory based on FPGA [D]. Xian: Xidian University, 2015.
[2] 王悅凱.抗沖擊模塊化六自由度運(yùn)動(dòng)記錄儀設(shè)計(jì)[D].太原:中北大學(xué),2016.
WANG Yuekai. Design of the 6?DOF motion recorder with impact resistance [D]. Taiyuan: North University of China, 2016.
[3] 吳正洋.基于eMMC陣列的高速圖像采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2017.endprint
WU Zhengyang. High speed image acquisition and storage system design based on eMMC array [D]. Taiyuan: North University of China, 2017.
[4] 王凱,王笑強(qiáng).基于eMMC芯片安卓智能手機(jī)數(shù)據(jù)直讀技術(shù)研究[J].信息安全研究,2016,2(4):317?323.
WANG Kai, WANG Xiaoqiang. Research on data reading technology of Android smart phone based on eMMC [J]. Journal of information security research, 2016, 2(4): 317?323.
[5] 張耀軍.基于FPGA的高速eMMC陣列控制器的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2016.
ZHANG Yaojun. Design and implementation of high?speed eMMC array controller based on FPGA [D]. Xian: Xidian University, 2016.
[6] 孫俊杰.Actel FPGA消費(fèi)電子市場(chǎng)辟蹊徑[J].電子設(shè)計(jì)應(yīng)用,2009(7):105.
SUN Junjie. Actel FPGAs new path in the electronic market [J]. Electronic design & application world, 2009(7): 105.
[7] 程惠,任勇峰,王強(qiáng),等.基于FPGA的多通道數(shù)據(jù)采集電路的設(shè)計(jì)及實(shí)現(xiàn)[J].電測(cè)與儀表,2013,50(1):125?128.
CHENG Hui, REN Yongfeng, WANG Qiang, et al. Design and implementation of multi?channel data acquisition circuit based on FPGA [J]. Electrical measurement & instrumentation, 2013, 50(1): 125?128.
[8] 徐遠(yuǎn)超.eMMC可靠性分析與增強(qiáng)對(duì)策研究[J].計(jì)算機(jī)應(yīng)用研究,2017,34(11):3367?3372.
XU Yuanchao. Analyzing and enhancing reliability of eMMC devices [J]. Application research of computers, 2017, 34(11): 3367?3372.
[9] 馬游春,吳正洋,姜德,等.基于FPGA的小型彈上三向過(guò)載記錄儀[J].中國(guó)測(cè)試,2017,43(7):83?87.
MA Youchun, WU Zhengyang, JIANG De, et al. Three?direction projectile overload recorder with small size based on FPGA [J]. China measurement and test, 2017, 43(7): 83?87.
[10] 周珍龍,顧彤,王紅兵.FPGA的eMMC嵌入式陣列存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016(4):36?39.
ZHOU Zhenlong, GU Tong, WANG Hongbing. eMMC embedded array storage system based on FPGA [J]. Microcontrollers & embedded systems, 2016(4): 36?39.
[11] 王慶,樓向雄,王維建,等.基于eMMC大容量存儲(chǔ)U盤(pán)的研究[J].杭州電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,36(2):37?41.
WANG Qing, LOU Xiangxiong, WANG Weijian, et al. Research of high?capacity storage U disk based on eMMC [J]. Journal of Hangzhou Dianzi University (Natural sciences), 2016, 36(2): 37?41.
[12] 劉東海,任勇峰,儲(chǔ)成君.基于FPGA控制的NAND FLASH存儲(chǔ)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2013,13(34):10349?10353.
LIU Donghai, REN Yongfeng, CHU Chengjun. NAND FLASH storage design based on FPGA control [J]. Science technology and engineering, 2013, 13(34): 10349?10353.
[13] 卓浩澤,龔仁喜,謝玲玲,等.基于FPGA的多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電測(cè)與儀表,2011,48(9):65?68.
ZHUO Haoze, GONG Renxi, XIE Lingling, et al. Design of multi?channels high?speed data acquisition system based on FPGA [J]. Electrical measurement and instrumentation, 2011, 48(9): 65?68.
[14] 高陽(yáng),王代華,王曉楠.基于PAL的彈載圖像采集系統(tǒng)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2017(14):196?202.
GAO Yang, WANG Daihua, WANG Xiaonan. Design of missile?borne image acquisition system based on PAL [J]. Science technology and engineering, 2017(14): 196?202.endprint