《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設(shè)計
基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設(shè)計
2017年電子技術(shù)應(yīng)用第9期
侯天喜,李錦明,,馬 林,,降 帥
中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原030051
摘要: 針對水下模擬船艙相關(guān)參數(shù)的高速多次采集存儲任務(wù),,設(shè)計了一種基于eMMC的多通道數(shù)據(jù)采集系統(tǒng),。該系統(tǒng)以FPGA為主控芯片,控制8個通道模擬多路復(fù)用開關(guān)和8個AD轉(zhuǎn)換器來實現(xiàn)128路信號同時采集,。與傳統(tǒng)采集系統(tǒng)相比,,該系統(tǒng)以eMMC為存儲單元,解決了傳統(tǒng)的以Flash為存儲模塊的復(fù)雜的壞塊檢測與系統(tǒng)管理等問題,。試驗證明,,128路數(shù)據(jù)采集存儲系統(tǒng)的誤差可控制在0.1%范圍內(nèi),能夠確保已存的數(shù)據(jù)可靠,、有效,。
中圖分類號: TN919
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170310
中文引用格式: 侯天喜,李錦明,,馬林,,等. 基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設(shè)計[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.
Design of 128-channels data acquisition system based on eMMC
Hou Tianxi,Li Jinming,,Ma Lin,,Jiang Shuai
Key Laboratory of Instrument Science & Dynamic Measurement of Ministry of Education, North University of China,,Taiyuan 030051,,China
Abstract: For the high speed multiple acquisition and storage task of underwater simulated cabin related parameters,a multi-channel data acquisition system based on eMMC is designed.The system uses FPGA as the main control chip to control 8 channels analog multiplexer switches and eight AD converters to achieve simultaneous acquisition of the 128 signals. Compared with the traditional acquisition system, the system uses embeded MultiMedia Card(eMMC) as storage module, an solve the problem of traditional Flash storage module that complex bad bock detection and system management. The measuring result shows using 128 channel data collection storage system, the error range is 0.1%, which ensures that acquired data is reliable and effective.
Key words : 128 channels;FPGA,;data acquisition,;data storage;eMMC

0 引言

    當今海洋已經(jīng)和太空一樣成為人類探索自然的重要領(lǐng)域,,我國水下探測設(shè)備的水平已達到一個新的高度,。隨著我國水下探測技術(shù)的進步,對數(shù)據(jù)采集及存儲測試儀器的可靠性,、高速,、大容量、多通道等技術(shù)參數(shù)提出了更高的要求[1-2],。本文的128路數(shù)據(jù)采集及存儲系統(tǒng)主要完成對水下模擬船艙相關(guān)參數(shù)的高速多次采集存儲任務(wù),,以eMMC為存儲單元,解決了傳統(tǒng)的以Flash為存儲模塊的復(fù)雜的壞塊檢測與系統(tǒng)管理等問題,。該系統(tǒng)可進行多次觸發(fā),,采集并存儲采集數(shù)據(jù);通過讀數(shù)盒與上位機通信并傳輸采集的試驗數(shù)據(jù),。

    任何測量系統(tǒng)都需要有精度要求,,否則測量將失去意義[3-4]。128路數(shù)據(jù)采集的總采樣率達到1.6 MS/s,,采集編碼長度為12 bit,,采樣精度0.1%,可重復(fù)觸發(fā),,單次記錄時間達到5 s,。

1 系統(tǒng)的整體設(shè)計

    基于eMMC的128路數(shù)據(jù)采集系統(tǒng)主要由數(shù)據(jù)采集模塊、FPGA控制模塊,、eMMC存儲器模塊,、讀數(shù)盒模塊、上位機5個模塊組成,。每進行一次觸發(fā)操作,,128路電壓范圍在±5 V的模擬信號就會通過運放跟隨電路的放大后進入8個16通道模擬多路復(fù)用開關(guān)ADG506,,經(jīng)多路模擬開關(guān)通道選擇,,使接到每一個模擬開關(guān)上的16個模擬信號依次送到AD轉(zhuǎn)換驅(qū)動芯片AD823中,進行信號調(diào)理后由AD轉(zhuǎn)換器AD7495進行模數(shù)轉(zhuǎn)換操作。轉(zhuǎn)換后的數(shù)字信號在FPGA的控制下依次存儲在eMMC芯片MTFC2GMDEA-0M中,。一次觸發(fā)操作會在eMMC中存儲16 MB的數(shù)據(jù),,可以連續(xù)觸發(fā)4次。最后可以通過讀數(shù)盒將數(shù)據(jù)回讀到上位機中,,完成采集及存儲的任務(wù),。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

ck3-t1.gif

2 系統(tǒng)的硬件構(gòu)成

2.1 電源管理

    在本系統(tǒng)中,,需要對FPGA XC3S500E芯片進行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的控制下實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)化[5-6],主要由運放調(diào)理電路,、模擬開關(guān)和AD轉(zhuǎn)換芯片構(gòu)成,。

2.2.1 放大電路設(shè)計

    該128路數(shù)據(jù)采集系統(tǒng)運放調(diào)理電路采用的是高精度低噪聲模擬信號放大器OP4177,多路信號放大的芯片OP4177具有4條互不干涉的信號放大通道,,可對4路模擬信號進行同時放大,。

2.2.2 模擬開關(guān)

    本系統(tǒng)采用了16通道的模擬多路復(fù)用器ADG506A進行模擬通道的選擇。通過FPGA控制ADG506A的4條地址線來決定在某一時刻送到AD轉(zhuǎn)換器之中的信號是哪一位,,使16路模擬信號可以依次發(fā)送到AD轉(zhuǎn)換器中,,大大提高了系統(tǒng)的集成度。

2.2.3 模數(shù)轉(zhuǎn)換電路設(shè)計

    本系統(tǒng)采用的是精度為12 bit的模數(shù)轉(zhuǎn)換芯片AD7495,,并采用芯片AD823作為A/D轉(zhuǎn)換器的驅(qū)動芯片,。電路上電后,F(xiàn)PGA首先會對A/D轉(zhuǎn)換芯片進行參數(shù)設(shè)定,,A/D轉(zhuǎn)換器的驅(qū)動電壓由FPGA提供,,A/D轉(zhuǎn)換的時鐘由FPGA內(nèi)部的定時器產(chǎn)生。AD7495芯片要求采集模擬量在-2.5 V~2.5 V之間,,而考慮到實際用的模擬量一般在0 V~5 V之間,,所以需要進行電壓轉(zhuǎn)換,使其滿足AD7495的輸入電壓要求,,保證模數(shù)轉(zhuǎn)換的正確性,。模數(shù)轉(zhuǎn)換的驅(qū)動電路如圖2所示。

ck3-t2.gif

2.3 存儲電路

    數(shù)據(jù)存儲部分是整個系統(tǒng)中數(shù)據(jù)的載體,,承擔(dān)著存儲由A/D轉(zhuǎn)換芯片產(chǎn)生的數(shù)字數(shù)據(jù)的重任,。128路數(shù)據(jù)采集及存儲系統(tǒng)選用了鎂光公司的MTFC2GMDEA-0M芯片作為數(shù)據(jù)存儲。該器件將Nand Flash與控制器和MMC接口封裝到一起,,控制器負責(zé)Flash的無效塊檢測,、讀寫,、ECC校驗等[7],大大提高了數(shù)據(jù)的讀寫速度,。該芯片對外提供標準MMC接口,,接口總線有時鐘線CLK、命令線CMD,、8位數(shù)據(jù)線以及復(fù)位信號線,,使用起來非常方便,其電路連接圖如圖3所示,。

ck3-t3.gif

3 數(shù)據(jù)存儲技術(shù)的實現(xiàn)

    在正常無故障的情況下,,經(jīng)過觸發(fā),系統(tǒng)啟動數(shù)據(jù)采集后,,模擬信號經(jīng)過數(shù)據(jù)采集部分進行處理后轉(zhuǎn)換為FPGA可以處理的數(shù)字信號,,將轉(zhuǎn)換完的串行數(shù)據(jù)送回FPGA內(nèi)部FIFO進行緩存,并由FPGA控制將FIFO內(nèi)的數(shù)據(jù)按照一定的時序?qū)懭雃MMC芯片,完成數(shù)據(jù)的存儲,。

    eMMC在傳輸模式之前首先進行初始化操作,,初始化操作主要完成器件識別、模式配置以及擦除操作等[8-9],。具體操作流程為:(1)發(fā)送CMD0命令,,復(fù)位設(shè)備;(2)發(fā)送CMD1命令,,獲取OCR,,進入準備完畢狀態(tài);(3)發(fā)送CMD2命令,,獲取器件信息,,進入器件識別狀態(tài);(4)發(fā)送CMD3命令,,進行eMMC地址分配,,進入設(shè)備待命狀態(tài);(5)發(fā)送CMD9命令,,獲取設(shè)備寄存器的值,;(6)發(fā)送CMD7命令,進行狀態(tài)轉(zhuǎn)換,,進入數(shù)據(jù)傳輸狀態(tài),;(7)發(fā)送CMD19命令,發(fā)送總線測試數(shù)據(jù),;(8)發(fā)送CMD14命令,,回讀總線測試數(shù)據(jù),并檢驗測試是否通過,,系統(tǒng)返回傳輸狀態(tài),。

3.1 數(shù)據(jù)寫入

    eMMC的數(shù)據(jù)傳輸模式是其主要工作模式,,其讀寫操作都是在該模式下進行的。eMMC有單塊寫和多塊寫兩種寫模式,,這里采用單塊寫模式,其對應(yīng)狀態(tài)轉(zhuǎn)化圖如圖4所示,。首先,,在eMMC進入傳輸模式之后發(fā)送CMD16命令,設(shè)置寫數(shù)據(jù)塊長度,;接著發(fā)送CMD24命令,,開始單塊寫操作,將寫FIFO數(shù)據(jù)寫入eMMC,,依次寫入起始位,、數(shù)據(jù)位、CRC16校驗碼與結(jié)束位,。數(shù)據(jù)發(fā)送完畢后,,eMMC器件會根據(jù)接收到的數(shù)據(jù)進行CRC16校驗比對,校驗成功后將數(shù)據(jù)存儲到eMMC的Flash存儲區(qū),,完成一次數(shù)據(jù)存儲,。

ck3-t4.gif

3.2 數(shù)據(jù)讀取

    要分析eMMC中存儲的數(shù)據(jù),就要通過上位機將讀數(shù)盒數(shù)據(jù)回讀到計算機,,因此eMMC的讀數(shù)過程需要上位機的配合完成,。FPGA在接收到上位機發(fā)來的讀數(shù)命令后,主動給eMMC控制器發(fā)送讀數(shù)命令,。首先判斷eMMC后端FIFO是否寫滿,,若寫滿則禁止往后端FIFO里寫數(shù);若未滿,,則發(fā)送CMD17命令,,開始數(shù)據(jù)讀操作。當檢測起始位有效時,,開始數(shù)據(jù)讀,,并對數(shù)據(jù)進行實時CRC校驗,并對讀取數(shù)據(jù)進行計數(shù),。當計數(shù)個數(shù)等于數(shù)據(jù)塊長度時,,接收端進行數(shù)據(jù)接收,并將接收到的數(shù)據(jù)的CRC校驗與eMMC的CRC檢驗對比,,判斷數(shù)據(jù)接收是否正確,,完成一次數(shù)據(jù)的讀取操作。具體數(shù)據(jù)發(fā)送流程圖如圖5所示,。

ck3-t5.gif

4 測試與驗證

    為了驗證系統(tǒng)的功能實現(xiàn)及可靠性,,分別對eMMC的寫數(shù)據(jù)和讀數(shù)據(jù)操作進行了在線調(diào)試,。在信號輸入端提供電壓峰值為5 V的正弦波電壓進行系統(tǒng)的可靠性測試。通過Chipscope進行抓圖,。經(jīng)分析,,CRC檢驗正確,證明數(shù)據(jù)讀寫正確,。其數(shù)據(jù)讀與數(shù)據(jù)寫的測試結(jié)果如圖6,、圖7所示。

ck3-t6.gifck3-t7.gif

    同時,,利用讀數(shù)盒將存儲在eMMC中的數(shù)據(jù)讀取到上位機中,,對數(shù)據(jù)進行直接的觀察。圖8為128路信號中存儲在eMMC中前4路信號通過上位機讀取到的信號波形,。從圖中可以看出,,128路數(shù)據(jù)采集存儲系統(tǒng)可以如實地反映出系統(tǒng)采集到的電壓范圍為±5 V的正弦波。經(jīng)過標定后,,128路數(shù)據(jù)采集存儲系統(tǒng)的誤差范圍可控制在0.1%范圍內(nèi),。

ck3-t8.gif

5 結(jié)論

    本文設(shè)計了一種128路數(shù)據(jù)采集存儲系統(tǒng),以eMMC為存儲單元,,解決了傳統(tǒng)的以Flash為存儲模塊的復(fù)雜的壞塊檢測與系統(tǒng)管理等問題,。通過在線邏輯分析和上位機驗證,該128路數(shù)據(jù)采集存儲系統(tǒng)讀寫時序正確,,誤差范圍可控制在0.1%范圍內(nèi),,能夠確保已存儲的數(shù)據(jù)可靠、有效,,達到設(shè)計指標,。

參考文獻

[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] 皇甫堪,,陳建文,樓生強.現(xiàn)代數(shù)字信號處理(第一版)[M].北京:電子工業(yè)出版社,,2003.

[4] 馬明建,,周長城.數(shù)據(jù)采集與處理技術(shù)(第一版)[M].西安:西安交通大學(xué)出版社,,1999.

[5] 崔迎煒,李猛.基于FPGA的PMC數(shù)據(jù)采集卡的設(shè)計[J].電子技術(shù)應(yīng)用,,2014,,40(10):27-29.

[6] 王悅凱,馬游春,,丁寧.基于MRAM和FPGA的多路數(shù)據(jù)采集存儲系統(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].單片機與嵌入式系統(tǒng)應(yīng)用,,2016,16(2):10-13.

[9] 王慶,,樓向雄,,王維建.基于eMMC大容量存儲U盤的研究[J].杭州電子科技大學(xué)學(xué)報(自然科學(xué)版),2016,,36(2):37-41.



作者信息:

侯天喜,,李錦明,馬  林,,降  帥

(中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點實驗室,,山西 太原030051)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。