丁紅暉+馬游春+蘇慶慶
摘 要: 彈載記錄儀是彈上關鍵設備,為了可以快速準確地記錄彈箭開倉時的加速度及角速度飛行參數(shù),提出一種基于高速eMMC存儲的彈載記錄儀設計方案。介紹系統(tǒng)的總體硬件架構和軟件工作流程,重點研究單塊eMMC數(shù)據(jù)讀寫的邏輯設計,F(xiàn)PGA與eMMC存儲之間的數(shù)據(jù)傳遞采用串行的方式進行傳輸,寫入速度為20 MB/s,讀出速度為44 MB/s,存儲容量為32 GB,實現(xiàn)一種高速讀/寫、低功耗、集成度高的6通道采集系統(tǒng)。實驗表明,這個設計可完整讀取到30 000 g的沖擊數(shù)據(jù)。
關鍵詞: 彈載記錄儀; Actel FPGA; eMMC存儲; 高速采集; 低功耗控制; 電路設計
中圖分類號: TN820.4?34; TN702 文獻標識碼: A 文章編號: 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 引 言
近年來,隨著國家軍事的快速發(fā)展,對各彈種空中運動狀態(tài)的測試需求也不斷擴大,高過載的數(shù)據(jù)采集與存儲技術變得十分重要。系統(tǒng)要存儲的是導彈飛行過程中角速度和線加速度數(shù)據(jù),對存儲速度、容量及工作穩(wěn)定性都有很高的要求[1]。目前,彈載采集存儲系統(tǒng)主要是通過多片NAND FLASH進行存儲,雖然容量上勉強滿足需求,但讀/寫的速度還是很慢,在壞塊管理過程中,它的復雜程度跟不上發(fā)展的需求,這讓系統(tǒng)操作起來效率低下,等待的時間很長[2]。
在充分考慮存儲芯片的封裝體積、容量、讀/寫速度、功耗等參數(shù)下,本文提出一種基于高速eMMC存儲芯片的彈載記錄儀系統(tǒng)設計。eMMC存儲芯片本身具有高集成度、高性能、低功耗以及高數(shù)據(jù)吞吐率等特點,單片存儲容量[3]最高可達128 GB。同時由于本身內部集成控制芯片可以自我管理壞塊及錯誤檢測與糾正,使得通過FPGA操作起來更加簡單方便,僅需控制數(shù)據(jù)的讀/寫操作過程即可,很好地節(jié)約了系統(tǒng)的資源[4]。
1 彈載記錄儀的硬件設計
彈載采集存儲系統(tǒng)主要由FPGA主控模塊、A/D采集模塊、單塊eMMC存儲模塊、傳感器模塊、信號調理模塊及電源模塊組成。FPGA主控模塊實現(xiàn)對A/D采集模塊、eMMC存儲單元和電源模塊的控制;eMMC存儲模塊完成對傳感器信號的存儲與讀??;傳感器模塊負責對3軸角速度信號和3軸線加速度信號的采集和輸出;調理電路模塊實現(xiàn)對3軸線加速度信號的放大和濾波;鋰電池7.2 V電壓為整個系統(tǒng)供電,通過電壓轉換芯片得到各個模塊所需的電壓[5]。系統(tǒng)總體框圖如圖1所示。
1.1 FPGA主控模塊設計
該系統(tǒng)采用Actel公司IGLOO系列的FPGA,型號為AGLN250V2?CS81。Actel公司的FPGA是基于FLASH結構,Altera,Xilinx和Lattice公司都是采用SRAM結構,掉電數(shù)據(jù)丟失需要一塊配置芯片;而Actel FPGA無須配置,相對操作更加方便,節(jié)省電路板空間。IGLOO系列的FPGA具有超低功耗,擁有獨特的FLASH Freeze睡眠模式,在此模式下最低功耗可達5 μW,并能保存RAM和寄存器的狀態(tài)[6]。CS81這個型號具有高集成度BGA封裝,尺寸僅有5 mm×5 mm,極大地縮小了采集板的空間。endprint
1.2 A/D采集模塊設計
彈載記錄儀系統(tǒng)需要采集3軸角速度傳感器信號和3軸線加速度傳感器信號,即6個通道的數(shù)據(jù)。為了保證采集到準確的模擬信號,記錄儀選用高精度16位逐次逼近型AD7983,采用6路同步串行的方式完成信號的采集[7]。A/D采集模塊電路原理圖如圖2所示。
1.3 單塊eMMC存儲模塊設計
該系統(tǒng)選用鎂光公司的MTFC32GJVED?4M IT作為數(shù)據(jù)存儲芯片,容量為32 GB,支持最大的時鐘速率為52 MHz,連續(xù)寫數(shù)據(jù)能力為20 MB/s,連續(xù)讀數(shù)據(jù)能力為44 MB/s。單塊eMMC芯片一共有10根信號控制線,8位數(shù)據(jù)線DAT7?DAT0,1根時鐘線CLK和1根命令線CMD[8]。單塊eMMC電路原理圖如圖3所示。
2 彈載記錄儀的軟件設計
2.1 系統(tǒng)邏輯設計
FPGA程序在Actel公司Libero開發(fā)環(huán)境中通過VHDL程序編寫的,圖4為記錄儀工作流程圖。采集系統(tǒng)首先通過外部斷線觸發(fā),使得記錄儀開始上電復位,進入延時狀態(tài),此時的工作電流僅有20 mA,延時設置默認為1 min,延遲時間可以通過上位機來修改。延時結束,進入采集狀態(tài),采集時的工作電流為40 mA,此時為系統(tǒng)最大功耗,僅有288 mW。eMMC存儲以20 MB/s速度進行寫操作,27.5 min可以采滿整塊存儲單元。若要提前結束采集狀態(tài),僅需將Trig引線與Gnd引線短接,即可立即結束采集狀態(tài)且完成系統(tǒng)斷電工作,可以減少記錄儀的電源損耗[9]。
2.2 eMMC陣列邏輯設計
在系統(tǒng)上電后,首先對eMMC進行初始化,完成對eMMC的地址分配,時鐘頻率、時鐘模式、數(shù)據(jù)位寬的設置[10]。其初始化流程圖如圖5所示。系統(tǒng)選用高速SDR速度模式進行數(shù)據(jù)傳輸,最高時鐘頻率為52 MHz,傳輸位寬4位,經計算理論峰值速度為52 MHz×4 bit,即26 MB/s。1個字節(jié)需要分2次傳輸,先傳高位4位,再傳低位4位。在單倍數(shù)據(jù)傳輸模式下,主機在時鐘的上升沿將數(shù)據(jù)輸出,此時設備進行采樣寫入,且每條數(shù)據(jù)線上都有一個CRC16校驗,保證數(shù)據(jù)傳輸?shù)恼_性和完整性[11]。
FPGA首先發(fā)送CMD16(0x5000000009BB)命令設置單塊長度,單塊長度設置結束后,開始發(fā)送單塊寫命令CMD25(0x58000000006F),其中包含起始地址,待eMMC芯片收到響應,就可以進行寫操作,但只要命令CMD25響應錯誤或超時就需要再次發(fā)送。寫入eMMC的數(shù)據(jù)含有CRC校驗,在此會進行判斷,校驗錯誤則需要繼續(xù)執(zhí)行CMD25單塊寫命令,重新開始寫過程,校驗成功則可以繼續(xù)發(fā)送CMD13查詢設備狀態(tài),BUSY狀態(tài)為低,表示塊陣列寫輸入成功,結束工作,若BUSY標志位為高,則繼續(xù)等待直到BUSY為低為止[12]。
2.2.2 讀數(shù)據(jù)流程
eMMC讀數(shù)據(jù)流程如圖7所示。
在單塊讀操作開始時,同數(shù)據(jù)寫操作流程一致,首先發(fā)送CMD16(0x5000000009BB)命令設置單塊的長度,待單塊長度設置結束后,開始發(fā)送eMMC芯片讀命令CMD17(0x510000000055),包含讀起始地址參數(shù),等待讀命令是否響應,若未響應待2 s后再次發(fā)送寫命令CMD25,響應成功則進行陣列寫入,寫入結束后會有CRC校驗,若校驗成功,就完成存儲器數(shù)據(jù)有效的讀出,若失敗,則返回單快讀命令CMD17重新開始讀取數(shù)據(jù)。接下來發(fā)送命令CMD13查詢設備狀態(tài),同數(shù)據(jù)寫流程,直到BUSY位為低,讀數(shù)據(jù)流程結束[13]。
3 數(shù)據(jù)讀取及分析
為了驗證采集到高過載數(shù)據(jù)的準確性,將沖擊數(shù)據(jù)從上位機讀出并保存為.dat文件?;刈x的原始數(shù)據(jù)如圖8所示,第1和第2列為數(shù)據(jù)的幀頭,第3和第4列為數(shù)據(jù)的幀計數(shù),第5~16列為采集到的數(shù)據(jù)。從幀頭和幀計數(shù)中可以看出,數(shù)據(jù)沒有出現(xiàn)丟幀和錯幀的現(xiàn)象[14]。
通過做馬歇特錘沖擊實驗,在高過載32 740 g下的沖擊圖像如圖9所示。
4 結 語
本文介紹的彈載記錄儀以Actel公司的FPGA作為主控制器,單塊eMMC芯片作為存儲介質,通過系統(tǒng)硬件設計和軟件邏輯控制完成基于高速eMMC存儲的彈載記錄儀系統(tǒng)。實現(xiàn)容量為32 GB的eMMC存儲寫入速度20 MB/s,讀出速度44 MB/s。本文的創(chuàng)新點是采用高集成度低功耗Actel公司的FPGA,尺寸僅有5 mm×5 mm,系統(tǒng)最大功耗為288 mW。同時采用最新存儲芯片eMMC,內置控制芯片,省去了壞塊檢測等復雜操作,有著大容量和高速傳輸效率。經過實際試驗,驗證了這個設計能夠準確采集到30 000 g的沖擊數(shù)據(jù)。
參考文獻
[1] 陸曉瑜.基于FPGA的新型彈載存儲器設計[D].西安:西安電子科技大學,2015.
LU Xiaoyu. The design of new missile borne data memory based on FPGA [D]. Xian: Xidian University, 2015.
[2] 王悅凱.抗沖擊模塊化六自由度運動記錄儀設計[D].太原:中北大學,2016.
WANG Yuekai. Design of the 6?DOF motion recorder with impact resistance [D]. Taiyuan: North University of China, 2016.
[3] 吳正洋.基于eMMC陣列的高速圖像采集與存儲系統(tǒng)設計[D].太原:中北大學,2017.endprint
WU Zhengyang. High speed image acquisition and storage system design based on eMMC array [D]. Taiyuan: North University of China, 2017.
[4] 王凱,王笑強.基于eMMC芯片安卓智能手機數(shù)據(jù)直讀技術研究[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陣列控制器的設計與實現(xiàn)[D].西安:西安電子科技大學,2016.
ZHANG Yaojun. Design and implementation of high?speed eMMC array controller based on FPGA [D]. Xian: Xidian University, 2016.
[6] 孫俊杰.Actel FPGA消費電子市場辟蹊徑[J].電子設計應用,2009(7):105.
SUN Junjie. Actel FPGAs new path in the electronic market [J]. Electronic design & application world, 2009(7): 105.
[7] 程惠,任勇峰,王強,等.基于FPGA的多通道數(shù)據(jù)采集電路的設計及實現(xiàn)[J].電測與儀表,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] 徐遠超.eMMC可靠性分析與增強對策研究[J].計算機應用研究,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的小型彈上三向過載記錄儀[J].中國測試,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嵌入式陣列存儲系統(tǒng)設計[J].單片機與嵌入式系統(tǒ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大容量存儲U盤的研究[J].杭州電子科技大學學報(自然科學版),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] 劉東海,任勇峰,儲成君.基于FPGA控制的NAND FLASH存儲設計[J].科學技術與工程,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)的設計[J].電測與儀表,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] 高陽,王代華,王曉楠.基于PAL的彈載圖像采集系統(tǒng)設計[J].科學技術與工程,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