基于arm的高速數(shù)據(jù)采集系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)采集技術(shù)領(lǐng)域,尤其涉及一種基于ARM的高速數(shù)據(jù)采集系統(tǒng)。
【背景技術(shù)】
[0002]自20世紀(jì)下半葉以來,微電子技術(shù)得到了迅速發(fā)展,集成電路設(shè)計(jì)和工藝技術(shù)水平有了很大的提高,單片集成度中每片已能包含上億個(gè)晶體管,手持式的嵌入式信號(hào)采集和處理系統(tǒng)的性能得到了極大的提升,使得其有機(jī)會(huì)應(yīng)用于許多更高端的科技領(lǐng)域。
[0003]在現(xiàn)代雷達(dá)系統(tǒng)、激光測(cè)距以及高能物理試驗(yàn)中往往產(chǎn)生寬帶信號(hào)或者上升沿比較陡的信號(hào)(一般1ns左右)。要對(duì)此類信號(hào)進(jìn)行數(shù)字化處理,要求A/D部分的采樣率至少應(yīng)該在200M/S以上。而對(duì)高頻采樣得到的數(shù)據(jù)存儲(chǔ),數(shù)據(jù)處理,例如波形存儲(chǔ)、波形還原顯示,頻譜分析等等,現(xiàn)階段主要是在臺(tái)式設(shè)備上實(shí)現(xiàn)的,價(jià)格也較高,采樣頻率50M的臺(tái)式數(shù)字存儲(chǔ)示波器動(dòng)輒要上萬元。而現(xiàn)有的手持型設(shè)備,如美國(guó)fluk公司的產(chǎn)品,非常昂蟲貝ο
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)效果能夠克服上述缺陷,提供一種基于ARM的高速數(shù)據(jù)采集系統(tǒng),其。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:其包括AD模塊、FPGA緩沖模塊、ARM平臺(tái),F(xiàn)PGA緩沖模塊分別與AD模塊、ARM平臺(tái)連接,其中AD模塊對(duì)高頻模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,將轉(zhuǎn)換后的數(shù)字信號(hào),分成四路分別傳入對(duì)應(yīng)的FPGA緩沖模塊;在FPGA緩沖模塊的平臺(tái)上,基于乒乓原理,實(shí)現(xiàn)了多路FIFO緩沖和雙端口數(shù)據(jù)存儲(chǔ);利用閾值控制方式獲取目標(biāo)信號(hào),并觸發(fā)ARM平臺(tái)的外部FIQ,在FIQ中斷處理程序中通過GP1高速并行獲取觀察數(shù)據(jù)。
[0006]本發(fā)明基于ARM平臺(tái)的,針對(duì)200MHz以上的高速數(shù)據(jù)采集和顯示的嵌入式系統(tǒng)設(shè)計(jì)與開發(fā),其基本功能是利用前端FPGA的并行特性對(duì)高速ADC采集得到的信號(hào)進(jìn)行緩沖之后再并行傳入ARM平臺(tái)以完成對(duì)信號(hào)作進(jìn)一步的處理和顯示工作。整個(gè)系統(tǒng)的復(fù)雜功能和資源管理利用強(qiáng)大的I inux嵌入式操作系統(tǒng)進(jìn)行良好的管理和控制實(shí)現(xiàn)。這種技術(shù)可以廣泛應(yīng)用于現(xiàn)代雷達(dá)系統(tǒng)、激光測(cè)距以及高能物理試驗(yàn)等領(lǐng)域,同時(shí)由于操作系統(tǒng)的引入,其在資源管理、功能擴(kuò)充、應(yīng)用程序的靈活性以及人機(jī)交互方面具有更大的便利和優(yōu)勢(shì)。
[0007]FPGA緩沖模塊包括四路雙時(shí)鐘和四路閾值比較器。FPGA緩沖模塊采用LPC2210型號(hào)。
[0008]AD模塊采用AD9481芯片。
[0009]ARM平臺(tái)的CPU采用EP7312型號(hào)。
[0010]本技術(shù)研究基于ARMLinux的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)問題。完成了以ARM+FPGA結(jié)構(gòu)為平臺(tái),ARMLinux為核心的系統(tǒng)的軟、硬件設(shè)計(jì),進(jìn)行了信號(hào)的高速采集和處理的實(shí)際測(cè)試,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行了分析。同時(shí)為了體現(xiàn)ARM+FPGA結(jié)構(gòu)在功耗節(jié)省方面的優(yōu)勢(shì),用N1S II實(shí)現(xiàn)了系統(tǒng)同樣的功能,并利用工具對(duì)兩種結(jié)構(gòu)的系統(tǒng)功耗作了比較,有效地驗(yàn)證了我們的論點(diǎn)。從軟硬件兩方面入手,闡述了基于ARM處理器和FPGA芯片進(jìn)行高速數(shù)據(jù)采集的硬件系統(tǒng)設(shè)計(jì)方法,以及利用ARMLinux操作系統(tǒng)進(jìn)行高速數(shù)據(jù)采集的軟件程序設(shè)計(jì)問題。硬件方面,為實(shí)現(xiàn)高速采集目的,選擇了 AD公司的AD9481芯片。并在FPGA平臺(tái)上,基于乒乓原理,設(shè)計(jì)實(shí)現(xiàn)了多路FIFO緩沖和雙端口數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。利用閾值控制方式獲取目標(biāo)信號(hào),并觸發(fā)ARM平臺(tái)的外部FIQ,在FIQ中斷處理程序中通過GP1高速并行獲取觀察數(shù)據(jù)。軟件方面,為了更好更有效地管理和拓展系統(tǒng)功能,我們移植了 ARMLinux。在ARMLinux平臺(tái)上,設(shè)計(jì)實(shí)現(xiàn)了 EP7312平臺(tái)上的LCD設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)采集應(yīng)用程序。并通過修訂內(nèi)核,實(shí)現(xiàn)了利用FIQ機(jī)制高速獲取外部設(shè)備數(shù)據(jù),用戶進(jìn)程通過訪問系統(tǒng)空間獲取實(shí)驗(yàn)數(shù)據(jù)并在LCD加以顯示。論文實(shí)現(xiàn)了利用FIQ機(jī)制控制前端外設(shè)進(jìn)行高速數(shù)據(jù)采集的系統(tǒng)功能。在前端采樣頻率達(dá)到125MHz時(shí),系統(tǒng)仍能夠正常地進(jìn)行數(shù)據(jù)采集、傳輸和顯示的工作。
【附圖說明】
[0011]圖1為本發(fā)明的系統(tǒng)功能流程圖;
[0012]圖2為本發(fā)明的系統(tǒng)硬件架構(gòu)圖。
【具體實(shí)施方式】
[0013]本發(fā)明的系統(tǒng)功能流程描述
[0014]系統(tǒng)設(shè)計(jì)需要實(shí)現(xiàn)的基本功能是:
[0015]I)利用前端AD將高速數(shù)據(jù)采集并轉(zhuǎn)換成數(shù)字信號(hào)之后,分成4路傳入FPGA模塊;
[0016]2)在FPGA中,利用乒乓原理將數(shù)據(jù)4倍緩沖之后,存入FPGA上的一塊雙端雙時(shí)鐘的RAM,并作閾值比較。其中用以緩沖的四個(gè)FIFO大小都為1KB,雙端RAM的大小為4KB ;
[0017]3)當(dāng)采集到的數(shù)據(jù)達(dá)到或超過閾值要求的時(shí)候,觸發(fā)相關(guān)信號(hào)中斷,ARM平臺(tái)提供RAM的讀時(shí)鐘,讀取RAM中觸發(fā)點(diǎn)的前1024個(gè)點(diǎn)和后1024個(gè)點(diǎn);
[0018]4)在FIQ中斷處理程序中將數(shù)值傳入ARM平臺(tái),對(duì)數(shù)據(jù)作對(duì)應(yīng)處理之后加以顯示。具體流程圖如圖1所示。
[0019]因?yàn)橛?jì)劃實(shí)現(xiàn)的是300-400MHZ的高速數(shù)據(jù)采集功能,而現(xiàn)有的ARM平臺(tái)的CPU頻率只有最高74MHz的主頻,同時(shí)從效率、成本和實(shí)現(xiàn)難易程度的角度加以考慮,軟硬件功能的劃分如下:高速數(shù)據(jù)的采集、緩沖、閾值比較、雙端雙時(shí)鐘的RAM等功能都可以利用硬件FPGA搭建模塊來完成,而硬件資源管理和數(shù)據(jù)處理和顯示則由軟件編程實(shí)現(xiàn)。
[0020]硬件功能描述
[0021]硬件部分包括了前端的AD模塊、FPGA緩沖模塊、ARM平臺(tái),需要完成的功能主要包括下面幾個(gè)方面:
[0022]I)對(duì)高頻模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,將轉(zhuǎn)換后的數(shù)字信號(hào),分成四路分別傳入對(duì)應(yīng)的FPGA緩沖模塊;
[0023]2)依據(jù)乒乓原理對(duì)數(shù)據(jù)進(jìn)行緩沖之后,存入雙端雙時(shí)鐘RAM之中;
[0024]3)對(duì)4個(gè)FIFO同時(shí)彈出四個(gè)Sbit的數(shù)據(jù)逐個(gè)比較,假如達(dá)到或者超過閾值,需要觸發(fā)ARM平臺(tái)的FIQ中斷,按照FIQ例程要求進(jìn)行響應(yīng)動(dòng)作;
[0025]4)將FIFO每次彈出的4個(gè)8bit的值,拼接成32bit的長(zhǎng)字,并行放入用以臨時(shí)存儲(chǔ)數(shù)據(jù)的RAM之中;
[0026]5)將FPGA傳過來的數(shù)據(jù)存放入ARM平臺(tái)的內(nèi)存之中,供后續(xù)進(jìn)程讀取、處理并驅(qū)動(dòng)IXD顯示。
[0027]圖2表明了整個(gè)系統(tǒng)硬件層的體系結(jié)構(gòu)關(guān)系。為使整個(gè)結(jié)構(gòu)看起來清晰簡(jiǎn)潔,F(xiàn)PGA部分用以穩(wěn)定和分配時(shí)鐘的PLL并未在結(jié)構(gòu)中表示出來。同時(shí),當(dāng)ADC前端需要采集的信號(hào)電壓比較高時(shí),比如上千伏,需要在前端添加相應(yīng)規(guī)格的變壓器進(jìn)行比例調(diào)整,以保證輸入信號(hào)電壓值在ADC的正常工作電壓范圍之內(nèi)。
[0028]器件選擇和功能模塊劃分
[0029]為了實(shí)現(xiàn)硬件功能設(shè)計(jì)和硬件結(jié)構(gòu)圖,我們采用了以下幾個(gè)器件來完成硬件結(jié)構(gòu)的搭建工作,我們?cè)趯?duì)應(yīng)的器件主要參數(shù)說明后描述了其需要完成的功能:
[0030]前端高速ADC (模數(shù)轉(zhuǎn)換器)
[0031]該器件的核心芯片是AD公司的AD9481芯片,AD9481是一種采樣精度為8bit,最高采樣頻率達(dá)250MHz的ADC轉(zhuǎn)換芯片。其優(yōu)點(diǎn)之一,就是帶有解多路分用CMOS輸出以便于很容易地連接到現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)或者標(biāo)準(zhǔn)邏輯電路。為了降低ADC的成本和功耗,AD9481內(nèi)部包含了一個(gè)參照和跟蹤保持的電路,用戶只需要提供一個(gè)3.3V的電源電壓和一個(gè)差分解碼時(shí)鐘即可驅(qū)動(dòng)芯片正常工作。
[0032]AD9481的模擬輸入是一個(gè)差分緩沖,為了達(dá)到最好的動(dòng)態(tài)效果,在VIN+和VIN-兩個(gè)模擬輸入端口的阻抗需要匹配。另外,AD9481還針對(duì)外部定時(shí)信號(hào)和多個(gè)ADC同步等應(yīng)用,提供了兩個(gè)數(shù)字輸入端口。經(jīng)過前端變壓器調(diào)整之后,該ADC實(shí)際輸入信號(hào)電壓峰峰值最大不可超過IV。
[0033]作為一款新型的高速低功耗的ADC,AD9481內(nèi)部采用了流水線的結(jié)構(gòu),在實(shí)現(xiàn)高速的前提下保證了采樣精度。輸出由兩個(gè)輸出口(PORT A和PORT B)交叉輸出,每一路的輸出頻率為最高為125MHz,相位差為180°。AD9481的數(shù)字輸出是TTL-/CM0S-兼容的。
[0034]為了對(duì)應(yīng)這里的兩路輸出口,后面在FPGA前端輸入設(shè)計(jì)上作了一些簡(jiǎn)單調(diào)整,也就是4路FIFO每?jī)陕贩謩e對(duì)應(yīng)一個(gè)輸出口 A或B。在這里,該器件主要實(shí)現(xiàn)的功能是對(duì)高速數(shù)據(jù)進(jìn)行采樣之后,將模擬信號(hào)轉(zhuǎn)換成為數(shù)字信號(hào),然后分兩路傳入FPGA中,同時(shí)提供對(duì)應(yīng)通路的時(shí)鐘信號(hào)輸出(測(cè)試試中單路時(shí)鐘為62.5MHz)。
[0035]Stratix 開發(fā)板
[0036]Altera公司的stratix開發(fā)板是一個(gè)強(qiáng)大的FPGA平臺(tái),我們所采用的具體器件型號(hào)為L(zhǎng)PC2210,LPC2210是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位144腳ARM7TDM1-S核的微控制器。它內(nèi)部包含ARM7TDM1-S核與片內(nèi)存儲(chǔ)器控制器接口的ARM7局部總線、與中斷控制器接口的AMBA高性能總線(AHB)和連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線(VPBARM AMBA總線的兼容超集)。LPC2210 (LPC2210及其外部電路如附錄A)具有16KB片內(nèi)靜態(tài)RAM ;片內(nèi)外設(shè)與器件引腳的連接由引腳連接模塊控制,該模塊由軟件進(jìn)行控制以符合外設(shè)功能與引腳在特定應(yīng)用中的需求;通過外部存儲(chǔ)器接口可將存儲(chǔ)器配置成4組,每組的容量高達(dá)16MB。FPGA最顯著的特點(diǎn)之一是其并行特性,結(jié)合乒乓原理,我們利用VHDL語(yǔ)言和Quartus II提供的IP core,設(shè)計(jì)了一個(gè)4FIF0結(jié)構(gòu)對(duì)高速數(shù)據(jù)進(jìn)行緩沖,然后并行地對(duì)每一個(gè)輸出的數(shù)據(jù)進(jìn)行閾值檢測(cè)。假如沒有達(dá)到閾值條件,則將4個(gè)Sbit的數(shù)值拼接之后放入一個(gè)雙端雙時(shí)鐘的RAM,否則,產(chǎn)生ARM平臺(tái)的外部FIQ中斷信號(hào),然后按照ARM平臺(tái)提供的讀時(shí)鐘,在RAM中從觸發(fā)點(diǎn)向前