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