《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于S3C2440和AD9248的高速采集系統(tǒng)的設(shè)計(jì)
基于S3C2440和AD9248的高速采集系統(tǒng)的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第1期
張自嘉, 徐向明
南京信息工程大學(xué) 信息與控制學(xué)院, 江蘇 南京 210044
摘要: 設(shè)計(jì)了一個(gè)利用高速A/D、FIFO以及ARM9實(shí)現(xiàn)的高速數(shù)據(jù)采集系統(tǒng)。通過ARM9控制高速A/D轉(zhuǎn)換和FIFO的讀寫,并采用大容量的板載數(shù)據(jù)存儲(chǔ)器,可以實(shí)現(xiàn)較長(zhǎng)時(shí)間的連續(xù)采集。設(shè)計(jì)了網(wǎng)絡(luò)接口和USB接口實(shí)現(xiàn)數(shù)據(jù)的保存和傳輸,并設(shè)計(jì)了GPS授時(shí)模塊接口以實(shí)現(xiàn)多個(gè)站點(diǎn)的同時(shí)數(shù)據(jù)采集。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)01-0068-03
Design of high speed data acquisition system based on S3C2440 and AD9248
Zhang Zijia, Xu Xiangming
College of Information and Control, Nanjing University of Information Science & Technology, Nanjing 210044, China
Abstract: A high speed data acquisition system is designed based on a high-speed A/D, FIFO and the ARM9. ARM9 is used to control A/D′s conversion and FIFO′s read and write, and large-capacity onboard data storage, as well as to achieve longer continuous acquisition. At the same time the design of network interface and USB interface to the preservation and transmission of data, GPS timing module interface to achieve data acquirement multiple sites at the same time.
Key words : data acquisition; AD9248; FIFO; S3C2440


   在許多科學(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。