文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)01-0068-03
在許多科學(xué)研究和工業(yè)控制中,常常需要對(duì)高速變化的信號(hào)進(jìn)行采集與分析,并且在很多領(lǐng)域?qū)?a class="innerlink" href="http://ihrv.cn/tags/數(shù)據(jù)采集" title="數(shù)據(jù)采集" target="_blank">數(shù)據(jù)采集系統(tǒng)的精度要求還非常高。因此,設(shè)計(jì)一個(gè)好的高速高精度采集系統(tǒng)尤為重要。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,A/D的控制和數(shù)據(jù)的轉(zhuǎn)存通常通過PC機(jī)來(lái)完成,數(shù)據(jù)采集需要經(jīng)過A/D轉(zhuǎn)換,系統(tǒng)很大部分需要靠人工監(jiān)控來(lái)完成,不僅耗費(fèi)大量的人力物力,而且數(shù)據(jù)采集效率也很一般。
隨著微電子技術(shù)的迅速發(fā)展,F(xiàn)PGA和CPLD以其高集成度、高靈活性等特點(diǎn)被廣泛應(yīng)用在數(shù)據(jù)采集存儲(chǔ)測(cè)試系統(tǒng)中。隨著嵌入式技術(shù)的發(fā)展,以簡(jiǎn)單的單片機(jī)為核心的采集系統(tǒng)已逐漸不能滿足各種應(yīng)用需求,而以32位嵌入式微處理器為核心的ARM系列在數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)路設(shè)備等方面應(yīng)用廣泛。本文給出了以ARM微處理器為核心的系統(tǒng)設(shè)計(jì),利用高速A/D轉(zhuǎn)換和大容量的數(shù)據(jù)存儲(chǔ)器,實(shí)現(xiàn)較長(zhǎng)時(shí)間的連續(xù)采集。
1 工作原理與總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)的基本結(jié)構(gòu)如圖1所示,本文系統(tǒng)中采用ARM9核心板作為數(shù)據(jù)采集控制核心,由它來(lái)產(chǎn)生A/D轉(zhuǎn)換器的各種控制信號(hào)、緩存器的讀寫時(shí)序、基本的信號(hào)處理和對(duì)外接口時(shí)序等。核心板的內(nèi)核是32 bit ARM920T,主頻達(dá)到400 MHz。同時(shí)具有64 MB Flash及64 MB SDRAM外部存儲(chǔ)器。它的系統(tǒng)時(shí)鐘是由內(nèi)部PLL產(chǎn)生的400 MHz CPU內(nèi)核工作頻率,同時(shí)該核心板還具有網(wǎng)絡(luò)接口和USB接口,可實(shí)現(xiàn)數(shù)據(jù)的傳輸和保存。
雷電產(chǎn)生時(shí),傳感器分別接收到高速變化的快、慢電場(chǎng)信號(hào),然后經(jīng)過前端調(diào)理電路的放大、濾波等形成穩(wěn)定的差分模擬信號(hào)送入高速A/D轉(zhuǎn)換器中。A/D轉(zhuǎn)換器采用ADI公司的14位雙通道模數(shù)轉(zhuǎn)換器芯片AD9248。其采樣速度可以達(dá)到20 MS/s,可以提供與單通道A/D轉(zhuǎn)換器同樣優(yōu)異的動(dòng)態(tài)性能, 但是比使用2個(gè)單通道A/D 轉(zhuǎn)換器具有更好的抗串?dāng)_性能。AD9248通過連接在ARM9上的觸發(fā)器的觸發(fā)信號(hào)開始工作,同時(shí),AD9248的數(shù)據(jù)總線與緩存器FIFO的數(shù)據(jù)總線以及ARM的數(shù)據(jù)端口是連在一起的,這樣ARM可以靈活地處理A/D轉(zhuǎn)換器的采樣輸出數(shù)據(jù)。
在進(jìn)行多站同步采樣時(shí),準(zhǔn)確地記錄數(shù)據(jù)發(fā)生的時(shí)間成為采樣過程中的關(guān)鍵。本系統(tǒng)在設(shè)計(jì)中加入GPS授時(shí)模塊,主要是用于解決ARM處理器的時(shí)間校驗(yàn)問題。
2 系統(tǒng)主要硬件及接口設(shè)計(jì)
2.1 AD9248高速模數(shù)轉(zhuǎn)換器
A/D轉(zhuǎn)換器是高速數(shù)據(jù)采集系統(tǒng)的核心,該芯片采用3.3 V供電。AD9248的2個(gè)ADC通道除了共用內(nèi)部的電壓參考源VREF外, 其他基本都是獨(dú)立的。圖2給出AD9248的功能模塊和內(nèi)部結(jié)構(gòu)的介紹。
AD9248是一種基于流水線型的ADC,這種流水線型結(jié)構(gòu)的特點(diǎn)是由一系列標(biāo)志1級(jí)、2級(jí)等各級(jí)構(gòu)成。每級(jí)的結(jié)構(gòu)是相同的,包含一個(gè)采樣保持電路(S/H) 、一個(gè)子模數(shù)轉(zhuǎn)換電路(ADC)和一個(gè)乘積數(shù)模轉(zhuǎn)換器(MDAC)電路[1]。
AD9248的主要引腳的功能包括:VIN+、VIN-是模擬差分信號(hào)輸入端;D0~D13是數(shù)據(jù)輸出端;OEA、OEB分別是A、B兩通道數(shù)據(jù)輸出使能位;PDWN_A、PDWN_B分別是兩通道的Power-Down功能選擇位,為0 時(shí), 使能通道, 為1時(shí), 關(guān)閉通道;DFS是輸出數(shù)據(jù)格式選擇位,為0時(shí), 數(shù)據(jù)輸出格式為偏移的二進(jìn)制,為1時(shí),數(shù)據(jù)輸出格式為二進(jìn)制補(bǔ)碼格式;OTR_A、OTR_B是兩通道的溢出標(biāo)志位;MUX_SELECT是數(shù)據(jù)復(fù)用模式選擇位,該管腳接高電平時(shí),則可保證兩通道數(shù)據(jù)分別從各自通道輸出,該管腳接時(shí)鐘時(shí),兩通道數(shù)據(jù)將復(fù)用輸出數(shù)據(jù)端口, 此時(shí)數(shù)據(jù)輸出速率是采樣速率的兩倍[2]。
由于AD9248是流水線型的A/D轉(zhuǎn)換器,因此也就存在一個(gè)流水線延遲的問題。AD9248接收到CLK信號(hào)就開始進(jìn)行采樣, 在每個(gè)時(shí)鐘信號(hào)的上升沿進(jìn)行采樣。由于流水線延遲, 每次采樣的最終轉(zhuǎn)換結(jié)果要等待7個(gè)時(shí)鐘周期后才能出現(xiàn)在輸出端。所以一般不考慮前7個(gè)時(shí)鐘周期內(nèi)的數(shù)據(jù)采樣。
2.2 高速數(shù)據(jù)緩存電路
本設(shè)計(jì)選用的緩存器FIFO是CYPRESS公司的CY7C4275V系列。CY7C4275V是一種高速大容量先進(jìn)先出存儲(chǔ)器件,其最高工作頻率為100 MHz,容量為32 K×18 bit。CY7C4275V可提供全滿、半滿、全空、將滿以及將空等5種標(biāo)志信號(hào)。如圖3所示,F(xiàn)IFO中沒有地址線, 可在讀、寫過程中對(duì)相應(yīng)的狀態(tài)標(biāo)志位置位來(lái)指示FIFO的狀態(tài)。為避免數(shù)據(jù)讀空,空標(biāo)志(EF)置位將禁止讀操作;而為了避免數(shù)據(jù)寫入溢出, 滿標(biāo)志(FF)置位將禁止寫操作。
AD9248是14位模數(shù)轉(zhuǎn)換器,CY7C4275是18位FIFO,S3C2440的數(shù)據(jù)總線是32位,所以CY7C4275和S3C2440只需接D0~D13。S3C2440與FIFO之間用總線方式連接。由于FIFO 先入先出的特殊結(jié)構(gòu),系統(tǒng)中不需要任何地址線的參與,大大簡(jiǎn)化了電路。A/D采樣所得數(shù)據(jù)要實(shí)時(shí)送入FIFO,因此兩者的寫時(shí)鐘頻率必須一樣 ,操作起來(lái)統(tǒng)一方便[4]。
將A/D時(shí)鐘直接與FIFO的WCLK相連,可使FIFO同步將A/D采樣數(shù)據(jù)寫入。因?yàn)锳D9248是雙通道模數(shù)轉(zhuǎn)換器,為了使兩個(gè)通道A/D同時(shí)工作, 提高系統(tǒng)效率, 設(shè)計(jì)時(shí)可采用兩個(gè)FIFO來(lái)獨(dú)立地將兩路A/D輸出數(shù)據(jù)進(jìn)行存儲(chǔ)。由于A/D的數(shù)據(jù)輸出為14 bit,FIFO存儲(chǔ)寬度為18 bit, 故可將FIFO輸入端的空腳接地, 輸出端空腳懸空。接口的框圖如圖4所示。
FIFO的半滿標(biāo)志HF接到ARM的地址線I/O上,當(dāng)在FIFO中數(shù)據(jù)采集半滿時(shí),半滿標(biāo)志輸出低電平,這時(shí)ARM可以通過尋址的方式來(lái)讀取FIFO中的數(shù)據(jù)。由于ARM讀取數(shù)據(jù)的速度要比FIFO寫入數(shù)據(jù)的速度快得多,因此將FIFO的空標(biāo)志(EF)也接入地址線I/O,當(dāng)數(shù)據(jù)讀空時(shí),EF標(biāo)志輸出低電平,ARM停止讀取。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)整體上采用結(jié)構(gòu)程序設(shè)計(jì)的方法設(shè)計(jì),整個(gè)程序包括主控制模塊、數(shù)據(jù)采集模塊和數(shù)據(jù)傳輸存儲(chǔ)模塊等結(jié)構(gòu)。考慮到本系統(tǒng)基于S3C2440平臺(tái)和Linux操作系統(tǒng),整體系統(tǒng)的程序設(shè)計(jì)變得更加具有靈活性、簡(jiǎn)單性和易操作性。
高速A/D轉(zhuǎn)換器模塊主要負(fù)責(zé)對(duì)高速變化的電場(chǎng)信號(hào)進(jìn)行采集及轉(zhuǎn)換;核心板上的網(wǎng)絡(luò)接口和USB接口模塊主要負(fù)責(zé)數(shù)據(jù)的傳輸和數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)采集的程序流程圖如圖5所示,假定系統(tǒng)的采樣時(shí)間設(shè)定為2 s,ARM在讀取FIFO中數(shù)據(jù)的過程中,判斷有沒有到達(dá)采樣時(shí)間,如果沒有就繼續(xù)采樣,讀取數(shù)據(jù);如果達(dá)到立即停止A/D轉(zhuǎn)換,則通過USB接口將數(shù)據(jù)存入U(xiǎn)盤中。
通過實(shí)際測(cè)試表明,整個(gè)系統(tǒng)在數(shù)據(jù)采集中能達(dá)到一定的速率。同時(shí)設(shè)計(jì)有網(wǎng)絡(luò)接口和USB接口實(shí)現(xiàn)大容量的板載數(shù)據(jù)存儲(chǔ),從而能實(shí)現(xiàn)較長(zhǎng)時(shí)間的連續(xù)采集。選取的14 bit高精度模數(shù)轉(zhuǎn)換器AD9248、FIFO以及S3C2440,都具有性能高、功耗低的特點(diǎn),并且大大簡(jiǎn)化了外圍接口電路的設(shè)計(jì),系統(tǒng)運(yùn)行穩(wěn)定可靠。本系統(tǒng)不僅可以對(duì)雷電產(chǎn)生時(shí)的瞬變電場(chǎng)進(jìn)行記錄和分析,也能應(yīng)用于科學(xué)研究和工業(yè)生產(chǎn)控制等其他領(lǐng)域中。
參考文獻(xiàn)
[1] 常春波,廖述建,李曉芳.流水線模數(shù)轉(zhuǎn)換器的接口電路[J].儀器儀表學(xué)報(bào),2006(6):907-910.
[2] 羅林根,曾奕,李立學(xué),等.基于CPLD和AD9248 的高速采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2008(2):15.
[3] 向常州, 夏應(yīng)清, 袁泉,等.基于AD9238的高速高精度ADC采集系統(tǒng)[J].電子元器件應(yīng)用,2007(6):26-29.
[4] 武曉冬,戴波.基于FIFO 的高速A/D和DSP 接口設(shè)計(jì)[J].北京石油化工學(xué)院學(xué)報(bào),2006(2):26-29.
[5] 張洪彬,柳吉齡,齊偉,等.一種高速數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)[J].中國(guó)測(cè)試技術(shù),2007(1):125-127.