《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設計
基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設計
2017年電子技術應用第9期
侯天喜,李錦明,馬 林,降 帥
中北大學 儀器科學與動態(tài)測試教育部重點實驗室,山西 太原030051
摘要: 針對水下模擬船艙相關參數(shù)的高速多次采集存儲任務,設計了一種基于eMMC的多通道數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)以FPGA為主控芯片,控制8個通道模擬多路復用開關和8個AD轉換器來實現(xiàn)128路信號同時采集。與傳統(tǒng)采集系統(tǒng)相比,該系統(tǒng)以eMMC為存儲單元,解決了傳統(tǒng)的以Flash為存儲模塊的復雜的壞塊檢測與系統(tǒng)管理等問題。試驗證明,128路數(shù)據(jù)采集存儲系統(tǒng)的誤差可控制在0.1%范圍內,能夠確保已存的數(shù)據(jù)可靠、有效。
中圖分類號: TN919
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170310
中文引用格式: 侯天喜,李錦明,馬林,等. 基于eMMC的128路數(shù)據(jù)采集系統(tǒng)設計[J].電子技術應用,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)和太空一樣成為人類探索自然的重要領域,我國水下探測設備的水平已達到一個新的高度。隨著我國水下探測技術的進步,對數(shù)據(jù)采集及存儲測試儀器的可靠性、高速、大容量、多通道等技術參數(shù)提出了更高的要求[1-2]。本文的128路數(shù)據(jù)采集及存儲系統(tǒng)主要完成對水下模擬船艙相關參數(shù)的高速多次采集存儲任務,以eMMC為存儲單元,解決了傳統(tǒng)的以Flash為存儲模塊的復雜的壞塊檢測與系統(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ā),單次記錄時間達到5 s。

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

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

ck3-t1.gif

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

2.1 電源管理

    在本系統(tǒng)中,需要對FPGA XC3S500E芯片進行3.3 V、2.5 V和1.2 V供電,因此需要利用電源轉換芯片將5 V的電壓轉換到所需要的電壓值。系統(tǒng)選用電壓轉換器SPX3819將電源電壓轉換成所需要的電壓值。

2.2 模擬電路

    數(shù)據(jù)采集部分在FPGA的控制下實現(xiàn)模擬量到數(shù)字量的轉化[5-6],主要由運放調理電路、模擬開關和AD轉換芯片構成。

2.2.1 放大電路設計

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

2.2.2 模擬開關

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

2.2.3 模數(shù)轉換電路設計

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

ck3-t2.gif

2.3 存儲電路

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

ck3-t3.gif

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

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

    eMMC在傳輸模式之前首先進行初始化操作,初始化操作主要完成器件識別、模式配置以及擦除操作等[8-9]。具體操作流程為:(1)發(fā)送CMD0命令,復位設備;(2)發(fā)送CMD1命令,獲取OCR,進入準備完畢狀態(tài);(3)發(fā)送CMD2命令,獲取器件信息,進入器件識別狀態(tài);(4)發(fā)送CMD3命令,進行eMMC地址分配,進入設備待命狀態(tài);(5)發(fā)送CMD9命令,獲取設備寄存器的值;(6)發(fā)送CMD7命令,進行狀態(tài)轉換,進入數(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有單塊寫和多塊寫兩種寫模式,這里采用單塊寫模式,其對應狀態(tài)轉化圖如圖4所示。首先,在eMMC進入傳輸模式之后發(fā)送CMD16命令,設置寫數(shù)據(jù)塊長度;接著發(fā)送CMD24命令,開始單塊寫操作,將寫FIFO數(shù)據(jù)寫入eMMC,依次寫入起始位、數(shù)據(jù)位、CRC16校驗碼與結束位。數(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ù)操作進行了在線調試。在信號輸入端提供電壓峰值為5 V的正弦波電壓進行系統(tǒng)的可靠性測試。通過Chipscope進行抓圖。經(jīng)分析,CRC檢驗正確,證明數(shù)據(jù)讀寫正確。其數(shù)據(jù)讀與數(shù)據(jù)寫的測試結果如圖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%范圍內。

ck3-t8.gif

5 結論

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

參考文獻

[1] 李廣志,周卓赟,謝昱勃,等.基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)[J].電子技術應用,2016,42(2):71-73,77.

[2] 葛立,李驥,高楓,等.多路模擬開關在數(shù)據(jù)采集系統(tǒng)中的應用與分析[J].電子技術應用,2014,40(12):40-42.

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

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

[5] 崔迎煒,李猛.基于FPGA的PMC數(shù)據(jù)采集卡的設計[J].電子技術應用,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控制器設計[J].單片機與嵌入式系統(tǒng)應用,2016,16(2):10-13.

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



作者信息:

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

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

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