基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計方案
出處:電子技術(shù)網(wǎng) 發(fā)布于:2013-09-16 10:31:26
摘要:本設(shè)計采用了以FPGA作為主控邏輯模塊,從而實現(xiàn)了數(shù)據(jù)的硬件采集。設(shè)計中采用了自頂向下的方法,并將FPGA依據(jù)功能劃分為幾個模塊,詳細介紹了各個模塊的設(shè)計方法和功能。FPGA模塊設(shè)計采用VHDL語言,在QuartusⅡ中實現(xiàn)了軟件的設(shè)計和仿真。整個系統(tǒng)可以實現(xiàn)6路工作頻率是40kHz的模擬信號的采集和6路內(nèi)部通信信號以實現(xiàn)自檢的功能。
1.引言
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用MCU或DSP作為控制模塊,來控制A/D,存儲器和其他一些外圍電路。這種方法編程簡單,控制靈活,但缺點是控制周期長,速度慢。特別是當A/D本身的采樣速度比較快時,MCU的慢速極大地限制了A/D高速性能的使用。MCU的時鐘頻率較低并且用軟件實現(xiàn)數(shù)據(jù)的采集,軟件運行時間在整個采樣時間中占的比例很大,使得采樣速率較低。
隨著數(shù)據(jù)采集對速度性能的要求越來越來高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。本設(shè)計采用FPGA,各模塊設(shè)計使用VHDL語言,其各進程間是并行的關(guān)系。它有MCU無法比擬的優(yōu)點。FPGA的時鐘頻率高,全部控制邏輯由硬件完成,實現(xiàn)了硬件采樣,速度快。
2.系統(tǒng)的總體設(shè)計
本數(shù)據(jù)采集系統(tǒng),采用FPGA+MCU的結(jié)構(gòu),主控邏輯模塊用FPGA來實現(xiàn),在系統(tǒng)中對A/D器件進行采樣控制,起到連接采樣電路和MCU的橋梁作用,數(shù)據(jù)處理、遠程通信及液晶顯示控制等由MCU來完成。FPGA把傳統(tǒng)的純粹以單片機軟件操作形式的數(shù)據(jù)采集變成硬件采集。
首先用VHDL語言來設(shè)計狀態(tài)機,用MCU來啟動狀態(tài)機,使其控制A/D器件,實現(xiàn)數(shù)據(jù)采集。并將采集到的數(shù)據(jù)存儲到FPGA內(nèi)部的數(shù)據(jù)緩存區(qū)FIFO中。當FIFO存儲已滿時,狀態(tài)機控制FIFO停止數(shù)據(jù)寫入,并通知單片機取走采集數(shù)據(jù)進行下一步處理。這種設(shè)計思想大大減輕了單片機的軟件運行時間,提高了采集速率。這里,把6路模擬信號采集任務(wù)作為快任務(wù),把用于系統(tǒng)自檢的6路檢測量信號作為慢任務(wù)。為了使快任務(wù)的優(yōu)先級高于慢任務(wù),本系統(tǒng)設(shè)計兩個狀態(tài)機分別實現(xiàn)快任務(wù)和慢任務(wù)的數(shù)據(jù)采集,并由單片機生成PWM波,分別控制兩個狀態(tài)機。系統(tǒng)的總體框圖如圖1所示:

3.系統(tǒng)主要器件的選擇
3.1 FPGA芯片選型及依據(jù)
FPGA實現(xiàn)主控邏輯控制,要求響應(yīng)速度快,效率高??刹捎肁LTERA公司的ACEX1K系列EP1K5O芯片,工作頻率可達250MHz.
該系列芯片的特點是將LUT(查找表)和EAB(嵌入式陣列)相結(jié)合,提供了效率而又廉價的結(jié)構(gòu)。基于LUT的邏輯對數(shù)據(jù)路徑管理、寄存器強度、數(shù)學計算或數(shù)字信號處理的設(shè)計提供優(yōu)化的性能和效率,而EBA可實現(xiàn)RAM(隨機讀寫存儲器)、ROM(只讀存儲器)、雙口RAM或FIFO(先人先出存儲器)功能,使得ACEX1K適合復(fù)雜邏輯以及有存儲、緩沖功能的數(shù)據(jù)采集系統(tǒng)。
3.2 ADC芯片選型及依據(jù)
數(shù)據(jù)采集系統(tǒng)的輸入信號多數(shù)都來源于現(xiàn)場傳感器的輸出信號,傳感器種類不一,致使信號特性也不同,各通道信號的幅度與頻率范圍有很大的不同,高的、大動態(tài)范圍的A/D轉(zhuǎn)換芯片使設(shè)計更能滿足測量的需要。本設(shè)計中A/D轉(zhuǎn)換模塊選用的AD574A是美國模擬數(shù)字公司(Analog)推出的單片高速12位逐次比較型A/D轉(zhuǎn)換器,轉(zhuǎn)換速率:25us,內(nèi)置雙極性電路構(gòu)成的混合集成轉(zhuǎn)換顯片,具有外接元件少,功耗低,高等特點,并且具有自動校零和自動極性轉(zhuǎn)換功能,只需外接少量的阻容件即可構(gòu)成一個完整的A/D轉(zhuǎn)換器。
4.FPGA方案設(shè)計
4.1 設(shè)計思想
用VHDL語言來設(shè)計兩個狀態(tài)機,狀態(tài)機1來控制A/D實現(xiàn)快任務(wù)的采集,狀態(tài)機2來完成慢任務(wù)采集。兩個狀態(tài)機的時鐘信號CLK(高電平有效)均來自單片機生成的PWM波,狀態(tài)機1直接由單片機控制,狀態(tài)機2則是由單片機經(jīng)反向器來控制。首先置P1.0口為高電平,并用定時器來產(chǎn)生中斷,使P1.0口產(chǎn)生PWM波。當P1.0口為高電平時啟動狀態(tài)機1,此時狀態(tài)機2不動作;當快任務(wù)采樣完成后,由定時器產(chǎn)生中斷,將P1.0口置為低電平,此時狀態(tài)機2動作,來完成慢任務(wù)采集。下一個周期完成同樣的操作。對應(yīng)快任務(wù)的采集數(shù)據(jù)緩存在快任務(wù)FIFO,慢任務(wù)的采集數(shù)據(jù)緩存在慢任務(wù)FIFO里,單片機讀對應(yīng)的FIFO數(shù)據(jù)來進行相應(yīng)處理。
4.2 各模塊的設(shè)計
根據(jù)以上的設(shè)計思想,F(xiàn)PGA系統(tǒng)的硬件設(shè)計模塊主要有狀態(tài)機模塊,F(xiàn)IFO設(shè)計模塊[4-5].
下面具體給出硬件原理設(shè)計。
4.2.1 狀態(tài)機的設(shè)計
該設(shè)計過程主要是建立采集所需要的硬件電路,等待時鐘信號的到來便立刻啟動A/D進行工作。了解了AD574A的工作時序,就可以寫出狀態(tài)機的采樣控制狀態(tài)??刂茽顟B(tài)編碼表如表1所示。

用VHDL語言來實現(xiàn)狀態(tài)機,其原程序:

然后在Quartus Ⅱ 中進行仿真,仿真如圖2所示:

4.2.2 FIFO模塊設(shè)計
利用FPGA中的EAB/ESB等嵌入式模塊構(gòu)成的LPM宏功能模塊來生成LPM_FIFO.其編輯定制方法:
(1)進入QuartusⅡ,選擇菜單File->TOOL->Megawizard Plug-In Manager,選擇Create a new custom megafunctionvariation,選擇FIFO.
?。?)選擇FIFO數(shù)據(jù)位寬度為12,深度為512.
(3)選擇FIFO的端口:12位數(shù)據(jù)輸入輸出端口data[120]和q[120];對clock同步的數(shù)據(jù)寫入和讀出請求wrreq和rdreq;異步清零aclr;存儲數(shù)據(jù)溢出信號full.
5.結(jié)論
本文完成高速、多通道的數(shù)據(jù)采集系統(tǒng)的FPGA設(shè)計。利用VHDL語言對FPGA進行設(shè)計,并在QuartusⅡ中進行系統(tǒng)仿真和驗證。
由FPGA在線編程的特點,可以依據(jù)現(xiàn)場的具體情況,對FPGA的內(nèi)部配置進行修改,進一步增加了系統(tǒng)應(yīng)用的靈活性,因此該系統(tǒng)是一種比較理想的實時高速數(shù)據(jù)采集方案。(作者:蔣洪明)
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- TTL、RS232、485 到底能傳輸多遠距離2025/9/16 15:43:19
- 信號之時域如何轉(zhuǎn)換成頻域2025/9/2 17:19:53
- 探究 TVS 布局與靜電放電防護效果之間的內(nèi)在聯(lián)系2025/9/1 16:45:12
- 高扇出信號線優(yōu)化技巧(下)2025/8/28 16:10:19
- 高扇出信號線的優(yōu)化策略(上)2025/8/28 16:05:16









