基于TMS320VC5509與AD7322的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了提高數(shù)據(jù)采集系統(tǒng)的采樣速度、轉(zhuǎn)換精度、降低系統(tǒng)功耗,設(shè)計(jì)了一種采用TI公司的C5000系列定點(diǎn)DSP芯片TMS320VC5509和ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉(zhuǎn)換速率是1MSpS、12位的帶符號(hào)的逐次逼近型串行AD7322的數(shù)據(jù)采集系統(tǒng),并闡述了該系統(tǒng)的主要硬件電路的搭建原理、連接方法以及采集過(guò)程。該系統(tǒng)的前端數(shù)據(jù)采集單元采用2160像元的TCD1206SUP線(xiàn)陣CCD作為圖像傳感器,CCD輸出的視頻信號(hào)經(jīng)過(guò)一個(gè)二階有源低通濾波電路進(jìn)行濾波后,被高速串行A/D轉(zhuǎn)換器AD7322采集并轉(zhuǎn)換成數(shù)字信號(hào),然后將數(shù)字信號(hào)送進(jìn)DSP。通過(guò)測(cè)試表明,該系統(tǒng)設(shè)計(jì)方案合理,達(dá)到了設(shè)計(jì)目的和要求。
關(guān)鍵詞:TMS320VC5509;AD7322;數(shù)據(jù)采集;電路連接
在以DSP為主的嵌入式應(yīng)用系統(tǒng)中,經(jīng)常用到前端數(shù)據(jù)采集單元,在該單元中對(duì)所采集的信號(hào)進(jìn)行濾波,然后經(jīng)過(guò)A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,最后將采集到的信號(hào)傳入DSP芯片中。這里給出了一種采用TI公司的C5000系列定點(diǎn)DSP芯片TMS320VC5509和ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉(zhuǎn)換速率是1MSpS、12位的帶符號(hào)的逐次逼近型串行AD7322的數(shù)據(jù)采集系統(tǒng)。
1 關(guān)鍵硬件接口電路實(shí)現(xiàn)
1.1 CCD模塊
采用東芝公司的TCD1206SUP線(xiàn)陣CCD,TCD1206SUP器件是一種典型的雙溝道線(xiàn)陣CCD器件,具有較高的靈敏度和很低的暗電流噪聲,光敏像元數(shù)目為2160,每個(gè)光敏單元的尺寸為14μm、14μm高,中心距亦為14μm,光敏元陣列總長(zhǎng)為30.24 mm。有4檔驅(qū)動(dòng)頻率可以設(shè)定,分別為500 kHz,250 kHz,125 kHz,62.25 kHz。對(duì)外接口采用標(biāo)準(zhǔn)的9針(DB9)連接。其中FC為行同步脈沖信號(hào),其高電平到來(lái)標(biāo)志著一行輸出的開(kāi)始。SP為像元同步脈沖,對(duì)應(yīng)一行中每一個(gè)點(diǎn)的輸出。U0為經(jīng)過(guò)放大輸出的視頻信號(hào),A0~A3為積分時(shí)間設(shè)置端口,+5 V和+12 V為直流電源,GND為地線(xiàn),驅(qū)動(dòng)器的地線(xiàn)與DB9連接口的外殼相連。積分時(shí)間控制信號(hào)A0~A3均為標(biāo)準(zhǔn)TTL電平控制,0000~1111分別控制16檔積分時(shí)間變換;0000時(shí)間最短,1111時(shí)間最長(zhǎng)。
1.2 低通濾波電路
由于CCD輸出的視頻信號(hào)中,混雜有幅度較大的復(fù)位脈沖干擾和攜帶有高頻噪聲信號(hào),為了削弱頻率較高的干擾、噪聲,在CCD與AD轉(zhuǎn)換器之間加一個(gè)二階有源低通濾波電路,濾去高頻干擾信號(hào),以保證硬件電路的系統(tǒng)精度。低通濾波電路如圖1所示。
圖2中的放大器為精密低噪聲運(yùn)算放大器OPA121,它是一個(gè)低成本高速FET場(chǎng)效應(yīng)管差分輸入精密運(yùn)算放大器,差模和共模阻抗都很高。偏置采用共射共基電路,具有很低的輸入偏流,并且有調(diào)零輸出端。片內(nèi)有經(jīng)激光修正、電解質(zhì)絕緣防護(hù)和新的電路設(shè)計(jì),使芯片獲得了極小的偏流噪聲和很低的漂移。OPA121的8腳為芯片基底連接,一般不需要調(diào)零。但是若要調(diào)零,在1、5腳與負(fù)電源接入10 kΩ多圈電位器即可,調(diào)整范圍為±10 mV。在使用時(shí)要對(duì)輸入端適當(dāng)進(jìn)行保護(hù),否則就會(huì)失去運(yùn)放的固有特性。而且電容C的容量不易超過(guò)1μF,因?yàn)榇笕萘康碾娙萜黧w積大,而且價(jià)格高,應(yīng)盡量避免使用。其中電阻R2=R3=R=6.4 kΩ,電容C10=C11=C=0.1pF,這樣計(jì)算出該濾波電路的截止頻率和增益分別如下式:
f-3dB=1/2πRC=250kHz (1)
G=1+(R5/R4)=1.57 (2)
1.3 A/D轉(zhuǎn)換
AD7322是ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉(zhuǎn)換速率是1MSpS、12位的帶符號(hào)的逐次逼近型串行AD。它有以下特點(diǎn):軟件可選的輸入電壓范圍有±10 V,±5 V,±2.5 V,0 V~+10 V;2個(gè)模擬輸入通道,可以配置成單端模擬輸入、真差分模擬輸入、偽差分模擬輸入;低功耗,其最大功耗30 mW;自動(dòng)節(jié)電功能;模擬輸入阻抗高;內(nèi)置2.5 V的參考電壓。
AD7322的功能結(jié)構(gòu)如圖2所示。其中是片選信號(hào),低有效。這個(gè)腳的輸入電平有兩個(gè)功能,一個(gè)是AD7322轉(zhuǎn)換初始化的標(biāo)識(shí),一個(gè)是串行數(shù)據(jù)搬移幀的標(biāo)識(shí)。VIN0、VIN1是模擬輸入通道0和模擬輸入通道1,模擬輸入通道的轉(zhuǎn)換是通過(guò)控制寄存器的通道地址位ADD0來(lái)進(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引腳上的電壓不相同,但是不能超過(guò)VCC電壓的0.3V。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ù)是寫(xiě)到片上寄存器中的數(shù)據(jù),并在SCLK時(shí)鐘的下降沿打入到寄存器中。DOUT是串行數(shù)據(jù)輸出引腳,轉(zhuǎn)換的輸出數(shù)據(jù)以一個(gè)串行數(shù)據(jù)流形式輸出在該引腳上,并且這些數(shù)據(jù)位在輸入SCLK的下降沿被輸出,經(jīng)過(guò)16個(gè)SCLK后才可以訪問(wèn)這些數(shù)據(jù)。這個(gè)數(shù)據(jù)流包含2個(gè)前導(dǎo)0,1個(gè)通道說(shuō)明位,1個(gè)符號(hào)位,12個(gè)轉(zhuǎn)換數(shù)據(jù)位。輸出的數(shù)據(jù)的第一位以高字節(jié)開(kāi)始。SCLK是串行時(shí)鐘輸入,一個(gè)串行時(shí)鐘輸入需要提供給SCLK來(lái)用做從AD7322訪問(wèn)數(shù)據(jù)的時(shí)鐘。這個(gè)時(shí)鐘也用做轉(zhuǎn)換過(guò)程的時(shí)鐘源。
1.4 DSP模塊
DSP芯片采用Ti公司的TMS320VC5509,它是一種高性能、低功耗、定點(diǎn)數(shù)字信號(hào)處理器,其主要特點(diǎn)如下:
1)最高主頻能夠達(dá)到144MHz,指令周期6.94ns。
2)CPU的內(nèi)部總線(xiàn)結(jié)構(gòu)包括一條程序總線(xiàn),三條數(shù)據(jù)讀總線(xiàn),兩條數(shù)據(jù)寫(xiě)總線(xiàn)及用于外設(shè)和DMA控制器的總線(xiàn)。這些總線(xiàn)使得C5509能在一個(gè)時(shí)鐘內(nèi)完成三次數(shù)據(jù)讀操作和兩次數(shù)據(jù)寫(xiě)操作。5509還擁有兩個(gè)乘法累加器(MAC),每個(gè)累加器都能夠在一個(gè)周期內(nèi)執(zhí)行一個(gè)17bitx17bit的乘法運(yùn)算。
3)128 kx16 Bit的片上ROM,包括64 k Bytes的DARAM(8塊,每塊4 kx16 Bit),192K Bytes的SARAM(24塊,每塊4 kxl6 Bit)。
4)64 k Bytes的一等待片上ROM(32 k×16 Bit)。
5)最大可尋址8 Mxl6 Bit的外部存儲(chǔ)空間。16位的外部存儲(chǔ)器擴(kuò)展接口可實(shí)現(xiàn)與異步存儲(chǔ)器件(SRAM、EPROM)和同步存儲(chǔ)器件(SDRAM)的無(wú)縫連接。
6)片上外設(shè)包含:
2個(gè)20 Bit的定時(shí)器;
1個(gè)看門(mén)狗定時(shí)器;
1個(gè)六通道的直接存儲(chǔ)器訪問(wèn)控制器(DMA);
1個(gè)主機(jī)接口(HPI);
3個(gè)多通道緩沖串行口(Mcbsp);
2個(gè)多媒體卡(MMC)或安全數(shù)字存儲(chǔ)卡(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)邊界掃描邏輯。
1.5 A/D轉(zhuǎn)換器和CCD以及DSP的接口設(shè)計(jì)
AD7322在數(shù)據(jù)轉(zhuǎn)換過(guò)程中,采用SCLK引腳上的串行時(shí)鐘用做轉(zhuǎn)換時(shí)鐘和控制從ADC中搬移數(shù)據(jù)的時(shí)鐘。的下降沿使得采樣與保持電路進(jìn)入保持狀態(tài)并使總線(xiàn)為三態(tài)輸出,然后模擬輸入信號(hào)被采樣。一旦轉(zhuǎn)換開(kāi)始,總共需要16個(gè)SCLK時(shí)鐘周期才能完成。在第14個(gè)SCLK的上升沿,采樣與保持電路回到跟蹤模式,在第16個(gè)SCLK的下降沿DOUT腳回到三態(tài)輸出狀態(tài)。如果經(jīng)過(guò)16個(gè)SCLK時(shí)鐘周期,的上升沿到來(lái),則轉(zhuǎn)換被中止,且DOUT腳回到三態(tài)輸出狀態(tài)。根據(jù)在什么時(shí)候信號(hào)的電平變高,被選擇的相應(yīng)寄存器才有可能被更新。具體的串口時(shí)序如圖3所示。
AD7322與CCD、DSP連接的原理框圖如圖4所示。
具體的連接方法是將CCD的行同步信號(hào)FC接入DSP的通用輸入輸出引腳GPI04腳。將CCD的像元同步信號(hào)SP接入DSP的McBSP幀同步輸入腳FSR,控制每一個(gè)像元的采樣與轉(zhuǎn)換。將DSP的幀同步輸出腳FSX腳接入AD7322的CS腳作為A/D芯片的選通信號(hào)。將DSP的McBSP的時(shí)鐘輸出腳CLKX和時(shí)鐘輸入腳CLKR接至AD7322的串行時(shí)鐘SCLK,保證A/D轉(zhuǎn)換器和McBSP工作在同一時(shí)鐘下。將CCD的模擬輸出信號(hào)U0經(jīng)一個(gè)二階有源低通濾波電路濾波并經(jīng)過(guò)一個(gè)雙運(yùn)放OP2177進(jìn)行驅(qū)動(dòng)后的兩個(gè)輸出接入AD7322的兩個(gè)模擬輸入端VIN0和VIN1。將DSP的數(shù)據(jù)輸出引腳DX接入AD73 22的DIN引腳,作為對(duì)ADC的控制信號(hào)。將AD7322的輸出引腳D0與McBSP的數(shù)據(jù)輸入引腳DR相連。另外,本系統(tǒng)中的AD7322的參考電壓用的是ADC內(nèi)部的參考電壓,所以需要在REFIN/OUT引腳要用一個(gè)680 nF的電容去耦到模擬地。
由于在信噪比和諧波失真有嚴(yán)格要求的情況下,AD7322的模擬輸入必須由一個(gè)低阻抗信源驅(qū)動(dòng),高阻抗信源很明顯地影響ADC的交流特性。所以本系統(tǒng)中采用一個(gè)雙運(yùn)放OP2177,OP2177是ADI公司生產(chǎn)的高精度、低偏置、低功耗的集成運(yùn)算放大器,片內(nèi)集成了兩個(gè)運(yùn)放,可靈活的組成各類(lèi)放大和濾波電路。
2 數(shù)據(jù)采集過(guò)程
1)Mcbsp的接收器進(jìn)行復(fù)位操作。
2)根據(jù)需要,對(duì)Mcbsp的寄存器進(jìn)行編程。
3)使能Mcbsp的接收器。
4)檢測(cè)DSP的Gpio4的電平狀態(tài),這里CCD的FC給DSP的Gpio4,一旦Gpio4為高,則說(shuō)明CCD的行同步FC的上升沿到來(lái),也就是說(shuō)CCD的有效像元開(kāi)始輸出了。
5)啟動(dòng)A/D,DSP的Gpio4為高后,等待1μs的時(shí)間,讓FSX腳輸出低電平,選通A/D轉(zhuǎn)換器。
這里等待1μs的原因是A/D的CS變低后,要檢測(cè)FS的電平,而FS的信號(hào)就是SP的信號(hào),當(dāng)FC為高時(shí),SP也同時(shí)為高,且保持1 μs的高電平的時(shí)間,如果不等待1μs的話(huà),CS下降沿檢測(cè)FS不為高,則認(rèn)為A/D沒(méi)有正確進(jìn)入DSP模式,所以為了保證AD能正常進(jìn)入DSP模式,等待1μs后,SP和FS都變?yōu)榈碗娖?,這時(shí)在檢測(cè)FS的電平就能說(shuō)明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脈沖上升沿到來(lái)時(shí)開(kāi)始數(shù)據(jù)采樣與轉(zhuǎn)換。一個(gè)像元的轉(zhuǎn)換輸出數(shù)據(jù)被McBSP接收完畢后,McBSP將發(fā)出一個(gè)接收中斷到CPU,CPU響應(yīng)此中斷后將數(shù)據(jù)從McBSP的緩沖寄存器中讀入存儲(chǔ)器內(nèi)存,然后退出中斷,進(jìn)行下一個(gè)點(diǎn)信號(hào)的接收。我們還需要設(shè)置一個(gè)計(jì)數(shù)變量,在每一次中斷后對(duì)其進(jìn)行加一操作,當(dāng)計(jì)數(shù)變量的值達(dá)到2160時(shí),撤銷(xiāo)選通信號(hào),這樣一個(gè)完整的對(duì)CCD一行的輸出信號(hào)的A/D轉(zhuǎn)換完成。
DSP的CPU或DMA控制器與Mcbsp的通信,是通過(guò)16 Bit的寄存器訪問(wèn)內(nèi)部的外設(shè)總線(xiàn)來(lái)實(shí)現(xiàn)的。Mcbsp的數(shù)據(jù)接收寄存器有2個(gè),DRR1和DRR 2,當(dāng)字長(zhǎ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,也就是說(shuō)CCD的一個(gè)SP就被轉(zhuǎn)換成6個(gè)0+10 Bit的二進(jìn)制數(shù),這樣對(duì)于Mcbsp的一幀來(lái)說(shuō),就CCD的一個(gè)SP。Mcbsp接收完一幀數(shù)據(jù)后,就觸發(fā)中斷,進(jìn)行這一幀數(shù)據(jù)的存儲(chǔ),然后進(jìn)行下一個(gè)SP像元點(diǎn)的采樣轉(zhuǎn)換與傳輸,直到所有的像元采集完畢。
7)關(guān)閉A/D:把DSP的RSX原來(lái)的選通A/D的低電平變?yōu)楦唠娖剑躁P(guān)閉A/D。
3 結(jié)束語(yǔ)
文中以TMS320VC5509 DSP芯片和AD7322模數(shù)轉(zhuǎn)換芯片為例,詳細(xì)討論了數(shù)據(jù)采集系統(tǒng)的關(guān)鍵硬件接口電路設(shè)計(jì)和采集過(guò)程。目前該數(shù)據(jù)采集系統(tǒng)已經(jīng)安裝在一維條碼識(shí)別系統(tǒng)中,實(shí)踐證明,該數(shù)據(jù)采集系統(tǒng)能夠正確采集數(shù)據(jù),達(dá)到了設(shè)計(jì)目的和應(yīng)用要求。