高峰
(西安工業大學 北方信息工程學院,陜西 西安 710025)
在以DSP為主的嵌入式應用系統中,經常用到前端數據采集單元,在該單元中對所采集的信號進行濾波,然后經過A/D轉換器進行模數轉換,最后將采集到的信號傳入DSP芯片中。這里給出了一種采用TI公司的C5000系列定點DSP芯片TMS320VC5509和ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉換速率是1MSpS、12位的帶符號的逐次逼近型串行AD7322的數據采集系統。
采用東芝公司的TCD1206SUP線陣CCD,TCD1206SUP器件是一種典型的雙溝道線陣CCD器件,具有較高的靈敏度和很低的暗電流噪聲[1],光敏像元數目為2 160,每個光敏單元的尺寸為 14 μm、14 μm 高,中心距亦為 14 μm,光敏元陣列總長為30.24 mm[2]。有4檔驅動頻率可以設定,分別為500 kHz,250 kHz,125 kHz,62.25 kHz。 對外接口采用標準的9針(DB9)連接。其中FC為行同步脈沖信號,其高電平到來標志著一行輸出的開始。SP為像元同步脈沖,對應一行中每一個點的輸出。U0為經過放大輸出的視頻信號,A0~A3為積分時間設置端口,+5 V和+12 V為直流電源,GND為地線,驅動器的地線與DB9連接口的外殼相連。積分時間控制信號A0~A3均為標準TTL電平控制,0000~1111分別控制 16檔積分時間變換;0000時間最短,1111時間最長。
由于CCD輸出的視頻信號中,混雜有幅度較大的復位脈沖干擾和攜帶有高頻噪聲信號,為了削弱頻率較高的干擾、噪聲,在CCD與AD轉換器之間加一個二階有源低通濾波電路,濾去高頻干擾信號,以保證硬件電路的系統精度。低通濾波電路如圖1所示。

圖1 低通濾波電路Fig.1 Low-pass filter circuit
圖2中的放大器為精密低噪聲運算放大器OPA121,它是一個低成本高速FET場效應管差分輸入精密運算放大器,差模和共模阻抗都很高。偏置采用共射共基電路,具有很低的輸入偏流,并且有調零輸出端[3]。片內有經激光修正、電解質絕緣防護和新的電路設計,使芯片獲得了極小的偏流噪聲和很低的漂移[4]。OPA121的8腳為芯片基底連接,一般不需要調零。但是若要調零,在1、5腳與負電源接入10 kΩ多圈電位器即可,調整范圍為±10 mV。在使用時要對輸入端適當進行保護,否則就會失去運放的固有特性。而且電容C的容量不易超過1 μF,因為大容量的電容器體積大,而且價格高,應盡量避免使用。其中電阻R2=R3=R=6.4 kΩ,電容C10=C11=C=0.1 pF,這樣計算出該濾波電路的截止頻率和增益分別如下式:

AD7322是ADI Device公司的2通道的、軟件可選的、雙極性輸入的、最高轉換速率是1MSpS、12位的帶符號的逐次逼近型串行AD[5]。它有以下特點:軟件可選的輸入電壓范圍有±10 V,±5 V,±2.5 V,0 V~+10 V;2 個模擬輸入通道, 可以配置成單端模擬輸入、真差分模擬輸入、偽差分模擬輸入;低功耗,其最大功耗30 mW;自動節電功能;模擬輸入阻抗高;內置2.5 V的參考電壓。
AD7322的功能結構如圖2所示。其中CS是片選信號,低有效。這個腳的輸入電平有兩個功能,一個是AD7322轉換初始化的標識,一個是串行數據搬移幀的標識。VIN0、VIN1是模擬輸入通道0和模擬輸入通道1,模擬輸入通道的轉換是通過控制寄存器的通道地址位ADD0來進行選擇。如前文所述,輸入通道可以接收±10 V,±5 V,±2.5 V的雙極性電壓輸入,也可以接收0~+10 V范圍的單極性電壓輸入。VSS是為模擬輸入部件提供的負極性電壓,VDD是為模擬輸入部件提供的正極性電壓。VCC是提供給AD7322片上的ADC的核心電壓2.7~5.25 V,該端去耦到模擬地。VDRIVE提供輸入的邏輯電壓,這個電壓決定了片上接口工作的電壓范圍,該引腳去耦到數字地,而且該電壓可能與VCC引腳上的電壓不相同,但是不能超過VCC電壓的0.3 V。REFIN/OUT是輸入輸出參考電壓,AD7322包含一個2.5 V的內部參考電壓,當選用內部參考電壓時,在這個引腳上要放置一個680nF的電容,當使用外部參考電壓時,內部參考電壓失效。DIN是數據輸入引腳,該引腳上的數據是寫到片上寄存器中的數據,并在SCLK時鐘的下降沿打入到寄存器中。DOUT是串行數據輸出引腳,轉換的輸出數據以一個串行數據流形式輸出在該引腳上,并且這些數據位在輸入SCLK的下降沿被輸出,經過16個SCLK后才可以訪問這些數據。這個數據流包含2個前導0,1個通道說明位,1個符號位,12個轉換數據位。輸出的數據的第一位以高字節開始。SCLK是串行時鐘輸入,一個串行時鐘輸入需要提供給SCLK來用做從AD7322訪問數據的時鐘。這個時鐘也用做轉換過程的時鐘源。

圖2 AD7322的功能結構圖Fig.2 Functional structure of AD7322
DSP芯片采用Ti公司的TMS320VC5509,它是一種高性能、低功耗、定點數字信號處理器,其主要特點[6]如下:
1)最高主頻能夠達到144 MHz,指令周期6.94 ns。
2)CPU的內部總線結構包括一條程序總線,三條數據讀總線,兩條數據寫總線及用于外設和DMA控制器的總線。這些總線使得C5509能在一個時鐘內完成三次數據讀操作和兩次數據寫操作。5509還擁有兩個乘法累加器(MAC),每個累加器都能夠在一個周期內執行一個17bit×17bit的乘法運算。
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位的外部存儲器擴展接口可實現與異步存儲器件(SRAM、EPROM)和同步存儲器件(SDRAM)的無縫連接。
6)片上外設包含:
2個20 Bit的定時器;
1個看門狗定時器;
1個六通道的直接存儲器訪問控制器(DMA);
1 個主機接口(HPI);
3個多通道緩沖串行口(Mcbsp);
2個多媒體卡(MMC)或安全數字存儲卡(SD Card);
1個可編程的數字鎖相環時鐘發生器;
7個通用輸入輸出口(GPIO)和1個外部標志輸出引腳(XF);
1個通用串行USB接口(12 Mbps);
1個內部集成電路模塊(I2C);
1 個實時時鐘(RTC);
1個兩通道的10Bit的逐次逼近式模數轉換器(ADC)。7)JTAG仿真接口,符合IEEE1941.1標準(JTAG)邊界掃描邏輯。
AD7322在數據轉換過程中,采用SCLK 引腳上的串行時鐘用做轉換時鐘和控制從ADC中搬移數據的時鐘。CS的下降沿使得采樣與保持電路進入保持狀態并使總線為三態輸出,然后模擬輸入信號被采樣。一旦轉換開始,總共需要16個SCLK時鐘周期才能完成。在第14個SCLK的上升沿,采樣與保持電路回到跟蹤模式,在第16個SCLK的下降沿DOUT腳回到三態輸出狀態。如果經過16個SCLK時鐘周期,的上升沿到來,則轉換被中止,且DOUT腳回到三態輸出狀態。根據在什么時候信號的電平變高,被選擇的相應寄存器才有可能被更新。具體的串口時序如圖3所示。

圖3 AD7322串口時序圖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,控制每一個像元的采樣與轉換。將DSP的幀同步輸出腳FSX腳接入AD7322的腳作為A/D芯片的選通信號。將DSP的McBSP的時鐘輸出腳CLKX和時鐘輸入腳CLKR接至AD7322的串行時鐘SCLK,保證A/D轉換器和McBSP工作在同一時鐘下。將CCD的模擬輸出信號U0經一個二階有源低通濾波電路濾波并經過一個雙運放OP2177進行驅動后的兩個輸出接入AD7322的兩個模擬輸入端VIN0和VIN1。將DSP的數據輸出引腳DX接入AD7322的DIN引腳,作為對ADC的控制信號。將AD7322的輸出引腳DO與McBSP的數據輸入引腳DR相連。另外,本系統中的AD7322的參考電壓用的是ADC內部的參考電壓,所以需要在REFIN/OUT引腳要用一個680 nF的電容去耦到模擬地。
由于在信噪比和諧波失真有嚴格要求的情況下,AD7322的模擬輸入必須由一個低阻抗信源驅動,高阻抗信源很明顯地影響ADC的交流特性。所以本系統中采用一個雙運放OP2177,OP2177是ADI公司生產的高精度、低偏置、低功耗的集成運算放大器,片內集成了兩個運放,可靈活的組成各類放大和濾波電路。
1)Mcbsp的接收器進行復位操作。
2)根據需要,對Mcbsp的寄存器進行編程。
3)使能Mcbsp的接收器。
4)檢測DSP的Gpio4的電平狀態,這里CCD的FC給DSP的Gpio4,一旦Gpio4為高,則說明CCD的行同步FC的上升沿到來,也就是說CCD的有效像元開始輸出了。
5)啟動 A/D,DSP 的 Gpio4 為高后,等待 1 μs的時間,讓FSX腳輸出低電平,選通A/D轉換器。
這里等待1 μs的原因是A/D的CS變低后,要檢測FS的電平,而FS的信號就是SP的信號,當FC為高時,SP也同時為高,且保持1 μs的高電平的時間,如果不等待1us的話,CS下降沿檢測FS不為高,則認為A/D沒有正確進入DSP模式,所以為了保證AD能正常進入DSP模式,等待1 μs后,SP和FS都變為低電平,這時在檢測FS的電平就能說明AD進入 DSP模式了,而SP的占空比是1:7,也就是 SP和FS在下一次變高時還有7 μs的低電平時間,這個7 μs足以保證DSP正確鎖定在DSP模式下。
6)采集數據:選通A/D轉換器后,在SP脈沖上升沿到來時開始數據采樣與轉換。一個像元的轉換輸出數據被McBSP接收完畢后,McBSP將發出一個接收中斷到CPU,CPU響應此中斷后將數據從McBSP的緩沖寄存器中讀入存儲器內存,然后退出中斷,進行下一個點信號的接收。我們還需要設置一個計數變量,在每一次中斷后對其進行加一操作,當計數變量的值達到2160時,撤銷選通信號,這樣一個完整的對CCD一行的輸出信號的A/D轉換完成。
DSP[7]的CPU或DMA控制器與Mcbsp的通信,是通過16 Bit的寄存器訪問內部的外設總線來實現的。Mcbsp的數據接收寄存器有2個,DRR1和DRR2,當字長小于16 Bit時使用DRR1。把Mcbsp要傳輸的串行字定義成為16 Bit(剛好是10 Bit A/D轉換數據出的6個0+10 bit二進制數),并自行定義Mcbsp傳輸數據的一幀就是16 Bit,也就是說CCD的一個SP就被轉換成6個0+10 Bit的二進制數,這樣對于Mcbsp的一幀來說,就CCD的一個SP。Mcbsp接收完一幀數據后,就觸發中斷,進行這一幀數據的存儲,然后進行下一個SP像元點的采樣轉換與傳輸,直到所有的像元采集完畢。
7)關閉 A/D:把 DSP的 RSX原來的選通A/D的低電平變為高電平,以關閉A/D。
文中以TMS320VC5509 DSP芯片和AD7322模數轉換芯片為例,詳細討論了數據采集系統的關鍵硬件接口電路設計和采集過程。目前該數據采集系統已經安裝在一維條碼識別系統中,實踐證明,該數據采集系統能夠正確采集數據,達到了設計目的和應用要求。
[1]蔡文貴,李永遠,許振華.CCD技術及應用[M].天津:天津大學出版社,1992.
[2]Toshibia.TCD1206 SUP [EB/OL].(2002-12-26).[2010-10-15].http://www.semicon.toshiba.co.jp.
[3]楊鎮江,蔡德芳.新型集成電路使用指南與典型應用[M].西安:西安電子科技大學出版社,1998.
[4]楊鎮江,孫占彪,王曙梅,等.智能儀器與數據采集系統中的新器件及應用[M].西安:西安電子科技大學出版社,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的高速中頻采樣信號處理平臺的實現[J].現代電子技術,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.