一種基于arm和fpga的高精度數據采集系統的制作方法
【技術領域】
[0001]本發明涉及信號處理技術領域,尤其涉及一種基于ARM和FPGA的高精度數據采集系統。
【背景技術】
[0002]隨著圖像處理、工業控制、無線通信等領域的飛速發展,對數據采集系統的速度、精度等性能要求也越來越高。這些要求都對數據采集系統的設計和實現提出了新的挑戰。目前數據采集系統的設訓一方案通常分為以下幾類:1)以微處理器單一控制芯片和A/D轉換器形式為主,該設計方案簡單,在對性能要求不高的應用場合為了降低成本甚至可以采用集成A/D轉換器的微處理器。2)采用通用計算機配置數據采集卡的方式,通常需要開發計算機端應用程序,可以完成復雜的計算,但不同的采集卡相應的驅動程序不同,如果需求改變需要更換采集卡時,相應的應用程序也需要重新開發。因此,該設計方案通用性差,實時性不高。3)以ARM和FPGA或DSP和FPGA組合方式作為采集系統的核心,ARM處理器適合控制領域,DSP處理器適合信號處理領域,FPGA器件由于其自身特點,適合高速并行采集與處理領域,具有ARM或者DSP等處理器無法比擬的優勢。這類組合方式結合各自特點,處理能力強,應用范圍廣。
【發明內容】
[0003]本發明提供一種基于ARM和FPGA的高精度數據采集系統,具有成本低、精度高、動態范圍人等特點,是高精度采集處理的一種高效可行的解決方案。
[0004]為了實現上述目的,本發明采用如下技術方案:一種基于ARM和FPGA的高精度數據采集系統,包括信號調理電路、A/D轉換器、雙口 RAM、FPGA芯片、IXD顯示屏、網絡模塊、ARM處理器、SDRAM和FLASH ;所述信號調理電路和A/D轉換器相連,所述A/D轉換器和雙口RAM相連,所述IXD顯示屏、網絡模塊、SDRAM和FLASH分別和ARM處理器相連,FPGA芯片分別與A/D轉換器和ARM處理器相連。
[0005]優選地,所述A/D轉換器的型號為ADS1278。
[0006]優選地,所述FPGA芯片采用Cyclone系列EP1C6。
[0007]優選地,所述雙口 RAM的型號為IDT7205。
[0008]優選地,所述ARM處理器的型號為PXA270。
[0009]本發明充分利用ARM處理器和FPGA芯片各自的優勢,設計一種ARM和FPGA組合的高精度數據采集系統,采用雙口 RAM設計了 ARM處理器和FPGA芯片之間的數據傳輸方式,解決了使用傳統FIFO芯片成本高、容量小的問題,提高了 ARM處理器和FPGA芯片傳輸吞葉量。編寫了 Linux下設備的驅動程序,采用中斷方式及用戶空間對內核空間的直接訪問方式進行數據傳輸,大大提高了系統傳輸的效率。設計的基于雙口 RAM的ARM處理器和FPGA芯片采集系統具有成本低、精度高、動態范圍人等特點,是高精度采集處理的一種高效可行的解決方案。
【附圖說明】
[0010]圖1為系統結構框圖;
[0011]圖2為SPI格式下時序;
[0012]圖3 為 ARM 與 FPGA 的接口 ;
[0013]圖4為各通道參數。
【具體實施方式】
[0014]下面結合【具體實施方式】對本發明進行詳細的描述。
[0015]—種基于ARM和FPGA的高精度數據采集系統,信號調理電路、A/D轉換器、雙口RAM、FPGA芯片、IXD顯示屏、網絡模塊、ARM處理器、SDRAM和FLASH ;所述信號調理電路和A/D轉換器相連,所述A/D轉換器和雙口 RAM相連,所述IXD顯示屏、網絡模塊、SDRAM和FLASH分別和ARM處理器相連,FPGA芯片分別與A/D轉換器和ARM處理器相連。
[0016]所述A/D轉換器的型號為ADS1278。
[0017]所述FPGA芯片采用Cyclone系列EP1C6。
[0018]所述雙口 RAM的型號為IDT7205。
[0019]所述ARM處理器的型號為PXA270。
[0020]本發明設計了 ARM處理器和FPGA芯片作為數據采集系統的核心,ARM處理器使用Marvell公司的PXA270,FPGA芯片使用Alter公司的Cyclone系列EP1C6,前端采集芯片使用Ti公司的高精度、大動態24位A/D轉換器ADS1278進行模數轉換。ARM處理器和FPGA芯片之間的數據交換采用雙口 RAM芯片來實現FIFO功能系統中ARM處理器作為系統控制核心,負責控制整個系統工作時序、并將數據通過網絡上傳到服務器中進行存儲。FPGA芯片負責A/D轉換器的模式配置,數據傳輸該組合方式結合ARM處理器在控制方面和FPGA芯片在采集方而的優勢,具有通用性強、配置靈活的特點。
[0021]本系統硬件主要由信號調理電路、A/D轉換器ADS1278,FPGA芯片Cyclone系列EP1C6、雙口 RAMIDT7205和處理器PXA270及外圍電路組成,系統結構框圖如圖1所示。輸入信號經過信號調理電路后,進入A/D轉換器進行數據轉換,將模擬信號轉換成23位尾數和一符號位的數據,FPGA芯片配置A/D轉換器并將轉換的數據按照順序存儲到雙口 RAM中,當轉換數據存儲滿后中斷ARM處理器,ARM處理器將數據從雙口 RAM讀出進行運算,并通過網絡接口將采集數據傳輸到服務器。
[0022]24位A/D轉換器ADS1278:ADS1278是德州儀器(TI)公司推出的采樣率高達128KS/s、24位8通道同步采樣Σ -AADC。支持多種工作模式,內部集成線性相位數字濾波器,數據輸出接口支持SPI或可選幀同步,便于與FPGA芯片互連。可滿足國防、航天和醫療應用。
[0023]ADS1278轉換器內部集成的數字濾波器通過奈奎斯特采樣將輸入信號抽取為長度為1比特的高分辨率數字信號。8通道輸入信號分別進入獨立的8個A/D轉換器,它內部山高階斬波器、數字濾波器、調制器組成,可將輸入模擬信號經過高階濾波器后得到數字信號。
[0024]ADS1278 的 M0DE[0..1]、FORMAT [0..2]、SYNC、CLK、SCLK、DRDY、D0UT[8..1]引腳分別于FPGA芯片的10 口相接,其中,M0DE[0..1]引腳狀態決定A/D的工作模式,FORMAT[0..2]引腳狀態決定數據輸出格式選擇,CLK引腳需要輸入A/D轉換器工作時鐘,SYNC、SCLK、D0UT[8..1]引腳是控制A/D轉換的數據串行輸出幀同步、時鐘、8通道數據圖2為ADS1278的SPI格式下,時鐘和數據時序圖。
[0025]ARM處理器與FPGA芯片的接口設計:本系統核心采用ARM處理器和FPGA芯片的組合方式,在ARM處理器和FPGA芯片之間采用3片雙口 RAM IDT7205進行24bit數據傳輸,其中,FPGA芯片控制A/D轉換,并將轉換數據按照一定順序存儲到雙口 RAM中,當數據存儲完后將中斷ARM,ARM將雙口 RAM中的數據進行讀取,比使用FIFO傳輸的方案降低了成本、提高了數據傳輸的吞葉量。
[0026]本系統中FPGA芯片的設計作用如下:復位并配置ADS1278的工作模式FPGA芯片內部設置一個地址加法器控制將A/D轉換器的數據寫入雙口 RAM中,當雙口 RAM寫滿后,大小24KB,地址加法器復位。ARM處理器和FPGA芯片的接口方式有很多種,如IIc,spi等串行接口或總線等并行接口,串行接口由于本身的局限性限制了其在大數據量、實時數據的傳輸的應用,而總線的形式更合理一些,穩定性較之更好一點。但ARM處理器和FPGA芯片通過地址、數據、控制總線直接連接的方式在人數據傳輸時會影響系統的效率,因此,在ARM處理器和FPGA芯片之間采用雙口 RAM進行連接的方式,ARM處理器和FPGA芯片異步工作,提供了系統的效率。其接口如圖3所示。
[0027]FPGA芯片的控制信號WR,RD,nRESET與雙口 RAMIDT7205的復位信號RS、讀寫信號WR和RD連接,數據總線D0-D23與雙口