一種12位雙通道高速數(shù)據(jù)采集處理系統(tǒng)
掃描二維碼
隨時隨地手機看文章
1 高速A/D數(shù)據(jù)采集
A/D變換器選用了AD公司的AD9224。圖2為其管腳圖,說明如下:
1(CLK) 時鐘輸入
2(BIT12) 數(shù)據(jù)輸出最低位LSB
3~12(BIT11~BIT2) 數(shù)據(jù)輸出
13(BIT1) 數(shù)據(jù)輸出最高位MSB
14(OTR) 數(shù)據(jù)溢出標(biāo)志位
15、26(AVDD) +5V模擬電源
16、25(AVSS) 模擬地
17(SENSE) 參考選擇
18(VREF) 輸入?yún)⒖歼x擇
19(REFCOM) 通用參考(AVSS)
20、21(CAPB、CAPT) 減噪管腳
22(CML) 共模方式
23(VINA) 模擬輸入(+)
24(VINB) 模擬輸入(-)
27(DRVSS) 數(shù)字地
28(DRVDD) 數(shù)字電源
AD9224是一種高性能、單電源+5V、最高采樣頻率為40MSPS的12位ADC。在本設(shè)計中,由于FIFO讀寫時間的限制,A/D采樣頻率最高做到了33.3MHz。AD9224采用CMOS工藝制造,內(nèi)部集成了基準(zhǔn)電壓源、寬帶輸入采樣保持放大器等,并且采用四級流水線式結(jié)構(gòu),前三級每級包括一個連接到開關(guān)電容器DAC、級間剩余放大器MDAC的閃爍式A/D,第四級只包括閃爍式A/D。閃爍式A/D是目前轉(zhuǎn)換速率最快的ADC。AD9224采用多級流水線結(jié)構(gòu)對輸出錯誤進(jìn)行邏輯糾正,以保證在整個工作范圍內(nèi)不失碼,其數(shù)據(jù)以二進(jìn)制形式輸出,并帶有信號溢出指示位。AD9224在+5V電源下功耗較低,為376mW。其微分非線性誤差為0.7LSB,信噪比和失真率為67.5dB。
AD9224的輸入可以是單端或差分方式。本設(shè)計采用的是交流耦合單端輸入方式。信號經(jīng)過由放大器AD9631和并聯(lián)電容組成的電路后被偏置為關(guān)于AVDD/2(2.5V)對稱的正弦波,C1和C2由0.1μF的陶瓷電容和10μF的鉭電容并聯(lián),電容和電阻共同組成了一個高通濾波器。圖3所示為A/D部分的電路設(shè)計圖。
2 數(shù)據(jù)緩存
A/D采樣一點轉(zhuǎn)換一點。由于本系統(tǒng)的采樣速度高達(dá)幾十MSPS,如果存儲控制系統(tǒng)不能及時接收數(shù)據(jù)的話,則上次轉(zhuǎn)換的數(shù)據(jù)馬上就被下一個數(shù)據(jù)所覆蓋,很容易造成數(shù)據(jù)混亂。一般常用的DMA控制器所能達(dá)到的傳輸速率約為5Mb/s,即使是高性能的DSP芯片TMS320C32,其自帶的DMA通道所允許的A/D最高采樣速度也只達(dá)到15MSPS,并且受指令執(zhí)行時間的限制,依然不能直接接受A/D數(shù)據(jù)線上的數(shù)據(jù),因此必須采用高速緩存。目前常用的緩存多為FIFO(先入先出)、SRAM、及雙口RAM等。雙口RAM和SRAM一般存儲量較大,但必須用到復(fù)雜的地址發(fā)生器。FIFO芯片數(shù)據(jù)順序進(jìn)出,且輸入輸出口獨立,在電路設(shè)計上相對簡單得多,但由于數(shù)據(jù)不能按址查詢,而是遵循先入先出的原則輸出,在軟件處理上要復(fù)雜一些。FIFO一般價格較貴,且存儲量不大。本設(shè)計所采用的FIFO是NEC公司生產(chǎn)的UPD42280,其容量為8位256K(實際是262224)字節(jié),數(shù)據(jù)讀寫時間為30ns,是一種比較理想的FIFO芯片。該芯片內(nèi)部采用動態(tài)RAM結(jié)構(gòu),能夠自動刷新,當(dāng)讀寫完最后一個存儲單元后,又會自動回到第一個存儲單元。由于A/D有13條數(shù)據(jù)線(包括OTR位),所以每路用了兩片F(xiàn)IFO來接收數(shù)據(jù)。
3 DSP主處理器及控制電路
主處理器采用的是TI公司生產(chǎn)的TMS320C32PCM40。它是一種高性能的32位浮點型數(shù)字信號處理器,內(nèi)部包括通用寄存器組、程序高速緩沖存儲器、專用輔助寄存器單元(ARAU)、兩個存儲器、兩個DMA通道。DSP所具有的高存儲空間(32位/16M)、多處理器接口、內(nèi)部及外部產(chǎn)生的等待狀態(tài)、一個外部接口端口、兩個32位定時器、一個串行口以及多重中斷結(jié)構(gòu)等,使其應(yīng)用得到了很大的加強。
為了加快數(shù)據(jù)流的傳輸,克服瓶頸問題,DSP內(nèi)部采用了哈佛總線結(jié)構(gòu)(指令和數(shù)據(jù)有各自的存儲空間,尋址或存取數(shù)據(jù)、指令有各自的傳輸總線)而不是通用處理器采用的馮諾依曼結(jié)構(gòu)(指令和數(shù)據(jù)使用同一存儲空間,經(jīng)由同一總線傳輸);為了進(jìn)一步加快數(shù)據(jù)流的傳輸,DSP還采用了提高處理器的時鐘速度以及先進(jìn)的處理方法(如流水線處理和并行處理)。這些都使得DSP的各項運算和處理能在一個時鐘周期內(nèi)完成。DSP處理器的運算/處理功能單元主要包括乘法器/乘加器(MAC)、算術(shù)運算單元(ALU)、移位器、數(shù)據(jù)地址發(fā)生器(DAG)。
TMS320C32能與8/16/32位數(shù)據(jù)存儲器接口,并且可以進(jìn)行8/16/32位程序引導(dǎo),程序存儲器可以是16位或32位。它支持廣泛的系統(tǒng)尋址方式,實際上屬于間接尋址,是一種高效有用的尋址方式。另外,在尋址方式中TMS320C3X提供了一種循環(huán)尋址方式,可以在單周期內(nèi)對整數(shù)或浮點數(shù)進(jìn)行并行的乘法和算術(shù)邏輯單元(ALU)操作。圖4為本設(shè)計中一路FIFO與DSP的控制電路。
本設(shè)計中由于A/D有13條數(shù)據(jù)線(包括OTR位),所以每路用了兩片F(xiàn)IFO來接收數(shù)據(jù)。兩片F(xiàn)IFO的/WE管腳都連接到上路JK觸發(fā)器J1的/Q管腳上,以便由DSP控制使其同時接收數(shù)據(jù)。FIFO的讀片選管腳/OE與讀復(fù)位管腳/RST接下路JK觸發(fā)器J2的/Q端,另一路接Q端以控制上下路選擇,F(xiàn)IFO的讀時鐘由DSP的定時器TCLK0給出。
系統(tǒng)工作過程如下:
上電后,AD9224加上時鐘信號即開始數(shù)據(jù)的轉(zhuǎn)換。寫數(shù)據(jù)時,DSP經(jīng)過譯碼電路首先使/Y0輸出為低,則兩片F(xiàn)IFO的/WRST為低電平,F(xiàn)IFO的寫指針位于0地址處;同時J1被預(yù)置,使/WE為低,兩片F(xiàn)IFO從0地址開始同步接收A/D轉(zhuǎn)換的數(shù)據(jù)。由于FIFO沒有存儲器寫滿標(biāo)志,A/D沒有控制轉(zhuǎn)換起止標(biāo)志,因此只能通過軟件控制,由DSP延時t(t為FIFO開始轉(zhuǎn)換到寫滿的時間)后,寫74LS138使/Y1為低,J1發(fā)生翻轉(zhuǎn),/WE變?yōu)楦?,寫操作被禁止。讀數(shù)據(jù)時,在DSP控制下使/Y2為低,J2被置位,/Q為低,上路FIFO的/RST和/OE同時變低,讀指針處于0地址處并允許DSP對其進(jìn)行讀操作。讀數(shù)據(jù)是通過對R/、/IOSTRB的共同操作完成的。DSP在處理完該路數(shù)據(jù)之后,再次寫譯碼器使/Y3為低,J2翻轉(zhuǎn),/Q為高,上路FIFO的訪問被禁止;同時,Q變低,允許讀取下路FIFO的數(shù)據(jù)。
由于FIFO的讀寫時間所限,本設(shè)計的采樣時鐘沒有做到40MHz,而是采用了最高33.3MHz的時鐘。時鐘信號由66.6MHz的晶振振蕩器經(jīng)過分頻后分別接到A/D的CLK端和FIFO的WCK端,以便使FIFO和AD9224采用同一時鐘源,保持時序的嚴(yán)格同步。
本設(shè)計為通用系統(tǒng)。采用高性能的12位模/數(shù)轉(zhuǎn)換器AD9224進(jìn)行采樣,數(shù)據(jù)精度較高。盡管由于FIFO的讀取時間所限,最高采樣頻率只做到了33.3MHz,但是由于FIFO的容量較大,因此可以連續(xù)不間斷地采樣256k個點。這對于要求高速連續(xù)采樣的系統(tǒng)是非常適用的,而且省去了大容量的RAM,在一定程度上節(jié)省了硬件開支。