一種12位雙通道高速數(shù)據(jù)采集處理系統(tǒng)
2 數(shù)據(jù)緩存
A/D采樣一點轉(zhuǎn)換一點。由于本系統(tǒng)的采樣速度高達幾十MSPS,如果存儲控制系統(tǒng)不能及時接收數(shù)據(jù)的話,則上次轉(zhuǎn)換的數(shù)據(jù)馬上就被下一個數(shù)據(jù)所覆蓋,很容易造成數(shù)據(jù)混亂。一般常用的DMA控制器所能達到的傳輸速率約為5Mb/s,即使是高性能的DSP芯片TMS320C32,其自帶的DMA通道所允許的A/D最高采樣速度也只達到15MSPS,并且受指令執(zhí)行時間的限制,依然不能直接接受A/D數(shù)據(jù)線上的數(shù)據(jù),因此必須采用高速緩存。目前常用的緩存多為FIFO(先入先出)、SRAM、及雙口RAM等。雙口RAM和SRAM一般存儲量較大,但必須用到復(fù)雜的地址發(fā)生器。FIFO芯片數(shù)據(jù)順序進出,且輸入輸出口獨立,在電路設(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)由同一總線傳輸);為了進一步加快數(shù)據(jù)流的傳輸,DSP還采用了提高處理器的時鐘速度以及先進的處理方法(如流水線處理和并行處理)。這些都使得DSP的各項運算和處理能在一個時鐘周期內(nèi)完成。DSP處理器的運算/處理功能單元主要包括乘法器/乘加器(MAC)、算術(shù)運算單元(ALU)、移位器、數(shù)據(jù)地址發(fā)生器(DAG)。
TMS320C32能與8/16/32位數(shù)據(jù)存儲器接口,并且可以進行8/16/32位程序引導(dǎo),程序存儲器可以是16位或32位。它支持廣泛的系統(tǒng)尋址方式,實際上屬于間接尋址,是一種高效有用的尋址方式。另外,在尋址方式中TMS320C3X提供了一種循環(huán)尋址方式,可以在單周期內(nèi)對整數(shù)或浮點數(shù)進行并行的乘法和算術(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對其進行讀操作。讀數(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進行采樣,數(shù)據(jù)精度較高。盡管由于FIFO的讀取時間所限,最高采樣頻率只做到了33.3MHz,但是由于FIFO的容量較大,因此可以連續(xù)不間斷地采樣256k個點。這對于要求高速連續(xù)采樣的系統(tǒng)是非常適用的,而且省去了大容量的RAM,在一定程度上節(jié)省了硬件開支。
評論