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