一種基于fpga的數(shù)據(jù)采集系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及控制或調(diào)節(jié)系統(tǒng)技術(shù)領(lǐng)域,尤其是一種基于FPGA的數(shù)據(jù)采集系統(tǒng)及方法。
【背景技術(shù)】
[0002]在工業(yè)生產(chǎn)和科學(xué)技術(shù)研宄的各行業(yè)中,常常需要對(duì)各種數(shù)據(jù)進(jìn)行采集,如液位、溫度、壓力、頻率等信息的采集。在圖像處理、瞬態(tài)信號(hào)檢測(cè)、軟件無(wú)線電等一些領(lǐng)域,更是要求高速度、高精度、高實(shí)時(shí)性的數(shù)據(jù)采集技術(shù)。
[0003]數(shù)據(jù)采集系統(tǒng)的任務(wù)就是將采集傳感器輸出的模擬信號(hào)進(jìn)行處理并轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào),有計(jì)算機(jī)進(jìn)行相應(yīng)的計(jì)算和處理來(lái)滿足不同的需要,得到所需的數(shù)據(jù)。數(shù)據(jù)采集系統(tǒng)性能的好壞,是由它的精度和速度來(lái)決定的。在保證精度的前提下,應(yīng)當(dāng)用盡可能高的采集速度,這樣才能滿足實(shí)時(shí)采集、實(shí)時(shí)處理和實(shí)時(shí)控制對(duì)速度的要求。
[0004]在傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,A/D的控制和數(shù)據(jù)的轉(zhuǎn)存均是通過(guò)CPU或者M(jìn)CU來(lái)完成。在這種方式下,將A/D轉(zhuǎn)換的結(jié)果讀入,然后再轉(zhuǎn)存到片外的存儲(chǔ)器中,這一過(guò)程至少需要4個(gè)機(jī)器周期。即使對(duì)于ARM芯核的單片機(jī),使用33MHz的晶振,它的最高轉(zhuǎn)存數(shù)據(jù)速度也只達(dá)到8Mbyte/s。在高速數(shù)據(jù)采集系統(tǒng)中,這種方式一方面占用太多CPU資源,另外也遠(yuǎn)遠(yuǎn)不能滿足高速采集的速度要求。
[0005]數(shù)據(jù)采集系統(tǒng)的控制芯片在不停發(fā)展和進(jìn)步,從原來(lái)的單一的單片機(jī)發(fā)展到數(shù)據(jù)處理芯片DSP、嵌入式漆片等更高速、高性能的芯片。在傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,我們通常采用單片機(jī)或DSP、控制ADC、存儲(chǔ)器以及其他一些外圍電路的工作,但這樣的系統(tǒng)存在如下不足:
[0006]I)單片機(jī)的時(shí)鐘頻率較低,需要軟件支持來(lái)實(shí)現(xiàn)其功能,軟件的運(yùn)行時(shí)間在整個(gè)采樣時(shí)間中占據(jù)很大的比例,效率很低,很難適應(yīng)高速、高精度數(shù)據(jù)的采集系統(tǒng)的要求。
[0007]2)DSP可以通過(guò)軟件編程來(lái)實(shí)現(xiàn)其功能,雖然運(yùn)算速度快而且擅長(zhǎng)處理密集的乘加運(yùn)算,但是受到DSP本身的性能及程序指令順序執(zhí)行的限制,它很難完成對(duì)外圍的復(fù)雜硬件進(jìn)行邏輯控制。
[0008]這些不足遠(yuǎn)遠(yuǎn)滿足不了高速數(shù)據(jù)采集技術(shù)的要求。
【發(fā)明內(nèi)容】
[0009]本發(fā)明提供一種基于FPGA的數(shù)據(jù)采集系統(tǒng)及方法,所要解決的技術(shù)問(wèn)題是采樣效率低、對(duì)外圍硬件控制難的問(wèn)題。
[0010]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種基于FPGA的數(shù)據(jù)采集系統(tǒng),包括信息采集模塊、信息處理模塊和FPGA模塊。
[0011]所述信息采集模塊,用于采集模擬信號(hào),并將所述模擬信號(hào)傳輸給所述信息處理豐旲塊。
[0012]所述信息處理模塊,用于對(duì)采集到的模擬信號(hào)進(jìn)行調(diào)整并轉(zhuǎn)換為數(shù)字信號(hào)。
[0013]所述FPGA模塊,用于將所述數(shù)字信號(hào)緩存起來(lái)并傳輸給外部信號(hào)讀取模塊。
[0014]本發(fā)明的有益效果是:本發(fā)明采用了快速、高分辨率的數(shù)據(jù)轉(zhuǎn)換部件,大大提高了數(shù)據(jù)采集系統(tǒng)的性能;FPGA的時(shí)鐘頻率很高,內(nèi)部時(shí)延非常小;全部的控制邏輯都可由硬件完成,速度快、效率高,非常適于數(shù)據(jù)量大的高速傳輸控制;而且FPGA的組成形式靈活,可以集成外圍控制、譯碼和接口等各種電路。
[0015]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0016]進(jìn)一步,所述信息處理模塊包括信號(hào)調(diào)整模塊和模數(shù)轉(zhuǎn)換器;所述信號(hào)調(diào)整模塊用于將所述模擬信號(hào)調(diào)整到所述模數(shù)轉(zhuǎn)換器的輸入范圍內(nèi);所述模數(shù)轉(zhuǎn)換器用于將所述模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。
[0017]進(jìn)一步,所述FPGA模塊包括數(shù)據(jù)緩存模塊、時(shí)鐘模塊、采集控制模塊和數(shù)據(jù)接口模塊;所述數(shù)據(jù)緩存模塊用于將所述數(shù)字信號(hào)進(jìn)行緩存;所述時(shí)鐘模塊用于為所述模數(shù)轉(zhuǎn)換器、數(shù)據(jù)緩存模塊和采集控制模塊提供時(shí)鐘;所述采集控制模塊用于通過(guò)控制所述模數(shù)轉(zhuǎn)換器的時(shí)序來(lái)控制模數(shù)轉(zhuǎn)換芯片工作。
[0018]進(jìn)一步,所述FPGA模塊采用EP1C6Q240C8芯片。
[0019]進(jìn)一步,所述模數(shù)轉(zhuǎn)換器采用AD9288轉(zhuǎn)換器或AD7278轉(zhuǎn)換器。
[0020]進(jìn)一步,在所述AD9288轉(zhuǎn)換器的電源引腳與地之間串聯(lián)一個(gè)0.1 yF的去耦電容。
[0021]進(jìn)一步,在所述AD7278轉(zhuǎn)換器的電源引腳與地之間并聯(lián)0.1yF和680nF的去耦電容。
[0022]本發(fā)明還提供了一種基于FPGA的數(shù)據(jù)采集方法,包括以下步驟:
[0023]步驟1:采集模擬信號(hào)。
[0024]步驟2:對(duì)采集到的模擬信號(hào)進(jìn)行調(diào)整并轉(zhuǎn)換為數(shù)字信號(hào)。
[0025]步驟3:將所述數(shù)字信號(hào)緩存起來(lái)并傳輸給外部信號(hào)讀取模塊。
[0026]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0027]進(jìn)一步,所述步驟2中對(duì)采集到的模擬信號(hào)進(jìn)行調(diào)整并轉(zhuǎn)換為數(shù)字信號(hào)的具體實(shí)現(xiàn)為:將所述模擬信號(hào)調(diào)整到模數(shù)轉(zhuǎn)換器的輸入范圍內(nèi)后,再將所述模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。
[0028]進(jìn)一步,所述步驟3中將所述數(shù)字信號(hào)緩存起來(lái)并傳輸給外部信號(hào)讀取模塊的具體實(shí)現(xiàn)為:將所述數(shù)字信號(hào)進(jìn)行緩存,當(dāng)接收到讀命令后,讀取所述數(shù)字信號(hào)并傳輸給所述外部信號(hào)讀取模塊。
【附圖說(shuō)明】
[0029]圖1為本發(fā)明一種基于FPGA的數(shù)據(jù)采集系統(tǒng)的原理框圖;
[0030]圖2為本發(fā)明一種基于FPGA的數(shù)據(jù)采集方法的方法流程圖。
【具體實(shí)施方式】
[0031]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0032]如圖1所示,一種基于FPGA的數(shù)據(jù)采集系統(tǒng),包括信息采集模塊、信息處理模塊和FPGA模塊。
[0033]所述信息采集模塊,用于采集模擬信號(hào),并將所述模擬信號(hào)傳輸給所述信息處理豐旲塊。
[0034]所述信息處理模塊,用于對(duì)采集到的模擬信號(hào)進(jìn)行調(diào)整并轉(zhuǎn)換為數(shù)字信號(hào)。
[0035]所述FPGA模塊,用于將所述數(shù)字信號(hào)緩存起來(lái)并傳輸給外部信號(hào)讀取模塊。
[0036]所述信息處理模塊包括信號(hào)調(diào)整模塊和模數(shù)轉(zhuǎn)換器;所述信號(hào)調(diào)整模塊用于將所述模擬信號(hào)調(diào)整到所述模數(shù)轉(zhuǎn)換器的輸入范圍內(nèi);所述模數(shù)轉(zhuǎn)換器用于將所述模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。
[0037]所述FPGA模塊包括數(shù)據(jù)緩存模塊、時(shí)鐘模塊、采集控制