基于FPGA的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)采集系統(tǒng)
出處:維庫電子市場(chǎng)網(wǎng) 發(fā)布于:2017-11-23 15:27:01
近幾年,F(xiàn)PGA以其應(yīng)用的靈活方便蓬勃發(fā)展,在通信、航空航天、醫(yī)療設(shè)備、消費(fèi)類電子產(chǎn)品等領(lǐng)域一展身手。使用FPGA控制CF的技術(shù)到目前為止還沒有成熟,本文從硬件和軟件角度出發(fā),介紹了FPGA與CF卡的接口設(shè)計(jì)、給出了用雙RAM訪問CF卡的編程,并且利用FPGA作為FIFO對(duì)AD采集的數(shù)據(jù)進(jìn)行緩沖,然后存儲(chǔ)到大容量的CF卡中。
1 系統(tǒng)方案設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)和采集系統(tǒng)主要由三部分組成,CF卡的存儲(chǔ)、FPGA的數(shù)據(jù)雙緩沖器、狀態(tài)寄存器和A/D轉(zhuǎn)換器組成。
1)CF卡數(shù)據(jù)存儲(chǔ),其作用是將AD采集到的數(shù)據(jù)進(jìn)行存儲(chǔ),當(dāng)數(shù)據(jù)容量存儲(chǔ)滿時(shí),發(fā)送滿信息。FPGA得到滿信息后,停止對(duì)數(shù)據(jù)的采集并提示用戶更換CF卡。
2)FPGA主要利用內(nèi)部的SRAM提供數(shù)據(jù)輸出/輸入的雙緩沖作用,采用雙緩沖的原因是防止數(shù)據(jù)的溢出和保證數(shù)據(jù)傳輸?shù)倪B續(xù)性。當(dāng)接收到滿信息時(shí),停止AD采集,并做出提示。
3)A/D轉(zhuǎn)換器的作用,是將所要采集的模擬量轉(zhuǎn)換成數(shù)字量;通過濾波和放大后,由FPGA接收、緩沖、存儲(chǔ)至CF卡。高速AD轉(zhuǎn)換器采用的是轉(zhuǎn)換速率為20MHz的MAX1425。
系統(tǒng)工作過程為:系統(tǒng)通過外部一個(gè)按鍵的低電平給數(shù)據(jù)采集系統(tǒng)一個(gè)采樣開始控制命令,F(xiàn)PGA根據(jù)該命令向AD轉(zhuǎn)換器發(fā)出相應(yīng)控制信號(hào);由于ADC采樣率為20MHz,為和CF卡存儲(chǔ)速度相匹配,在FPGA內(nèi)部生成一個(gè)FIFO緩存器。AD轉(zhuǎn)換器在FPGA的ADC接口控制電路控制下,把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并將采樣數(shù)據(jù)存入FPGA內(nèi)部FIFO緩存。同時(shí)FPGA的查詢CF卡是否有容量,如果CF卡未滿,那么由FPGA的CF卡接口控制邏輯將采樣結(jié)果從FPGA內(nèi)部FIFO緩存送入CF卡中。當(dāng)CF卡的容量達(dá)到一定程度后,F(xiàn)PGA發(fā)出滿信息,向AD狀態(tài)機(jī)發(fā)送停止采集的命令,并提示用戶已滿。由于把FPGA設(shè)置為特定的自動(dòng)模式,因此FPGA控制AD采集以及把數(shù)據(jù)送往CF卡間的所有操作不需要外部干預(yù),從而保證足夠的數(shù)據(jù)傳輸速率。采樣過程中FPGA的CF卡接口控制邏輯依次取走批量數(shù)據(jù)。在進(jìn)行CF卡的數(shù)據(jù)存儲(chǔ)時(shí)AD仍然持續(xù)轉(zhuǎn)換,F(xiàn)PGA內(nèi)部FIFO也被持續(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)的重要組成部分,它由低通濾波器、多路選擇開關(guān)和AD轉(zhuǎn)換器構(gòu)成,如圖2所示。在系統(tǒng)中起這個(gè)作用的器件是AD轉(zhuǎn)換芯片MAX1425。

模擬輸入信號(hào)分別經(jīng)過由運(yùn)放THS4052構(gòu)成的抗混疊低通濾波器去除高頻成分,防止信號(hào)產(chǎn)生“混疊現(xiàn)象”。模數(shù)轉(zhuǎn)換器MAX4125將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。MAX4125的控制信號(hào)由FPGA板提供,MAX4125在控制信號(hào)的作用下,以適當(dāng)?shù)臅r(shí)序完成轉(zhuǎn)換工作。
2.2數(shù)據(jù)采集與傳輸控制電路
數(shù)據(jù)采集與傳輸控制電路的開發(fā)工作主要集中在FPGA上。FPGA負(fù)責(zé)在CF卡與ADC芯片之間的緩沖與控制。一邊與ADC接口,另一邊與CF卡接口,產(chǎn)生數(shù)據(jù)采集、AD轉(zhuǎn)換、FIFO所需的全部控制信號(hào)。實(shí)現(xiàn)對(duì)傳輸數(shù)據(jù)的緩存、讀/寫控制、時(shí)鐘、輸出使能以及對(duì)ADC的控制等功能。
2_2.1 FPGA內(nèi)部總體設(shè)計(jì)
FPGA設(shè)計(jì)內(nèi)部結(jié)構(gòu)簡圖如圖3所示,由FIFO、CF卡控制狀態(tài)機(jī)、ADC接口控制狀態(tài)機(jī)三部分構(gòu)成。圖中由右向左的寬箭頭表示數(shù)據(jù)流,F(xiàn)d[15:0]是與CF卡連接的數(shù)據(jù)總線。單線箭頭表示輸入輸出及FPGA內(nèi)部各個(gè)模塊間的控制信號(hào)線。

從數(shù)據(jù)流向看,數(shù)據(jù)在ADC接口控制狀態(tài)機(jī)的協(xié)調(diào)下通過ADC接口送入FPGA的FIFO中,經(jīng)過FIFO的緩沖后,在CF卡控制狀態(tài)機(jī)的協(xié)調(diào)下,數(shù)據(jù)傳輸?shù)紽PGA外的CF卡;當(dāng)CF卡存儲(chǔ)滿時(shí),F(xiàn)PGA通過ADC狀態(tài)機(jī)停止AD的采集,并提示用戶更換CF卡。
2.2.2數(shù)據(jù)雙緩存器FIFO
FIFO主要由三部分組成:FIFO主體、FIFO讀模塊、FIFO寫模塊。FIFO主體部分利用FPGA內(nèi)部的RAM,通過coregenerator來生成所使用的FIFO。FIFO讀模塊、FIFO寫模塊主要接收外界給出的讀寫開始與停止脈沖信號(hào),轉(zhuǎn)換為讀寫請(qǐng)求信號(hào),給到fifo主體中,同時(shí)讀寫模塊會(huì)處理接口兩邊的時(shí)鐘信號(hào),分別反向后再作為fifo的讀寫時(shí)鐘使用,具體結(jié)構(gòu)見圖4、5。

與CF卡連接的CF卡接口的數(shù)據(jù)傳輸方式是突發(fā)的數(shù)據(jù)塊傳送,并且數(shù)據(jù)塊的大小可以設(shè)置,每個(gè)數(shù)據(jù)塊是用很高的速率傳送到CF卡,這樣就必須有緩存把AD采集來的數(shù)據(jù)先存緩存,然后發(fā)送到CF卡,進(jìn)行存儲(chǔ)。
2.2.3 FPGA內(nèi)ADC接口模塊設(shè)計(jì)
MAX4125的控制信號(hào)都由FPGA產(chǎn)生,接口電路見圖6。

FPGA的工作時(shí)鐘為60MHz,該時(shí)鐘經(jīng)分頻成20MHz提供給MAX4125作為工作時(shí)鐘,同時(shí)也作為FPGA內(nèi)其他邏輯的工作時(shí)鐘。由FPGA內(nèi)狀態(tài)機(jī)控制當(dāng)CS#為低和ADC_Convst為高,MAX4125進(jìn)入采樣保持狀態(tài)。當(dāng)Clock的個(gè)上升沿到來,MAX4125開始轉(zhuǎn)換。MAX4125把轉(zhuǎn)換結(jié)果放到數(shù)據(jù)總線上,F(xiàn)PGA開始讀入10位數(shù)據(jù)(FD[15:0】中10一15六位數(shù)據(jù)線懸空,使數(shù)據(jù)線和AD的位數(shù)匹配)。完成轉(zhuǎn)換后,當(dāng)ADC_Convst再次為高,開始下一輪轉(zhuǎn)換。
2.2.4 FPGA內(nèi)CF卡接口控制狀態(tài)機(jī)的設(shè)計(jì)
圖7是本控制系統(tǒng)的框圖。CF卡的訪問方式有三種,分別為I/O模式、Memory模式和True IDE模式。本系統(tǒng)采用TrueIDE模式訪問CF卡。需要注意的是當(dāng)主機(jī)電源一直接通時(shí),拔插CF卡將會(huì)使其從原來的True IDE方式重新配置成Memory式。所以要讓CF卡一直工作在True IDE模式,需要在電源加電啟動(dòng)時(shí)將OE輸入信號(hào)接地。

當(dāng)CSEL輸入信號(hào)接地時(shí),CF卡工作方式為主模式;CSEL輸入信號(hào)接高電平時(shí)。CF卡工作方式為從模式。本系統(tǒng)中將CF卡配置成從模式工作方式。
當(dāng)采用TruelDE訪問模式工作時(shí),第3位到第10位地址線需要接地,WE信號(hào)需要接高電平。
3 軟件設(shè)計(jì)
CF卡的數(shù)據(jù)存儲(chǔ)以扇區(qū)為基本單位。系統(tǒng)讀寫CF卡時(shí)都是以扇區(qū)為單位進(jìn)行的。為了滿足系統(tǒng)對(duì)速度和控制連續(xù)性的要求,系統(tǒng)的程序設(shè)計(jì)中,利用FPGA的內(nèi)部資源開辟了兩塊RAM,用于存儲(chǔ)一個(gè)扇區(qū)的數(shù)據(jù),這樣從CF卡讀數(shù)據(jù)到RAM和將RAM中的數(shù)據(jù)讀到被控系統(tǒng)中就成了兩個(gè)相對(duì)獨(dú)立的工作過程,這樣既利用了CF卡大容黿的存儲(chǔ)特性又利用了FPGA的工作速度快和內(nèi)部資源豐富的優(yōu)點(diǎn)。圖8是具體流程圖。

從CF卡讀取一個(gè)扇區(qū)的數(shù)據(jù),如圖9所示。首先根據(jù)控制命令設(shè)定16位工作模式、設(shè)置讀取的扇區(qū)數(shù)目、相應(yīng)地址和訪問模式;然后發(fā)送讀命令(0x20),等待CF卡準(zhǔn)備就緒后,從數(shù)據(jù)寄存器中連續(xù)讀取一個(gè)扇區(qū)的數(shù)據(jù)放入到數(shù)據(jù)緩沖區(qū)。

4 結(jié)束語
基于FPGA的海量數(shù)據(jù)采集系統(tǒng)采用FPGA作為控制器,CF卡作為大容量存儲(chǔ)介質(zhì)。采用FPGA讀寫CF卡,既利用了FPGA的內(nèi)部資源豐富和設(shè)計(jì)方便的優(yōu)點(diǎn),同時(shí)利用了CF卡容量大、體積小和價(jià)格低廉等優(yōu)點(diǎn),給出了高效讀寫CF卡的方法,該方法已成功應(yīng)用于實(shí)際系統(tǒng)中。
本文創(chuàng)新點(diǎn):用FPGA讀寫控制CF卡,并且通過用雙RAM方式存儲(chǔ)數(shù)據(jù),利用了FPGA的速度快和可以并行處理數(shù)據(jù)的優(yōu)點(diǎn)。大大提高了工作效率。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 主流存儲(chǔ)技術(shù)核心特性與場(chǎng)景化應(yīng)用概述2026/1/13 11:12:42
- 主流存儲(chǔ)技術(shù)特性與場(chǎng)景化選型指南2026/1/7 10:07:41
- MES系統(tǒng)現(xiàn)場(chǎng)部署與數(shù)據(jù)對(duì)接實(shí)操指南2025/12/29 11:09:41
- eMMC 屬于閃存還是內(nèi)存?從定義到應(yīng)用講透核心區(qū)別2025/9/15 15:24:16
- ddr4和ddr5內(nèi)存接口一樣嗎?全景解析2025/9/8 17:22:03
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









