基于A/D和DSP的高速數(shù)據(jù)采集系統(tǒng)方案介紹
掃描二維碼
隨時隨地手機(jī)看文章
中頻信號分為和差兩路,高速A/D與DSP組成的數(shù)據(jù)采集系統(tǒng)要分別對這兩路信號進(jìn)行采集。對于兩路數(shù)據(jù)采集電路,A/D與DSP的接口連接是一樣的。兩個A/D同時將和路與差路信號采樣,并分別送入兩個FIFO;DSP分時從兩個FIFO中讀出采集的數(shù)據(jù),完成數(shù)據(jù)的采集。
1 數(shù)據(jù)采集系統(tǒng)組成及原理
數(shù)據(jù)采集系統(tǒng)由A/D、FIFO、CPLD以及數(shù)字信號處理板組成,圖1為采集系統(tǒng)的組成框圖。
系統(tǒng)中,和路和差路中頻信號都是模擬中頻信號,經(jīng)過A/D 芯片將模擬信號變成數(shù)字信號,再經(jīng)過FIFO芯片,將采集到的數(shù)據(jù)送人數(shù)字信號處理板。數(shù)字信號處理板中的處理器是DSP。DSP的數(shù)據(jù)線和2片F(xiàn)IFO的數(shù)據(jù)線連接,同時也和CPLD連接,地址線和CPLD連接。2片F(xiàn)IFO芯片的讀寫控制邏輯由1個CPLD進(jìn)行控制。CPLD與上位機(jī)的數(shù)據(jù)線、地址線連接,數(shù)字信號處理板通過CPLD和上位機(jī)通信。
2 芯片的特點及選擇
2.1 AD6644高速模數(shù)轉(zhuǎn)換器
AD6644是一種單片式的高速、高性能的14位模/數(shù)轉(zhuǎn)換器,內(nèi)含采樣保持電路和基準(zhǔn)源。AD6644提供兼容3.3 V CMOS電平輸出;采樣速率最高可達(dá)65 Msps,一般采樣速率為40 Msps;信噪比典型值為74 dB,無雜散動態(tài)范圍SFDR為100 dB;功耗為1.3 W,輸入模擬帶寬可達(dá)250 MHz,溫度范圍為-25℃~+85℃。
AD6644采用三級子區(qū)式的轉(zhuǎn)換結(jié)構(gòu),既保證了精度又降低了功耗,其功能框圖如圖2所示。它的模擬信號輸入方式是差分結(jié)構(gòu),每個輸入的電壓以2.4 V為中心,上下范圍在0.55 V以內(nèi)。由于兩個輸入的相位相差180°,所以AD6644的模擬輸入信號的最大峰一峰值為2.2 V。由圖2可以看出,差分模擬輸入端先經(jīng)過緩沖后進(jìn)入第一個采樣保持器(TH1)。當(dāng)編碼時鐘為高時,TH1進(jìn)入保持狀態(tài)。TH1內(nèi)保持的值作為粗的5位ADC1的輸入。ADC1的數(shù)字輸出驅(qū)動一個5位數(shù)/模轉(zhuǎn)換器DAC1。DAC1要求具有通過激光校正的14位精度。延遲的模擬信號與DAC1的輸出相減,產(chǎn)生第一剩余信號,并送給采樣保持器TH3。采樣保持器TH2的作用是延遲,為補(bǔ)償ADC1的數(shù)字延時提供了模擬延時,使送入TH3的兩路信號同時到達(dá)。
第一剩余信號送人由5位ADC2,5位DAC2和通道TH4組成的第2轉(zhuǎn)換階段。第2個DAC要求具有校正的10位精度。TH5的輸入是通過由DAC2輸出與被TH4延遲第1個剩余信號而獲得的第2個剩余信號相減,TH4與TH2的作用相同。TH5驅(qū)動最后6位ADC3。ADC1、ADC2、ADC3的數(shù)字輸出總和與數(shù)字誤差校正邏輯一起產(chǎn)生最終的輸出數(shù)據(jù),結(jié)果是14位二進(jìn)制補(bǔ)碼編碼的并行數(shù)據(jù)。
2.2 TMS320C6713
本模塊的DSP芯片選用TI公司的浮點數(shù)字信號處理器TMS320C6713。TMS320C671 3內(nèi)有8個并行的處理單元,分為相同的兩組。其體系結(jié)構(gòu)采用超長指令字(VLIW,Very Long Instruction Word)結(jié)構(gòu),單指令長32位,8個指令組成一個指令包,總共字長為8×32=256位。芯片內(nèi)部設(shè)置了專門的指令分配模塊,可以將每個256位的指令包同時分配到8個處理單元,并由8個單元同時運行。芯片的最高時鐘頻率達(dá)225 MHz,其最大處理能力可以達(dá)到1 800 MIPS。TMS320C6713的以上特點,保證了后端信號處理的實時性,能滿足本系統(tǒng)的性能要求。
[!--empirenews.page--]
2.3 FIFO存儲器IDT72V253
FIFO存儲器允許數(shù)據(jù)以不同的速率寫入和讀出,IDT72V253是一種高速的4 096字×18位的FIFO器件,如圖3所示。其最高頻率可達(dá)166 MHz,數(shù)據(jù)寫入數(shù)據(jù)讀出時間均為10 ns。當(dāng)鎖入的字?jǐn)?shù)超過4 096時,存儲器進(jìn)人滿狀態(tài)。FIFO的狀態(tài)可通過時間和狀態(tài)位——滿(FF/IR)、空(EF/OR)、半滿(HF)、PAE和PAF來獲得。當(dāng)存儲器滿時,FF/IR輸出為低電平;當(dāng)存儲器為空時,EF/OR輸出為低電平。當(dāng)FIFO存有不少于2 048字內(nèi)容時,HF輸出為高。PAE和PAF狀態(tài)位是可編程狀態(tài)位。當(dāng)寫使能端WEN電平變低時,待送入FIFO的數(shù)據(jù)在WCLK時鐘的同步下送人FIFO,當(dāng)?shù)谝粋€字被寫入時,EF/OR引腳的電平變?yōu)楦唠娖?當(dāng)送入的數(shù)據(jù)超過(n+1)(n為PAE的偏置值)個字時,可編程狀態(tài)位PAE變?yōu)楦唠娖?當(dāng)有(D/2)+1(2 049)個字寫入時,HF引腳電平變低;隨著數(shù)據(jù)的繼續(xù)寫入,會引起PAF引腳電平變低。如果沒有數(shù)據(jù)讀出,當(dāng)有(D—m)(4 096—m)個字寫入時,PAF引腳電平變低。當(dāng)FIFO數(shù)據(jù)寫滿時(對于IDT72V253,就是寫入4 096個字),FF/IR位變?yōu)榈碗娖?阻止數(shù)據(jù)的進(jìn)一步寫入。當(dāng)FIFO寫滿時,第一個讀操作將會引起FF位電平變高,后來的讀操作將會引起HF和PAF引腳電平變高。當(dāng)FIFO里面只有n個字時,PAE引腳電平變低;當(dāng)最后一個字從FIFO讀出時,EF引腳電平變低,阻止進(jìn)一步的讀操作。
3 高速A/D轉(zhuǎn)換器與DSP的接口設(shè)計
3.1 接口設(shè)計
AD6644是14位模數(shù)轉(zhuǎn)換器,IDT72V253是18位FIFO,TMS320C6713 DSP的數(shù)據(jù)總線是32位,所以IDT72V253和TMS320C6713只需接低14位的D0~D13。由于FIFO的先入先出特殊結(jié)構(gòu),系統(tǒng)中不需要任何地址線的參與,大大簡化了電路。A/D采樣所得數(shù)據(jù)要實時送入FIFO,因此兩者的寫時鐘頻率必須一樣,且AD6644和IDT72V253的最小時鐘輸入都是10 ns,操作起來統(tǒng)一方便。CPLD選用Xilinx公司的xc95144xl-tql44,用它實現(xiàn)四二輸入與門,把TMS320C6713的通用緩沖串口(Mcbsp)中的DX、FSX配置為通用輸出口(GPlO),對這個四二輸入與門的通斷進(jìn)行控制,從而對A/D轉(zhuǎn)換器和FIFO的寫時鐘進(jìn)行控制。由于外部FIFO占用著TMS320C6713的CE0空間,所以讀信號的邏輯關(guān)系為:R=CE0+ARE,TMS320C6713的CE0和ARE相“與”后與IDT72V253的RCLK相連,為FIFO提供讀時鐘(CE0和ARE相“與”由xc95144xl-tql44完成)。TMS320C6713的CLKX與IDT72V253的復(fù)位信號PRS相連用以復(fù)位FIFO。接口框圖如圖4所示。
3.2 時序設(shè)計
通過兩個“與”門分別對A/D轉(zhuǎn)換器和FIFO的寫時鐘進(jìn)行控制,因為AD6644從模擬輸入開始到該次轉(zhuǎn)換的數(shù)據(jù)出現(xiàn)在輸出口上需要4個時鐘周期,并且在高速度采樣時導(dǎo)線的延時效果會非常明顯,若把A/D轉(zhuǎn)換器和FIFO的時鐘連在一起,很可能過多地采到無效數(shù)據(jù)。分開控制以后,通過軟件延時,可以方便地分別對A/D轉(zhuǎn)換器和FIFO的時鐘進(jìn)行控制,調(diào)試起來相當(dāng)方便,力圖把采到無效數(shù)據(jù)的位數(shù)減至最低。AD6644的工作時序如圖5所示,IDT72V253寫時序如圖6所示。
[!--empirenews.page--]
采樣時,通過程序使DX和FSX輸出為1。此時采樣脈沖與DX、FSX相“與”后被分別送人AD6644的時鐘輸入ENCODE和IDT72V253的寫時鐘輸入WCLK,A/D轉(zhuǎn)換器開始工作,且不斷將轉(zhuǎn)換數(shù)據(jù)送至自己的輸出口D0~D7。當(dāng)寫使能WEN為低時,A/D轉(zhuǎn)換器輸出口上的數(shù)據(jù)在WCLK的上升沿被依次寫入FIFO。A/D轉(zhuǎn)換器和FIFO每來一次脈沖,便完成一次模數(shù)轉(zhuǎn)換并把數(shù)據(jù)順序存人FIF。使IDT72V253的LD為低、FSELO為高、FSEL1為高時,IDT72V253經(jīng)過主復(fù)位后,偏移值n、m為默認(rèn)值63,每個雷達(dá)回波脈沖采樣63個點后,存儲器幾乎滿標(biāo)志PAF輸出低電平(在未到63時輸出高電平)。把此標(biāo)示接到TMS320C6713的外部中斷INT0上,利用它由高到低的變化產(chǎn)生中斷,以表明一組數(shù)據(jù)采集完成。
在中斷中,DSP首先迅速關(guān)閉采樣脈沖信號(使DX和FSX的輸出為0),停止A/D轉(zhuǎn)換器和F1FO的工作。TMS320C6713的CE0和ARE相“與”后與FIFO的讀輸入RCLK接在一起,DSP每執(zhí)行一次I/O讀操作,R=CE0十ARE便向RCLK發(fā)出一脈沖,把FIFO讀使能PEN置為低,同時連續(xù)執(zhí)行63次I/O讀操作,數(shù)據(jù)便依次從IDT72V253送入TMS320C6713,整個數(shù)據(jù)采集工作就此完成。在進(jìn)行第二次數(shù)據(jù)的采集前,最好將IDT72V253先復(fù)位,把TMS320C6713通用緩沖串口的CLKX配置為通用輸出口,給IDT72V253的PRS引腳輸入一個不小于10 ns的低脈沖,即在DSP的CLKX引腳輸出一個低脈沖。這樣可以更充分地保證FIFO的讀、寫指針的穩(wěn)定。
3.3 軟件設(shè)計
軟件設(shè)計包括CPLD和DSP兩個部分。CPLD程序用VHDL語言編寫,實現(xiàn)簡單的邏輯轉(zhuǎn)換功能,程序設(shè)計比較簡單。DSP編程中有幾個關(guān)鍵步驟:外部中斷使能、時鐘送入A/D轉(zhuǎn)換器和FIFO、等待中斷、停止A/D轉(zhuǎn)換器和FIFO、采集數(shù)據(jù)、復(fù)位FIFO。整個軟件流程如圖7所示。
4 結(jié) 論
通過實際設(shè)計表明,在DSP高速數(shù)據(jù)采集系統(tǒng)中,采用FIFO器件作為A/D轉(zhuǎn)換器與DSP之間的橋梁,可以根據(jù)具體需要靈活設(shè)置FIFO的各個標(biāo)志,使其具有很強(qiáng)的外部接口能力;并且通過軟件很容易調(diào)整A/D轉(zhuǎn)換器、FIFO和DSP的操作時序,增強(qiáng)了操作的靈活性,起到了很好的數(shù)據(jù)緩沖作用,保證了數(shù)據(jù)采集的安全可靠。系統(tǒng)硬件具有結(jié)構(gòu)簡單、性能可靠的特點;軟件具有控制靈活、程序調(diào)試方便等優(yōu)點。