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