貴州梅嶺電源有限公司 郭乾利 蘇建輝 陳麗霞 楊尚國(guó)
基于ARM+FPGA的高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
貴州梅嶺電源有限公司 郭乾利 蘇建輝 陳麗霞 楊尚國(guó)
隨著大數(shù)據(jù)時(shí)代的來(lái)臨,對(duì)數(shù)據(jù)采集系統(tǒng)高精度的要求也越來(lái)越高。本文介紹了目前一種基于ARM+FPGA的高精度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方法。該系統(tǒng)采用前端并行分時(shí)采樣,后端串行多路復(fù)用的方式采集數(shù)據(jù)信息。同時(shí)對(duì)于數(shù)據(jù)誤差予以處理矯正,以提高數(shù)據(jù)的高精度。最后本文指出,隨著電子技術(shù)的進(jìn)一步發(fā)展,這一設(shè)計(jì)方式也將會(huì)越來(lái)越多地被應(yīng)用到數(shù)據(jù)的收集和處理中,并發(fā)揮出越來(lái)越大的作用。
高精度;數(shù)據(jù);ARM+FPGA
當(dāng)前,隨著大數(shù)據(jù)時(shí)代的來(lái)臨,各種測(cè)量?jī)x器的性能指標(biāo)也不斷提升,相應(yīng)對(duì)數(shù)據(jù)采集系統(tǒng)的要求也越來(lái)越高,高精度數(shù)據(jù)采集系統(tǒng)的需求十分迫切。傳統(tǒng)的以單片機(jī)系統(tǒng)設(shè)計(jì)由于自身功能簡(jiǎn)單、速度慢、實(shí)時(shí)性差、對(duì)數(shù)據(jù)的再加工處理能力極為有限,因此,已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)實(shí)的發(fā)展需要。目前的數(shù)據(jù)采集系統(tǒng)主要是借助ARM處理器進(jìn)行系統(tǒng)設(shè)計(jì),同時(shí)引入 FPGA 器件,用來(lái)進(jìn)行高速數(shù)據(jù)采集。該系統(tǒng)采用前端并行分時(shí)采樣,后端串行多路復(fù)用的方式采集數(shù)據(jù)信息。本文僅就該系統(tǒng)進(jìn)行簡(jiǎn)單介紹。
為了提高系統(tǒng)實(shí)時(shí)性效果,系統(tǒng)采用ARM+FPGA的架構(gòu)模式,F(xiàn)PGA 專門用來(lái)進(jìn)行高速的實(shí)時(shí)數(shù)據(jù)采集。ARM與FPGA的接口方式采用存儲(chǔ)總線方式。 ARM 處理器通過(guò)存儲(chǔ)器指令完成數(shù)據(jù)傳輸。為了避免出現(xiàn)高速數(shù)據(jù)采集與處理速度不匹配的問(wèn)題,需要專門設(shè)計(jì)一個(gè)狀態(tài)機(jī)用來(lái)專門產(chǎn)生一個(gè)FPGA 內(nèi)部的信號(hào),作為讀 FIFO 的信號(hào)。這個(gè)信號(hào)保證了在每個(gè)讀信號(hào)周期內(nèi)只發(fā)生一次讀 FIFO。
整個(gè)系統(tǒng)由 6個(gè)主要模塊組成,分別為:信號(hào)調(diào)理模塊、時(shí)鐘產(chǎn)生與分配模塊、模數(shù)轉(zhuǎn)換模塊、FPGA 邏輯控制和數(shù)據(jù)緩存模塊、PCI 總線接口模塊和電源模塊。系統(tǒng)的基本工作原理為:首先由信號(hào)調(diào)理模塊對(duì)模擬信號(hào)進(jìn)行基本調(diào)理后,隨后由模數(shù)轉(zhuǎn)換模塊完成調(diào)理后的模擬信號(hào)信號(hào)的并行采樣與轉(zhuǎn)換工作,F(xiàn)PGA 模塊的主要任務(wù)是實(shí)現(xiàn)對(duì)高速采樣數(shù)據(jù)的接收和進(jìn)行緩存,最后由PCI 總線接口將緩存數(shù)據(jù)傳輸給計(jì)算機(jī)進(jìn)行后續(xù)處理。
1.信號(hào)調(diào)理模塊
信號(hào)調(diào)理模塊的主要作用在于將模擬信號(hào)轉(zhuǎn)換成高質(zhì)量輸入信號(hào)。因此,首先要完成信號(hào)的基本調(diào)理,包括放大、濾波和單端轉(zhuǎn)差分。系統(tǒng)選用AD8009 超高速電流反饋型運(yùn)算放大器和巴特沃斯濾波器以及帶有輸出鉗位電壓的差分放大器,其帶寬范圍從 900 MHz到670 MHz,對(duì)于動(dòng)態(tài)范圍較高的信號(hào)具有較強(qiáng)的處理能力,且對(duì)后端電路具有一定的過(guò)壓保護(hù)作用。
2.時(shí)鐘產(chǎn)生與分配模塊
并行多通道分時(shí)交替采樣技術(shù)中最關(guān)鍵的一個(gè)模塊就是時(shí)鐘產(chǎn)生與分配模塊。為了確保時(shí)鐘相位的延時(shí)精確實(shí)現(xiàn),系統(tǒng)選用了鎖相環(huán)芯片和時(shí)鐘分配芯片,滿足了模數(shù)轉(zhuǎn)換模塊的時(shí)鐘要求。
3.模數(shù)轉(zhuǎn)換模塊
模數(shù)轉(zhuǎn)換模塊的作用在將輸入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),系統(tǒng)設(shè)計(jì)2 個(gè) ADC 芯片。由于其采樣率為 500 Msps ,分辨率為 12位,因此當(dāng)以 500 Msps 對(duì) 250 MHz 的正弦波采樣時(shí),其數(shù)據(jù)可以滿足系統(tǒng)要求。
4.FPGA 邏輯控制和數(shù)據(jù)緩存模塊
系統(tǒng)選用 FPGA 芯片 EP2S30F6724I4 來(lái)接收模數(shù)轉(zhuǎn)換模塊輸出的數(shù)據(jù)與時(shí)鐘,完成采樣數(shù)據(jù)的邏輯與時(shí)序控制 。同時(shí)選用具有 DDR2 SDRAM 內(nèi)存標(biāo)準(zhǔn)的 KVR800D2N6 DDR2 內(nèi)存條對(duì)采樣數(shù)據(jù)進(jìn)行緩存,其數(shù)據(jù)傳輸速率高達(dá) 800 Mbps,數(shù)據(jù)位寬為64 bit,數(shù)據(jù)存儲(chǔ)容量為2 GB,供電電壓僅 1.8 V。
5.PCI 總線接口模塊
PCI 總線接口模塊的作用在于將數(shù)據(jù)上傳給計(jì)算機(jī)進(jìn)行后續(xù)處理,為了提升傳輸?shù)男阅?,系統(tǒng)使用 FPGA 實(shí)現(xiàn) PCI 局部總線協(xié)議的設(shè)計(jì),使數(shù)據(jù)傳輸速率達(dá)到了 33 MHz的時(shí)鐘頻率。同時(shí),為了方便數(shù)據(jù)傳遞,采用 PCI9054 芯片可提供 2 個(gè)獨(dú)立可編程的 DMA通道,有助于PFGA后期編程。
由于系統(tǒng)使用的是并行多通道分時(shí)交替采樣技術(shù),因此,在數(shù)據(jù)采集過(guò)程中,由于 ADC 之間的基準(zhǔn)電平、增益及并行通道間采樣時(shí)鐘相位不精確等因素將導(dǎo)致偏置誤差、增益誤差和時(shí)延誤差的存在。誤差的存在將會(huì)對(duì)數(shù)據(jù)的精確性帶來(lái)較大影響,因而需要對(duì)對(duì)產(chǎn)生的誤差進(jìn)行處理和矯正。
由于偏置誤差為加性噪聲,矯正的方法是通過(guò)系統(tǒng)中設(shè)置的加法器對(duì)采集的數(shù)據(jù)予以減去,從而完成矯正。增益誤差為乘性噪聲,可通過(guò)增加乘法器,將采集到的數(shù)據(jù)乘以增益失配誤差倒數(shù)完成矯正。時(shí)延誤差可通過(guò)全通濾波器進(jìn)行矯正。
本文介紹了一種基于結(jié)合了ARM 處理器和 FPGA 之上的高速高精度采集系統(tǒng),采用了并行多通道分時(shí)交替采樣技術(shù),同時(shí)為了避免數(shù)據(jù)采集過(guò)程中出現(xiàn)的誤差,設(shè)計(jì)了處理和矯正發(fā)放,從而使系統(tǒng)在采集數(shù)據(jù)的時(shí)候確保了數(shù)據(jù)的高精度。如今,隨著電子技術(shù)的迅速發(fā)展,體積小、重量輕、資源豐富、可靠性高,價(jià)格便宜的ARM處理器已經(jīng)被廣泛應(yīng)用到了數(shù)據(jù)采集工作中,同時(shí)為了提升數(shù)據(jù)的高速采集,引入的FPGA處理工具,有效提升了系統(tǒng)的實(shí)時(shí)性和集成化程度。相信,隨著電子技術(shù)的進(jìn)一步發(fā)展,基于ARM+FPGA的高精度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)也將會(huì)越來(lái)越多樣,應(yīng)用也將會(huì)越來(lái)越廣闊。
[1]陳艷燕,楊小鋒.基于單片機(jī)的晶體管特性圖示儀[J].儀器儀表學(xué)報(bào),2005,26(8).
[2]田家林,陳利學(xué),寇向輝.基于 ARM 與 FPGA 的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2003(6).
[3]彭剛,春志強(qiáng).基于 ARM Cortex — M3 的 STM32 系列嵌入式微控制器應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2011.
[4]黃其培,鐘睿,段俊杰等.新型脈沖電子圍欄網(wǎng)絡(luò)化系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012(9).