<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA高速大容量數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)

          基于FPGA高速大容量數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)

          作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

          大容量數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)在工業(yè)自動(dòng)化生產(chǎn)、國(guó)防和軍事監(jiān)控及環(huán)境監(jiān)測(cè)等方面被廣泛應(yīng)用。為了能夠完整、準(zhǔn)確地捕獲到各種信號(hào)或者故障發(fā)生時(shí)的特征信號(hào),需要對(duì)其進(jìn)行狀態(tài)監(jiān)測(cè),并且要求監(jiān)測(cè)系統(tǒng)具備長(zhǎng)時(shí)間連續(xù)采集和存儲(chǔ)的功能。但是為了支持系統(tǒng)中大量高速數(shù)據(jù)的暫時(shí)存儲(chǔ),這就需要很大的中間緩存,而專用的高速FIFO芯片價(jià)格昂貴且容量受限,大大增加了商業(yè)成本,因此在實(shí)際應(yīng)用中尋找可靠的、低成本的采集存儲(chǔ)系統(tǒng)是很有必要的。為此本文提出利用FPGA作為橋梁,實(shí)現(xiàn)對(duì)SDRAM的控制,從而對(duì)采集的數(shù)據(jù)進(jìn)行緩沖,然后存儲(chǔ)到大容量的CF卡中,滿足系統(tǒng)所要求的速度快、實(shí)時(shí)性高、成本低和容易擴(kuò)展等要求;接著詳細(xì)論述了系統(tǒng)各個(gè)功能電路的設(shè)計(jì)思路和具體實(shí)現(xiàn)過(guò)程。

          本文引用地址:http://www.ex-cimer.com/article/201610/308392.htm

          1系統(tǒng)方案設(shè)計(jì)

          數(shù)據(jù)采集和存儲(chǔ)系統(tǒng)主要由三部分組成:A/D轉(zhuǎn)換器、FPGA的數(shù)據(jù)雙緩沖器和CF卡的存儲(chǔ)。

          1)A/D轉(zhuǎn)換器的作用是將所要采集的模擬量轉(zhuǎn)換成數(shù)字量,通過(guò)光耦隔離后,由FPGA接收、緩沖、存儲(chǔ)至CF卡。高速A/D轉(zhuǎn)換器采用的是采樣率為250kS/s的16位A/D轉(zhuǎn)換芯片ADS8515,它屬于逐次逼近寄存器型(簡(jiǎn)稱SAR型)A/D轉(zhuǎn)換器,其內(nèi)部通常具有采樣保持器,轉(zhuǎn)換速率快。

          2)FPGA采用ALTERA公司CycloneⅡ系列的EP2C35F672I8N,靜態(tài)功耗小于0.25W。采用+3.3V、+2.5V、+1.2V分別給不同區(qū)進(jìn)行供電。靈活的I/O控制使得編程簡(jiǎn)化,電路設(shè)計(jì)方便。采用AS和JTAG配置模式,配置芯片是EPCS16SI8N,器件的時(shí)鐘配置為50MHz。

          FPGA主要利用片外的SDRAM提供數(shù)據(jù)輸出/輸入的雙緩沖作用,之所以選取SDRAM,主要是因?yàn)樵诟鞣N隨機(jī)存取器件中,SDRAM的容量較大,價(jià)格較低,且其數(shù)據(jù)突發(fā)傳輸模式能大大提高存取速度,能夠滿足應(yīng)用的要求。

          3)CF卡作用是將A/D采集到的數(shù)據(jù)進(jìn)行存儲(chǔ),當(dāng)數(shù)據(jù)容量存儲(chǔ)滿時(shí),發(fā)送滿信息,F(xiàn)PGA得到滿信息后,停止對(duì)數(shù)據(jù)的采集并提示用戶更換CF卡。

          系統(tǒng)工作過(guò)程為:系統(tǒng)加電后,F(xiàn)PGA向A/D轉(zhuǎn)換器發(fā)出相應(yīng)控制信號(hào),由于ADC采樣率為250kS/s,為和CF卡存儲(chǔ)速度相匹配,需要一個(gè)FIFO緩存系統(tǒng)。A/D轉(zhuǎn)換器在FPGA的ADC接口控制電路控制下,把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并將采樣數(shù)據(jù)存入FIFO緩存系統(tǒng)。同時(shí)FPGA查詢CF卡是否有容量,如果CF卡未滿,那么由FPGA的CF卡接口控制邏輯將采樣結(jié)果從FIFO緩存送入CF卡中;當(dāng)CF卡的容量達(dá)到一定程度后,F(xiàn)PGA發(fā)出滿信息,向A/D狀態(tài)機(jī)發(fā)送停止采集的命令,并提示用戶已滿,更換CF卡。

          由于把FPGA設(shè)置為特定的自動(dòng)模式,因此FPGA控制A/D采集以及把數(shù)據(jù)送往CF卡的所有操作不需要外部干預(yù),從而保證足夠的數(shù)據(jù)傳輸速率。采樣過(guò)程中FPGA的CF卡接口控制邏輯依次取走FIFO中的批量數(shù)據(jù),在進(jìn)行CF卡的數(shù)據(jù)存儲(chǔ)時(shí)A/D仍然持續(xù)轉(zhuǎn)換,F(xiàn)IFO也被持續(xù)寫入轉(zhuǎn)換結(jié)果,避免兩者的沖突。

          2硬件設(shè)計(jì)

          系統(tǒng)的硬件由模數(shù)轉(zhuǎn)換電路、數(shù)據(jù)采集存儲(chǔ)與傳輸控制電路、接口電路構(gòu)成。

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

          模數(shù)轉(zhuǎn)換電路是整個(gè)系統(tǒng)的重要組成部分,它由差分放大適配電路、A/D轉(zhuǎn)換器構(gòu)成,如圖1所示,其核心器件是A/D轉(zhuǎn)換芯片ADS8515。

          圖1 信號(hào)適配和模數(shù)轉(zhuǎn)換電路原理圖

          模擬輸入信號(hào)經(jīng)過(guò)由OPA2604和OP604構(gòu)成的差分放大適配電路將信號(hào)適配到ADS8515的采集范圍。ADS8515將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。ADS8515的控制信號(hào)由FPGA提供,ADS8515在控制信號(hào)的作用下,以適當(dāng)?shù)臅r(shí)序完成轉(zhuǎn)換工作。

          2.2數(shù)據(jù)采集存儲(chǔ)與傳輸控制電路設(shè)計(jì)

          數(shù)據(jù)采集存儲(chǔ)與傳輸控制電路的開發(fā)工作主要集中在FPGA上。FPGA負(fù)責(zé)在CF卡與A/D芯片之間的緩沖與控制,一邊與A/D接口,另一邊與CF卡接口,產(chǎn)生數(shù)據(jù)采集、A/D轉(zhuǎn)換、FIFO所需的全部控制信號(hào),實(shí)現(xiàn)對(duì)傳輸數(shù)據(jù)的緩存、讀/寫控制、時(shí)鐘、輸出使能以及對(duì)A/D的控制等功能。

          2.2.1FPGA內(nèi)部總體設(shè)計(jì)

          FPGA設(shè)計(jì)內(nèi)部結(jié)構(gòu)簡(jiǎn)圖如圖2所示,由FIFO、CF卡控制狀態(tài)機(jī)、ADC接口控制狀態(tài)機(jī)三部分構(gòu)成。

          圖中由左向右的寬箭頭表示數(shù)據(jù)流,ADdata[15..0]是與A/D轉(zhuǎn)換連接的數(shù)據(jù)總線,CFdata[15:0]是與CF卡連接的數(shù)據(jù)總線。單線箭頭表示輸入輸出及FPGA內(nèi)部各個(gè)模塊間的控制信號(hào)線。從數(shù)據(jù)流向看,數(shù)據(jù)在ADC接口控制狀態(tài)機(jī)的協(xié)調(diào)下通過(guò)ADC接口送入FIFO中,經(jīng)過(guò)FIFO的緩沖后,在CF卡控制狀態(tài)機(jī)的協(xié)調(diào)下,數(shù)據(jù)傳輸存儲(chǔ)到CF卡;當(dāng)CF卡存儲(chǔ)滿時(shí),F(xiàn)PGA通過(guò)ADC狀態(tài)機(jī)停止A/D的采集,并提示用戶更換CF卡。

          2.2.2數(shù)據(jù)雙緩存器FIFO

          由于與CF卡接口的數(shù)據(jù)傳輸方式是突發(fā)的數(shù)據(jù)塊傳送,每個(gè)數(shù)據(jù)塊是用很高的速率傳送到CF卡,這樣就必須有緩存把A/D采集來(lái)的數(shù)據(jù)先緩存,然后發(fā)送到CF卡進(jìn)行存儲(chǔ)。然而FPGA內(nèi)部的FIFO不足以支持系統(tǒng)中大量數(shù)據(jù)的暫時(shí)存儲(chǔ),這就要求很大的中間緩存。在本系統(tǒng)中利用FPGA對(duì)外部SDRAM的控制,以達(dá)到大量高速存取數(shù)據(jù)的功能。SDRAM選用MICRON公司的MT48LC4M32B2,存儲(chǔ)容量為128MB,數(shù)據(jù)帶寬為32位,內(nèi)部由4個(gè)BANK組成,每個(gè)BANK有4096行和256列。

          圖2 數(shù)據(jù)采集與傳輸控制結(jié)構(gòu)示意圖

          本文設(shè)計(jì)的FIFO系統(tǒng)由FPGA和SDRAM兩部分組成。其中FPGA內(nèi)部包含F(xiàn)IFO監(jiān)控器、緩沖器、SDRAM控制器三個(gè)模塊。FIFO監(jiān)控器的作用是將SDRAM的狀態(tài)轉(zhuǎn)變成SDRAM控制器的讀、寫信號(hào)。若操作為向SDRAM寫數(shù)據(jù),則在SDRAM滿時(shí),F(xiàn)IFO監(jiān)控器送出一個(gè)信號(hào),以阻止寫操作繼續(xù)向SDRAM中寫數(shù)據(jù)而造成溢出;若操作為向SDRAM讀數(shù)據(jù),則在緩沖器已空時(shí),F(xiàn)IFO監(jiān)控器送出一個(gè)信號(hào),以阻止讀操作繼續(xù)從SDRAM中讀數(shù)據(jù)而造成無(wú)效數(shù)據(jù)的讀出。FIFO系統(tǒng)的模塊結(jié)構(gòu)如圖3所示。

          圖3 FIFO模塊結(jié)構(gòu)示意圖

          2.3接口電路設(shè)計(jì)

          2.3.1FPGA內(nèi)ADC接口模塊的設(shè)計(jì)

          對(duì)A/D轉(zhuǎn)換器的編程,主要是FPGA對(duì)ADS8515的控制信號(hào)進(jìn)行寫邏輯,其接口示意圖如圖4所示。

          圖4 A/D轉(zhuǎn)換模塊接口示意圖

          2.3.2FPGA內(nèi)CF卡接口控制狀態(tài)機(jī)的設(shè)計(jì)

          CF卡有三種訪問(wèn)方式,分別為I/O模式、Memory模式和TrueIDE模式。本系統(tǒng)采用TrueIDE模式訪問(wèn)CF卡。需要在電源加電啟動(dòng)時(shí)將OE接地,見圖5,讓CF卡工作在TrueIDE模式。當(dāng)CSEL輸入信號(hào)接地時(shí),CF卡工作方式為主模式;CSEL輸入信號(hào)接高電平時(shí),CF卡工作方式為從模式。本系統(tǒng)中將CF卡配置成從模式工作方式。當(dāng)采用TrueIDE訪問(wèn)模式工作時(shí),第3位到第10位地址線接地,WE信號(hào)接高電平。

          圖5與CF卡接口示意圖

          3軟件設(shè)計(jì)

          CF卡的數(shù)據(jù)存儲(chǔ)以扇區(qū)為基本單位。系統(tǒng)向CF卡寫入一個(gè)扇區(qū)的數(shù)據(jù),如圖6所示。首先根據(jù)控制命令設(shè)定16位工作模式,設(shè)置將寫入的扇區(qū)數(shù)目、相應(yīng)地址和訪問(wèn)模式,然后發(fā)送寫命令,等待CF卡準(zhǔn)備就緒后,從數(shù)據(jù)緩沖區(qū)SDRAM寫入CF卡中。

          圖6 向CF卡寫數(shù)據(jù)流程圖

          4結(jié)束語(yǔ)

          基于FPGA的高速大容量低成本數(shù)據(jù)采集系統(tǒng)以FPGA作為橋梁,控制片外高速SDRAM緩沖器,以CF卡作為大容量存儲(chǔ)介質(zhì),既利用了FPGA的內(nèi)部資源豐富和設(shè)計(jì)方便的優(yōu)點(diǎn),同時(shí)利用了CF卡容量大、體積小和價(jià)格低廉等優(yōu)點(diǎn),給出了高速大容量數(shù)據(jù)采集的方法,該方法已成功應(yīng)用于實(shí)際系統(tǒng)中。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();