高峰
(西安工業(yè)大學(xué) 北方信息工程學(xué)院,陜西 西安 710025)
在以DSP為主的嵌入式應(yīng)用系統(tǒng)中,經(jīng)常用到前端數(shù)據(jù)采集單元,在該單元中對所采集的信號進(jìn)行濾波,然后經(jīng)過A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,最后將采集到的信號傳入DSP芯片中。這里給出了一種采用TI公司的C5000系列定點(diǎn)DSP芯片TMS320VC5509和ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉(zhuǎn)換速率是1MSpS、12位的帶符號的逐次逼近型串行AD7322的數(shù)據(jù)采集系統(tǒng)。
采用東芝公司的TCD1206SUP線陣CCD,TCD1206SUP器件是一種典型的雙溝道線陣CCD器件,具有較高的靈敏度和很低的暗電流噪聲[1],光敏像元數(shù)目為2 160,每個(gè)光敏單元的尺寸為 14 μm、14 μm 高,中心距亦為 14 μm,光敏元陣列總長為30.24 mm[2]。有4檔驅(qū)動頻率可以設(shè)定,分別為500 kHz,250 kHz,125 kHz,62.25 kHz。 對外接口采用標(biāo)準(zhǔn)的9針(DB9)連接。其中FC為行同步脈沖信號,其高電平到來標(biāo)志著一行輸出的開始。SP為像元同步脈沖,對應(yīng)一行中每一個(gè)點(diǎn)的輸出。U0為經(jīng)過放大輸出的視頻信號,A0~A3為積分時(shí)間設(shè)置端口,+5 V和+12 V為直流電源,GND為地線,驅(qū)動器的地線與DB9連接口的外殼相連。積分時(shí)間控制信號A0~A3均為標(biāo)準(zhǔn)TTL電平控制,0000~1111分別控制 16檔積分時(shí)間變換;0000時(shí)間最短,1111時(shí)間最長。
由于CCD輸出的視頻信號中,混雜有幅度較大的復(fù)位脈沖干擾和攜帶有高頻噪聲信號,為了削弱頻率較高的干擾、噪聲,在CCD與AD轉(zhuǎn)換器之間加一個(gè)二階有源低通濾波電路,濾去高頻干擾信號,以保證硬件電路的系統(tǒng)精度。低通濾波電路如圖1所示。
圖1 低通濾波電路Fig.1 Low-pass filter circuit
圖2中的放大器為精密低噪聲運(yùn)算放大器OPA121,它是一個(gè)低成本高速FET場效應(yīng)管差分輸入精密運(yùn)算放大器,差模和共模阻抗都很高。偏置采用共射共基電路,具有很低的輸入偏流,并且有調(diào)零輸出端[3]。片內(nèi)有經(jīng)激光修正、電解質(zhì)絕緣防護(hù)和新的電路設(shè)計(jì),使芯片獲得了極小的偏流噪聲和很低的漂移[4]。OPA121的8腳為芯片基底連接,一般不需要調(diào)零。但是若要調(diào)零,在1、5腳與負(fù)電源接入10 kΩ多圈電位器即可,調(diào)整范圍為±10 mV。在使用時(shí)要對輸入端適當(dāng)進(jìn)行保護(hù),否則就會失去運(yùn)放的固有特性。而且電容C的容量不易超過1 μF,因?yàn)榇笕萘康碾娙萜黧w積大,而且價(jià)格高,應(yīng)盡量避免使用。其中電阻R2=R3=R=6.4 kΩ,電容C10=C11=C=0.1 pF,這樣計(jì)算出該濾波電路的截止頻率和增益分別如下式:
AD7322是ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉(zhuǎn)換速率是1MSpS、12位的帶符號的逐次逼近型串行AD[5]。它有以下特點(diǎn):軟件可選的輸入電壓范圍有±10 V,±5 V,±2.5 V,0 V~+10 V;2 個(gè)模擬輸入通道, 可以配置成單端模擬輸入、真差分模擬輸入、偽差分模擬輸入;低功耗,其最大功耗30 mW;自動節(jié)電功能;模擬輸入阻抗高;內(nèi)置2.5 V的參考電壓。
AD7322的功能結(jié)構(gòu)如圖2所示。其中CS是片選信號,低有效。這個(gè)腳的輸入電平有兩個(gè)功能,一個(gè)是AD7322轉(zhuǎn)換初始化的標(biāo)識,一個(gè)是串行數(shù)據(jù)搬移幀的標(biāo)識。VIN0、VIN1是模擬輸入通道0和模擬輸入通道1,模擬輸入通道的轉(zhuǎn)換是通過控制寄存器的通道地址位ADD0來進(jìn)行選擇。如前文所述,輸入通道可以接收±10 V,±5 V,±2.5 V的雙極性電壓輸入,也可以接收0~+10 V范圍的單極性電壓輸入。VSS是為模擬輸入部件提供的負(fù)極性電壓,VDD是為模擬輸入部件提供的正極性電壓。VCC是提供給AD7322片上的ADC的核心電壓2.7~5.25 V,該端去耦到模擬地。VDRIVE提供輸入的邏輯電壓,這個(gè)電壓決定了片上接口工作的電壓范圍,該引腳去耦到數(shù)字地,而且該電壓可能與VCC引腳上的電壓不相同,但是不能超過VCC電壓的0.3 V。REFIN/OUT是輸入輸出參考電壓,AD7322包含一個(gè)2.5 V的內(nèi)部參考電壓,當(dāng)選用內(nèi)部參考電壓時(shí),在這個(gè)引腳上要放置一個(gè)680nF的電容,當(dāng)使用外部參考電壓時(shí),內(nèi)部參考電壓失效。DIN是數(shù)據(jù)輸入引腳,該引腳上的數(shù)據(jù)是寫到片上寄存器中的數(shù)據(jù),并在SCLK時(shí)鐘的下降沿打入到寄存器中。DOUT是串行數(shù)據(jù)輸出引腳,轉(zhuǎn)換的輸出數(shù)據(jù)以一個(gè)串行數(shù)據(jù)流形式輸出在該引腳上,并且這些數(shù)據(jù)位在輸入SCLK的下降沿被輸出,經(jīng)過16個(gè)SCLK后才可以訪問這些數(shù)據(jù)。這個(gè)數(shù)據(jù)流包含2個(gè)前導(dǎo)0,1個(gè)通道說明位,1個(gè)符號位,12個(gè)轉(zhuǎn)換數(shù)據(jù)位。輸出的數(shù)據(jù)的第一位以高字節(jié)開始。SCLK是串行時(shí)鐘輸入,一個(gè)串行時(shí)鐘輸入需要提供給SCLK來用做從AD7322訪問數(shù)據(jù)的時(shí)鐘。這個(gè)時(shí)鐘也用做轉(zhuǎn)換過程的時(shí)鐘源。
圖2 AD7322的功能結(jié)構(gòu)圖Fig.2 Functional structure of AD7322
DSP芯片采用Ti公司的TMS320VC5509,它是一種高性能、低功耗、定點(diǎn)數(shù)字信號處理器,其主要特點(diǎn)[6]如下:
1)最高主頻能夠達(dá)到144 MHz,指令周期6.94 ns。
2)CPU的內(nèi)部總線結(jié)構(gòu)包括一條程序總線,三條數(shù)據(jù)讀總線,兩條數(shù)據(jù)寫總線及用于外設(shè)和DMA控制器的總線。這些總線使得C5509能在一個(gè)時(shí)鐘內(nèi)完成三次數(shù)據(jù)讀操作和兩次數(shù)據(jù)寫操作。5509還擁有兩個(gè)乘法累加器(MAC),每個(gè)累加器都能夠在一個(gè)周期內(nèi)執(zhí)行一個(gè)17bit×17bit的乘法運(yùn)算。
3)128 k×16 Bit的片上 ROM,包括 64 k Bytes的 DARAM(8 塊,每塊 4 k×16 Bit),192K Bytes的 SARAM(24 塊,每塊4 k×16 Bit)。
4)64 k Bytes的一等待片上 ROM(32 k ×16 Bit)。
5)最大可尋址8 M×16 Bit的外部存儲空間。16位的外部存儲器擴(kuò)展接口可實(shí)現(xiàn)與異步存儲器件(SRAM、EPROM)和同步存儲器件(SDRAM)的無縫連接。
6)片上外設(shè)包含:
2個(gè)20 Bit的定時(shí)器;
1個(gè)看門狗定時(shí)器;
1個(gè)六通道的直接存儲器訪問控制器(DMA);
1 個(gè)主機(jī)接口(HPI);
3個(gè)多通道緩沖串行口(Mcbsp);
2個(gè)多媒體卡(MMC)或安全數(shù)字存儲卡(SD Card);
1個(gè)可編程的數(shù)字鎖相環(huán)時(shí)鐘發(fā)生器;
7個(gè)通用輸入輸出口(GPIO)和1個(gè)外部標(biāo)志輸出引腳(XF);
1個(gè)通用串行USB接口(12 Mbps);
1個(gè)內(nèi)部集成電路模塊(I2C);
1 個(gè)實(shí)時(shí)時(shí)鐘(RTC);
1個(gè)兩通道的10Bit的逐次逼近式模數(shù)轉(zhuǎn)換器(ADC)。7)JTAG仿真接口,符合IEEE1941.1標(biāo)準(zhǔn)(JTAG)邊界掃描邏輯。
AD7322在數(shù)據(jù)轉(zhuǎn)換過程中,采用SCLK 引腳上的串行時(shí)鐘用做轉(zhuǎn)換時(shí)鐘和控制從ADC中搬移數(shù)據(jù)的時(shí)鐘。CS的下降沿使得采樣與保持電路進(jìn)入保持狀態(tài)并使總線為三態(tài)輸出,然后模擬輸入信號被采樣。一旦轉(zhuǎn)換開始,總共需要16個(gè)SCLK時(shí)鐘周期才能完成。在第14個(gè)SCLK的上升沿,采樣與保持電路回到跟蹤模式,在第16個(gè)SCLK的下降沿DOUT腳回到三態(tài)輸出狀態(tài)。如果經(jīng)過16個(gè)SCLK時(shí)鐘周期,的上升沿到來,則轉(zhuǎn)換被中止,且DOUT腳回到三態(tài)輸出狀態(tài)。根據(jù)在什么時(shí)候信號的電平變高,被選擇的相應(yīng)寄存器才有可能被更新。具體的串口時(shí)序如圖3所示。
圖3 AD7322串口時(shí)序圖Fig.3 Time sequence of serial port of AD7322
AD7322與CCD、DSP連接的原理框圖如圖4所示。
圖4 A/D與DSP及CCD電路連接原理框圖Fig.4 Circuit connection of A/D,DSP and CCD
具體的連接方法是將CCD的行同步信號FC接入DSP的通用輸入輸出引腳GPIO4腳。將CCD的像元同步信號SP接入DSP的McBSP幀同步輸入腳FSR,控制每一個(gè)像元的采樣與轉(zhuǎn)換。將DSP的幀同步輸出腳FSX腳接入AD7322的腳作為A/D芯片的選通信號。將DSP的McBSP的時(shí)鐘輸出腳CLKX和時(shí)鐘輸入腳CLKR接至AD7322的串行時(shí)鐘SCLK,保證A/D轉(zhuǎn)換器和McBSP工作在同一時(shí)鐘下。將CCD的模擬輸出信號U0經(jīng)一個(gè)二階有源低通濾波電路濾波并經(jīng)過一個(gè)雙運(yùn)放OP2177進(jìn)行驅(qū)動后的兩個(gè)輸出接入AD7322的兩個(gè)模擬輸入端VIN0和VIN1。將DSP的數(shù)據(jù)輸出引腳DX接入AD7322的DIN引腳,作為對ADC的控制信號。將AD7322的輸出引腳DO與McBSP的數(shù)據(jù)輸入引腳DR相連。另外,本系統(tǒng)中的AD7322的參考電壓用的是ADC內(nèi)部的參考電壓,所以需要在REFIN/OUT引腳要用一個(gè)680 nF的電容去耦到模擬地。
由于在信噪比和諧波失真有嚴(yán)格要求的情況下,AD7322的模擬輸入必須由一個(gè)低阻抗信源驅(qū)動,高阻抗信源很明顯地影響ADC的交流特性。所以本系統(tǒng)中采用一個(gè)雙運(yùn)放OP2177,OP2177是ADI公司生產(chǎn)的高精度、低偏置、低功耗的集成運(yùn)算放大器,片內(nèi)集成了兩個(gè)運(yùn)放,可靈活的組成各類放大和濾波電路。
1)Mcbsp的接收器進(jìn)行復(fù)位操作。
2)根據(jù)需要,對Mcbsp的寄存器進(jìn)行編程。
3)使能Mcbsp的接收器。
4)檢測DSP的Gpio4的電平狀態(tài),這里CCD的FC給DSP的Gpio4,一旦Gpio4為高,則說明CCD的行同步FC的上升沿到來,也就是說CCD的有效像元開始輸出了。
5)啟動 A/D,DSP 的 Gpio4 為高后,等待 1 μs的時(shí)間,讓FSX腳輸出低電平,選通A/D轉(zhuǎn)換器。
這里等待1 μs的原因是A/D的CS變低后,要檢測FS的電平,而FS的信號就是SP的信號,當(dāng)FC為高時(shí),SP也同時(shí)為高,且保持1 μs的高電平的時(shí)間,如果不等待1us的話,CS下降沿檢測FS不為高,則認(rèn)為A/D沒有正確進(jìn)入DSP模式,所以為了保證AD能正常進(jìn)入DSP模式,等待1 μs后,SP和FS都變?yōu)榈碗娖?,這時(shí)在檢測FS的電平就能說明AD進(jìn)入 DSP模式了,而SP的占空比是1:7,也就是 SP和FS在下一次變高時(shí)還有7 μs的低電平時(shí)間,這個(gè)7 μs足以保證DSP正確鎖定在DSP模式下。
6)采集數(shù)據(jù):選通A/D轉(zhuǎn)換器后,在SP脈沖上升沿到來時(shí)開始數(shù)據(jù)采樣與轉(zhuǎn)換。一個(gè)像元的轉(zhuǎn)換輸出數(shù)據(jù)被McBSP接收完畢后,McBSP將發(fā)出一個(gè)接收中斷到CPU,CPU響應(yīng)此中斷后將數(shù)據(jù)從McBSP的緩沖寄存器中讀入存儲器內(nèi)存,然后退出中斷,進(jìn)行下一個(gè)點(diǎn)信號的接收。我們還需要設(shè)置一個(gè)計(jì)數(shù)變量,在每一次中斷后對其進(jìn)行加一操作,當(dāng)計(jì)數(shù)變量的值達(dá)到2160時(shí),撤銷選通信號,這樣一個(gè)完整的對CCD一行的輸出信號的A/D轉(zhuǎn)換完成。
DSP[7]的CPU或DMA控制器與Mcbsp的通信,是通過16 Bit的寄存器訪問內(nèi)部的外設(shè)總線來實(shí)現(xiàn)的。Mcbsp的數(shù)據(jù)接收寄存器有2個(gè),DRR1和DRR2,當(dāng)字長小于16 Bit時(shí)使用DRR1。把Mcbsp要傳輸?shù)拇凶侄x成為16 Bit(剛好是10 Bit A/D轉(zhuǎn)換數(shù)據(jù)出的6個(gè)0+10 bit二進(jìn)制數(shù)),并自行定義Mcbsp傳輸數(shù)據(jù)的一幀就是16 Bit,也就是說CCD的一個(gè)SP就被轉(zhuǎn)換成6個(gè)0+10 Bit的二進(jìn)制數(shù),這樣對于Mcbsp的一幀來說,就CCD的一個(gè)SP。Mcbsp接收完一幀數(shù)據(jù)后,就觸發(fā)中斷,進(jìn)行這一幀數(shù)據(jù)的存儲,然后進(jìn)行下一個(gè)SP像元點(diǎn)的采樣轉(zhuǎn)換與傳輸,直到所有的像元采集完畢。
7)關(guān)閉 A/D:把 DSP的 RSX原來的選通A/D的低電平變?yōu)楦唠娖?,以關(guān)閉A/D。
文中以TMS320VC5509 DSP芯片和AD7322模數(shù)轉(zhuǎn)換芯片為例,詳細(xì)討論了數(shù)據(jù)采集系統(tǒng)的關(guān)鍵硬件接口電路設(shè)計(jì)和采集過程。目前該數(shù)據(jù)采集系統(tǒng)已經(jīng)安裝在一維條碼識別系統(tǒng)中,實(shí)踐證明,該數(shù)據(jù)采集系統(tǒng)能夠正確采集數(shù)據(jù),達(dá)到了設(shè)計(jì)目的和應(yīng)用要求。
[1]蔡文貴,李永遠(yuǎn),許振華.CCD技術(shù)及應(yīng)用[M].天津:天津大學(xué)出版社,1992.
[2]Toshibia.TCD1206 SUP [EB/OL].(2002-12-26).[2010-10-15].http://www.semicon.toshiba.co.jp.
[3]楊鎮(zhèn)江,蔡德芳.新型集成電路使用指南與典型應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998.
[4]楊鎮(zhèn)江,孫占彪,王曙梅,等.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001.
[5]Analog Devices.2-Channel,Software-Selectable,True Bipolar Input,1MSPS,12-Bit Plus Sign ADC [EB/OL].(2010-01-08) [2011-12-4].http://www.analog.com/static/importedfiles/data_sheets/AD7322.pdf.
[6]Texas Instruments.TMS320VC5509 Fixed-Point Digital Signal Processor Data Manual[EB/OL].(2008-02-13)[2011-12-23].http://www.ti.com/lit/ds/symlink/tms320vc5509.pdf.
[7]蘇永芝,耿玉玲.基于FPGA+DSP的高速中頻采樣信號處理平臺的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011(7):34-36.
SU Yong-zhi,GENG Yu-ling.Realization of FPGA+DSP-based processing platform for high-speed intermediate frequency sampling signal[J].Modern Electronics Technique,2011(7):34-36.