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