文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.170310
中文引用格式: 侯天喜,,李錦明,,馬林,等. 基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2017,,43(9):76-79.
英文引用格式: Hou Tianxi,Li Jinming,,Ma Lin,,et al. Design of 128-channels data acquisition system based on eMMC[J].App-
lication of Electronic Technique,2017,,43(9):76-79.
0 引言
當(dāng)今海洋已經(jīng)和太空一樣成為人類探索自然的重要領(lǐng)域,,我國水下探測設(shè)備的水平已達(dá)到一個(gè)新的高度。隨著我國水下探測技術(shù)的進(jìn)步,,對數(shù)據(jù)采集及存儲(chǔ)測試儀器的可靠性,、高速、大容量,、多通道等技術(shù)參數(shù)提出了更高的要求[1-2],。本文的128路數(shù)據(jù)采集及存儲(chǔ)系統(tǒng)主要完成對水下模擬船艙相關(guān)參數(shù)的高速多次采集存儲(chǔ)任務(wù),,以eMMC為存儲(chǔ)單元,,解決了傳統(tǒng)的以Flash為存儲(chǔ)模塊的復(fù)雜的壞塊檢測與系統(tǒng)管理等問題。該系統(tǒng)可進(jìn)行多次觸發(fā),,采集并存儲(chǔ)采集數(shù)據(jù),;通過讀數(shù)盒與上位機(jī)通信并傳輸采集的試驗(yàn)數(shù)據(jù)。
任何測量系統(tǒng)都需要有精度要求,,否則測量將失去意義[3-4],。128路數(shù)據(jù)采集的總采樣率達(dá)到1.6 MS/s,采集編碼長度為12 bit,,采樣精度0.1%,,可重復(fù)觸發(fā),單次記錄時(shí)間達(dá)到5 s,。
1 系統(tǒng)的整體設(shè)計(jì)
基于eMMC的128路數(shù)據(jù)采集系統(tǒng)主要由數(shù)據(jù)采集模塊,、FPGA控制模塊、eMMC存儲(chǔ)器模塊,、讀數(shù)盒模塊,、上位機(jī)5個(gè)模塊組成。每進(jìn)行一次觸發(fā)操作,,128路電壓范圍在±5 V的模擬信號就會(huì)通過運(yùn)放跟隨電路的放大后進(jìn)入8個(gè)16通道模擬多路復(fù)用開關(guān)ADG506,,經(jīng)多路模擬開關(guān)通道選擇,使接到每一個(gè)模擬開關(guān)上的16個(gè)模擬信號依次送到AD轉(zhuǎn)換驅(qū)動(dòng)芯片AD823中,,進(jìn)行信號調(diào)理后由AD轉(zhuǎn)換器AD7495進(jìn)行模數(shù)轉(zhuǎn)換操作,。轉(zhuǎn)換后的數(shù)字信號在FPGA的控制下依次存儲(chǔ)在eMMC芯片MTFC2GMDEA-0M中。一次觸發(fā)操作會(huì)在eMMC中存儲(chǔ)16 MB的數(shù)據(jù),,可以連續(xù)觸發(fā)4次,。最后可以通過讀數(shù)盒將數(shù)據(jù)回讀到上位機(jī)中,完成采集及存儲(chǔ)的任務(wù),。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,。
2 系統(tǒng)的硬件構(gòu)成
2.1 電源管理
在本系統(tǒng)中,,需要對FPGA XC3S500E芯片進(jìn)行3.3 V、2.5 V和1.2 V供電,,因此需要利用電源轉(zhuǎn)換芯片將5 V的電壓轉(zhuǎn)換到所需要的電壓值,。系統(tǒng)選用電壓轉(zhuǎn)換器SPX3819將電源電壓轉(zhuǎn)換成所需要的電壓值。
2.2 模擬電路
數(shù)據(jù)采集部分在FPGA的控制下實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)化[5-6],,主要由運(yùn)放調(diào)理電路,、模擬開關(guān)和AD轉(zhuǎn)換芯片構(gòu)成。
2.2.1 放大電路設(shè)計(jì)
該128路數(shù)據(jù)采集系統(tǒng)運(yùn)放調(diào)理電路采用的是高精度低噪聲模擬信號放大器OP4177,,多路信號放大的芯片OP4177具有4條互不干涉的信號放大通道,,可對4路模擬信號進(jìn)行同時(shí)放大。
2.2.2 模擬開關(guān)
本系統(tǒng)采用了16通道的模擬多路復(fù)用器ADG506A進(jìn)行模擬通道的選擇,。通過FPGA控制ADG506A的4條地址線來決定在某一時(shí)刻送到AD轉(zhuǎn)換器之中的信號是哪一位,,使16路模擬信號可以依次發(fā)送到AD轉(zhuǎn)換器中,大大提高了系統(tǒng)的集成度,。
2.2.3 模數(shù)轉(zhuǎn)換電路設(shè)計(jì)
本系統(tǒng)采用的是精度為12 bit的模數(shù)轉(zhuǎn)換芯片AD7495,,并采用芯片AD823作為A/D轉(zhuǎn)換器的驅(qū)動(dòng)芯片。電路上電后,,F(xiàn)PGA首先會(huì)對A/D轉(zhuǎn)換芯片進(jìn)行參數(shù)設(shè)定,,A/D轉(zhuǎn)換器的驅(qū)動(dòng)電壓由FPGA提供,A/D轉(zhuǎn)換的時(shí)鐘由FPGA內(nèi)部的定時(shí)器產(chǎn)生,。AD7495芯片要求采集模擬量在-2.5 V~2.5 V之間,,而考慮到實(shí)際用的模擬量一般在0 V~5 V之間,所以需要進(jìn)行電壓轉(zhuǎn)換,,使其滿足AD7495的輸入電壓要求,,保證模數(shù)轉(zhuǎn)換的正確性。模數(shù)轉(zhuǎn)換的驅(qū)動(dòng)電路如圖2所示,。
2.3 存儲(chǔ)電路
數(shù)據(jù)存儲(chǔ)部分是整個(gè)系統(tǒng)中數(shù)據(jù)的載體,,承擔(dān)著存儲(chǔ)由A/D轉(zhuǎn)換芯片產(chǎn)生的數(shù)字?jǐn)?shù)據(jù)的重任。128路數(shù)據(jù)采集及存儲(chǔ)系統(tǒng)選用了鎂光公司的MTFC2GMDEA-0M芯片作為數(shù)據(jù)存儲(chǔ),。該器件將Nand Flash與控制器和MMC接口封裝到一起,,控制器負(fù)責(zé)Flash的無效塊檢測、讀寫,、ECC校驗(yàn)等[7],,大大提高了數(shù)據(jù)的讀寫速度。該芯片對外提供標(biāo)準(zhǔn)MMC接口,,接口總線有時(shí)鐘線CLK,、命令線CMD、8位數(shù)據(jù)線以及復(fù)位信號線,,使用起來非常方便,,其電路連接圖如圖3所示,。
3 數(shù)據(jù)存儲(chǔ)技術(shù)的實(shí)現(xiàn)
在正常無故障的情況下,經(jīng)過觸發(fā),,系統(tǒng)啟動(dòng)數(shù)據(jù)采集后,,模擬信號經(jīng)過數(shù)據(jù)采集部分進(jìn)行處理后轉(zhuǎn)換為FPGA可以處理的數(shù)字信號,將轉(zhuǎn)換完的串行數(shù)據(jù)送回FPGA內(nèi)部FIFO進(jìn)行緩存,并由FPGA控制將FIFO內(nèi)的數(shù)據(jù)按照一定的時(shí)序?qū)懭雃MMC芯片,,完成數(shù)據(jù)的存儲(chǔ),。
eMMC在傳輸模式之前首先進(jìn)行初始化操作,初始化操作主要完成器件識別,、模式配置以及擦除操作等[8-9],。具體操作流程為:(1)發(fā)送CMD0命令,復(fù)位設(shè)備,;(2)發(fā)送CMD1命令,,獲取OCR,進(jìn)入準(zhǔn)備完畢狀態(tài),;(3)發(fā)送CMD2命令,,獲取器件信息,,進(jìn)入器件識別狀態(tài),;(4)發(fā)送CMD3命令,進(jìn)行eMMC地址分配,,進(jìn)入設(shè)備待命狀態(tài),;(5)發(fā)送CMD9命令,獲取設(shè)備寄存器的值,;(6)發(fā)送CMD7命令,,進(jìn)行狀態(tài)轉(zhuǎn)換,進(jìn)入數(shù)據(jù)傳輸狀態(tài),;(7)發(fā)送CMD19命令,,發(fā)送總線測試數(shù)據(jù);(8)發(fā)送CMD14命令,,回讀總線測試數(shù)據(jù),,并檢驗(yàn)測試是否通過,系統(tǒng)返回傳輸狀態(tài),。
3.1 數(shù)據(jù)寫入
eMMC的數(shù)據(jù)傳輸模式是其主要工作模式,,其讀寫操作都是在該模式下進(jìn)行的。eMMC有單塊寫和多塊寫兩種寫模式,,這里采用單塊寫模式,,其對應(yīng)狀態(tài)轉(zhuǎn)化圖如圖4所示。首先,,在eMMC進(jìn)入傳輸模式之后發(fā)送CMD16命令,,設(shè)置寫數(shù)據(jù)塊長度,;接著發(fā)送CMD24命令,開始單塊寫操作,,將寫FIFO數(shù)據(jù)寫入eMMC,,依次寫入起始位、數(shù)據(jù)位,、CRC16校驗(yàn)碼與結(jié)束位,。數(shù)據(jù)發(fā)送完畢后,eMMC器件會(huì)根據(jù)接收到的數(shù)據(jù)進(jìn)行CRC16校驗(yàn)比對,,校驗(yàn)成功后將數(shù)據(jù)存儲(chǔ)到eMMC的Flash存儲(chǔ)區(qū),,完成一次數(shù)據(jù)存儲(chǔ)。
3.2 數(shù)據(jù)讀取
要分析eMMC中存儲(chǔ)的數(shù)據(jù),,就要通過上位機(jī)將讀數(shù)盒數(shù)據(jù)回讀到計(jì)算機(jī),,因此eMMC的讀數(shù)過程需要上位機(jī)的配合完成。FPGA在接收到上位機(jī)發(fā)來的讀數(shù)命令后,,主動(dòng)給eMMC控制器發(fā)送讀數(shù)命令,。首先判斷eMMC后端FIFO是否寫滿,若寫滿則禁止往后端FIFO里寫數(shù),;若未滿,,則發(fā)送CMD17命令,開始數(shù)據(jù)讀操作,。當(dāng)檢測起始位有效時(shí),,開始數(shù)據(jù)讀,并對數(shù)據(jù)進(jìn)行實(shí)時(shí)CRC校驗(yàn),,并對讀取數(shù)據(jù)進(jìn)行計(jì)數(shù),。當(dāng)計(jì)數(shù)個(gè)數(shù)等于數(shù)據(jù)塊長度時(shí),接收端進(jìn)行數(shù)據(jù)接收,,并將接收到的數(shù)據(jù)的CRC校驗(yàn)與eMMC的CRC檢驗(yàn)對比,,判斷數(shù)據(jù)接收是否正確,完成一次數(shù)據(jù)的讀取操作,。具體數(shù)據(jù)發(fā)送流程圖如圖5所示,。
4 測試與驗(yàn)證
為了驗(yàn)證系統(tǒng)的功能實(shí)現(xiàn)及可靠性,分別對eMMC的寫數(shù)據(jù)和讀數(shù)據(jù)操作進(jìn)行了在線調(diào)試,。在信號輸入端提供電壓峰值為5 V的正弦波電壓進(jìn)行系統(tǒng)的可靠性測試,。通過Chipscope進(jìn)行抓圖。經(jīng)分析,,CRC檢驗(yàn)正確,,證明數(shù)據(jù)讀寫正確。其數(shù)據(jù)讀與數(shù)據(jù)寫的測試結(jié)果如圖6,、圖7所示,。
同時(shí),,利用讀數(shù)盒將存儲(chǔ)在eMMC中的數(shù)據(jù)讀取到上位機(jī)中,對數(shù)據(jù)進(jìn)行直接的觀察,。圖8為128路信號中存儲(chǔ)在eMMC中前4路信號通過上位機(jī)讀取到的信號波形,。從圖中可以看出,128路數(shù)據(jù)采集存儲(chǔ)系統(tǒng)可以如實(shí)地反映出系統(tǒng)采集到的電壓范圍為±5 V的正弦波,。經(jīng)過標(biāo)定后,,128路數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的誤差范圍可控制在0.1%范圍內(nèi)。
5 結(jié)論
本文設(shè)計(jì)了一種128路數(shù)據(jù)采集存儲(chǔ)系統(tǒng),,以eMMC為存儲(chǔ)單元,,解決了傳統(tǒng)的以Flash為存儲(chǔ)模塊的復(fù)雜的壞塊檢測與系統(tǒng)管理等問題。通過在線邏輯分析和上位機(jī)驗(yàn)證,,該128路數(shù)據(jù)采集存儲(chǔ)系統(tǒng)讀寫時(shí)序正確,,誤差范圍可控制在0.1%范圍內(nèi),能夠確保已存儲(chǔ)的數(shù)據(jù)可靠,、有效,,達(dá)到設(shè)計(jì)指標(biāo)。
參考文獻(xiàn)
[1] 李廣志,,周卓赟,,謝昱勃,等.基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,,2016,,42(2):71-73,77.
[2] 葛立,,李驥,高楓,,等.多路模擬開關(guān)在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用與分析[J].電子技術(shù)應(yīng)用,,2014,40(12):40-42.
[3] 皇甫堪,,陳建文,,樓生強(qiáng).現(xiàn)代數(shù)字信號處理(第一版)[M].北京:電子工業(yè)出版社,2003.
[4] 馬明建,,周長城.數(shù)據(jù)采集與處理技術(shù)(第一版)[M].西安:西安交通大學(xué)出版社,,1999.
[5] 崔迎煒,李猛.基于FPGA的PMC數(shù)據(jù)采集卡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2014,,40(10):27-29.
[6] 王悅凱,馬游春,,丁寧.基于MRAM和FPGA的多路數(shù)據(jù)采集存儲(chǔ)系統(tǒng)[J].電子器件,,2016,,39(3):662-666.
[7] Embedded multi-media card(eMMC) electrical standard(5.0)[S].JEDEC,2012.
[8] 張耀軍,,孫銘,,王锏.Virtex-6 FPGA的eMMC控制器設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,,16(2):10-13.
[9] 王慶,,樓向雄,王維建.基于eMMC大容量存儲(chǔ)U盤的研究[J].杭州電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),,2016,,36(2):37-41.
作者信息:
侯天喜,李錦明,,馬 林,,降 帥
(中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)