本實用新型涉及一種高速數(shù)據(jù)采集、存儲與回放系統(tǒng),尤其涉及一種基于FPGA的高速數(shù)據(jù)采集、存儲與回放系統(tǒng)。
背景技術:
在雷達、氣象、地震預報、航空航天、通信等領域里,現(xiàn)場信號有著重要的作用,這些信號具有實時性強、數(shù)據(jù)率高、數(shù)據(jù)量大和處理復雜等特點。因而,信號的高速采集有著重要的作用。同時,越來越多的電子系統(tǒng)趨向于使用數(shù)字處理技術來提高自身的性能、效果和實現(xiàn)復雜的算法,對數(shù)據(jù)采集速度和數(shù)據(jù)存儲量的需求也越來越大。
近年來在數(shù)據(jù)采集產(chǎn)品的研制上取得了一定的成果,尤其低速數(shù)據(jù)采集技術已經(jīng)相當成熟。但是,在高速數(shù)據(jù)采集領域,控制器件對高速模數(shù)轉換和高速數(shù)模轉換的控制、數(shù)據(jù)轉換速率與存儲器件的存取速率不同以及FPGA控制器件的內(nèi)部設計方面還存在一定問題。
技術實現(xiàn)要素:
為克服現(xiàn)有技術的不足,本實用新型提出一種基于FPGA的高速數(shù)據(jù)采集、存儲與回放系統(tǒng)。
本實用新型的技術方案是這樣實現(xiàn)的:
一種基于FPGA的高速數(shù)據(jù)采集、存儲與回放系統(tǒng),包括
差分放大器;
與所述差分放大器相連的ADC轉換器;
與所述ADC轉換器相連的FPGA芯片,所述FPGA芯片包括ADC控制器、DAC控制器、先入先出存儲器和SDRAM控制器;
與所述FPGA芯片相連的SDRAM存儲器;和
與所述FPGA芯片相連的DAC轉換器;
其中,所述差分放大器將模擬信號調(diào)整到所述ADC轉換器的采集范圍,所述ADC控制器控制所述ADC轉換器將模擬信號轉換為數(shù)字信號并將采樣數(shù)據(jù)存入所述先入先出存儲器中,所述ADC控制器依次取走所述先入先出存儲器中的數(shù)據(jù)并存入到所述SDRAM存儲器中,所述DAC控制器控制所述DAC轉換器將所述數(shù)字信號轉換為模擬信號輸出。
進一步地,所述FPGA芯片采用FPGA-CycloneⅡ系列的EP2C50F484芯片。
進一步地,所述ADC轉換器采用AD9230芯片。
進一步地,所述DAC轉換器采用DAC5681Z芯片。
進一步地,所述SDRAM存儲器采用MT8HTF12864HDY-800E1存儲器。
本實用新型的有益效果在于,與現(xiàn)有技術相比,本實用新型以FPGA芯片為控制核心,用DDR2SDRAM內(nèi)存條為存儲介質,通過高速ADC、DAC器件轉換,實現(xiàn)了最高采樣率為250MSPS、垂直分辨率為12位、存儲容量為1GB的大容量高速數(shù)據(jù)采集、存儲與回放。
附圖說明
圖1是本實用新型基于FPGA的高速數(shù)據(jù)采集、存儲與回放系統(tǒng)結構示意圖;
圖2是本實用新型中ADC轉換器與FPGA芯片連接示意圖;
圖3是本實用新型中DAC轉換器與FPGA芯片連接圖。
具體實施方式
下面將結合本實用新型實施例中的附圖,對本實用新型實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本實用新型一部分實施例,而不是全部的實施例。基于本實用新型中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本實用新型保護的范圍。
請參見圖1,本實用新型一種基于FPGA的高速數(shù)據(jù)采集、存儲與回放系統(tǒng),包括差分放大器;與所述差分放大器相連的ADC轉換器;與所述ADC轉換器相連的FPGA芯片,所述FPGA芯片包括ADC控制器、DAC控制器、先入先出存儲器和SDRAM控制器;與所述FPGA芯片相連的SDRAM存儲器;和與所述FPGA芯片相連的DAC轉換器。
對于FPGA芯片,綜合考慮芯片性能和成本,選用Altera公司的低成本FPGA-CycloneⅡ系列EP2C50F484芯片,芯片具有129個M4K RAM,最大用戶可用I/O引腳數(shù)294個,接口速率高達吉比特每秒。該芯片滿足系統(tǒng)對緩存容量、數(shù)據(jù)接口、數(shù)據(jù)速度的要求。
FPGA芯片內(nèi)部包含ADC控制器、DAC控制器、FIFO(先入先出存儲器)和SDRAM控制器等模塊。用Verilog語言設計FPGA芯片內(nèi)部控制模塊。
其中,F(xiàn)IFO的設計:用Verilog語言設計FPGA芯片內(nèi)部FIFO。由于AD時鐘、DA時鐘與SDRAM時鐘不相同,存儲器位寬不同,因此需要進行數(shù)據(jù)緩沖,以實現(xiàn)數(shù)據(jù)讀寫時鐘與位寬的匹配。利用FPGA芯片內(nèi)部的自帶雙口RAM存儲器來設計一個異步FIFO(First In First Out先進先出隊列)來實現(xiàn)數(shù)據(jù)流的傳輸,由發(fā)送時鐘域將數(shù)據(jù)寫入,接收時鐘域將數(shù)據(jù)讀出,在數(shù)據(jù)傳輸?shù)耐瑫r實現(xiàn)了數(shù)據(jù)的緩存。當FIFO中的數(shù)據(jù)寫滿時,FIFO的滿標志(FULL)置1,SDRAM取走一頁的數(shù)據(jù);當FIFO中的數(shù)據(jù)讀空時,FIFO的空標志(EMPTY)置1,暫停取走數(shù)據(jù),實現(xiàn)數(shù)據(jù)正確傳輸。
SDRAM控制器的設計:用Verilog語言設計FPGA芯片內(nèi)部SDRAM控制器。若操作為向SDRAM寫數(shù)據(jù),則在SDRAM滿時,SDRAM控制器送出一個信號,以阻止寫操作繼續(xù)向SDRAM中寫數(shù)據(jù)而造成溢出;若操作為向SDRAM讀數(shù)據(jù),則在緩沖器已空時,SDRAM控制器送出一個信號,以阻止讀操作繼續(xù)從SDRAM中讀數(shù)據(jù)而造成無效數(shù)據(jù)的讀出。
時鐘電路的設計:整個高速采集系統(tǒng)是在一定時序控制下完成的,ADC轉換器的最高采樣頻率為250MSPS,SDRAM所需的時鐘頻率為200MHz,所以系統(tǒng)時鐘采用50MHz的有源晶振來實現(xiàn),有源晶振輸出的穩(wěn)定時鐘信號利用FPGA芯片內(nèi)的PLL(Phase Locked Loop鎖相環(huán))通過分頻、倍頻或者移位等來實現(xiàn)ADC轉換器、DAC轉換器、SDRAM存儲器所需要的時鐘頻率。
系統(tǒng)工作過程為:輸入模擬信號,通過差分放大器,調(diào)整到ADC轉換器采集范圍,ADC轉換器在FPGA芯片內(nèi)部ADC控制器作用下,把模擬信號轉換成數(shù)字信號,并將采樣數(shù)據(jù)存入FPGA芯片內(nèi)部的FIFO緩存系統(tǒng)。采樣過程中FPGA芯片內(nèi)部ADC控制器依次取走FIFO中的批量數(shù)據(jù),存儲到片外SDRAM存儲器中?;胤畔到y(tǒng)在FPGA內(nèi)部DAC控制器的作用下,把FPGA內(nèi)部輸出的數(shù)字信號轉換成模擬信號輸出。
ADC轉換器采用ADI公司的高速、低功耗、12位模數(shù)變換通道的芯片AD9230,其最大采樣率250MHz。在AD9230芯片前端,添加三運放集成儀表放大器結構AD620構成的差分放大適配電路,將模擬輸入信號適配到AD9230的采集范圍。AD620輸入端為差分輸入,通過調(diào)整電阻Rg的大小控制輸出的增益,電路增益計算公式為:G=49.4K/Rg+1,驅動后續(xù)的高速模數(shù)轉換器。
DAC轉換器采用TI公司的DAC5681Z芯片,16位分辨率,支持LVDS電平標準,轉換速度達1GSPS。
對于SDRAM存儲器的選擇,由于數(shù)據(jù)量較大,F(xiàn)PGA內(nèi)部的RAM無法滿足存儲要求,同時考慮到ADC的采樣率很高導致單位時間產(chǎn)生的數(shù)據(jù)量特別大,所以,選擇具有高速和高性價比的SDRAM作為系統(tǒng)的存儲單元。本系統(tǒng)設計選取的是比較常見的筆記本內(nèi)存條-MT8HTF12864HDY-800E1,容量為1GB,外部數(shù)據(jù)率為800Mbps,帶寬為6.4GB/s,完全可以滿足數(shù)據(jù)緩存的需求。
圖2是ADC轉換器與FPGA芯片連接以及FPGA內(nèi)部ADC控制器的設計。數(shù)據(jù)轉換和提取過程如下:首先,CS信號控制AD9230數(shù)據(jù)轉換和數(shù)據(jù)讀取。FPGA內(nèi)部ADC控制器檢測BUSY和RS的狀態(tài),當BUSY處于高電平和RC處于低電平時,等待CS下降沿觸發(fā)AD9230轉換。當AD9230開始轉換時,BUSY變?yōu)榈碗娖剑钡睫D換結束。在轉換結束后,ADC轉換器內(nèi)部寄存器會自動進行更新,變?yōu)楦唠娖健τ跀?shù)據(jù)的讀取,同樣需要檢測BUSY和R C的狀態(tài),直到BUSY和RC都處于高電平,此時以CS的下降沿觸發(fā)數(shù)據(jù)讀取。
圖3是DAC轉換器與FPGA芯片連接以及FPGA內(nèi)部DAC控制器的設計。在發(fā)送數(shù)據(jù)之前,F(xiàn)PGA芯片內(nèi)部DAC控制器通過SPI串口配置端口對DAC5681Z進行配置。SPI是由CS、SCLK、SDIO和SDO四路信號線組成,其中CS為芯片片選端,低電平有效,SCLK為串行時鐘接口,SDIO為串行數(shù)據(jù)端口,用于進行指令和數(shù)據(jù)的讀寫,SDO為串行數(shù)據(jù)輸出接口,IOUT_A1和IOUT_A2分別為DAC5681Z差分輸出電流。
以上所述是本實用新型的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本實用新型原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本實用新型的保護范圍。