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