一)引言
電荷耦合器件CCD(chargecoupleddevice)是一種將光信號轉(zhuǎn)換成電信號的圖象傳感器,在工農(nóng)業(yè)生產(chǎn)和日常生活中有著廣泛的運(yùn)用。SPI(serial peripheral interface)是一種串行外設(shè)接口標(biāo)準(zhǔn),可實(shí)現(xiàn)數(shù)據(jù)的高速發(fā)送和接收。利用SPI與線陣CCD接口需要解決時序匹配和高速數(shù)據(jù)采集兩個關(guān)鍵問題。目前有些單片機(jī)內(nèi)嵌了SPI,為解決上述問題創(chuàng)造了條件。如能通過單片機(jī)及內(nèi)嵌SPI實(shí)現(xiàn)與線陣CCD的接口,將能簡化電路,具有較大的實(shí)用價值。
本文簡要介紹了線陣CCD和SPI的工作原理,以TCD1208AP和單片機(jī)內(nèi)嵌SPI為應(yīng)用對象,設(shè)計了SPI與線陣CCD的接口。具體內(nèi)容包括:CCD驅(qū)動電路,CCD輸出信號處理電路和數(shù)據(jù)接收方法。實(shí)驗(yàn)表明接口簡單、可靠,具有較大的實(shí)用價值。
二) CCD工作原理
不同于其它器件是以電流或電壓作為信號,CCD是以電荷作為信號,其基本功能是信號電荷的產(chǎn)生、轉(zhuǎn)移、傳輸和檢測。當(dāng)光線照射到CCD的像敏單元上時,CCD首先完成光電轉(zhuǎn)換,即產(chǎn)生和入射光輻射量成線性關(guān)系的光電荷,進(jìn)而產(chǎn)生與光電荷量成正比的弱電壓信號,然后在轉(zhuǎn)移脈沖的作用下逐位移出,再經(jīng)過外部電路的濾波、放大處理,輸出一個能表示入射光線強(qiáng)弱的電信號。例如TCD1208AP線陣CCD,有2160個有效像元,像元尺寸為14μm×14μm,像元中心距為14μm,典型工作頻率為1MHz,工作時序如圖1所示。
在圖1中,SH是轉(zhuǎn)移脈沖,它將感光元件產(chǎn)生的電荷信號轉(zhuǎn)移到轉(zhuǎn)移柵中;Φ1和Φ2是移位脈沖,它將轉(zhuǎn)移柵當(dāng)中的電荷信號逐位轉(zhuǎn)移出來;RS是復(fù)位信號;DOS是CCD信號輸出;OS是輸出信號補(bǔ)償。
三)SPI工作原理
SPI是MOTOROLA公司推出的一種同步串行外設(shè)接口標(biāo)準(zhǔn),允許MCU與標(biāo)準(zhǔn)的外圍設(shè)備直接接口,以串行方式交換信息。在AT89S8253中就配備了SPI。SPI共有四路信號,它們分別是:SCK(串行時鐘)、SS(從機(jī)選擇)、MOSI(主機(jī)發(fā)送從機(jī)接收)、MISO(主機(jī)接收從機(jī)發(fā)送),其工作時序如圖2所示。與SPI有關(guān)的特殊功能寄存器有控制寄存器SPCR、狀態(tài)寄存器SPSR和數(shù)據(jù)寄存器SPDR。通過對這3組寄存器的編程可以實(shí)現(xiàn)SPI的全雙工同步串行工作。
四)接口設(shè)計
4. 1接口組成
接口主要由CCD驅(qū)動脈沖發(fā)生電路、CCD輸出信號處理電路和數(shù)據(jù)高速采集等部分組成,如圖3所示。
在圖3中,單片機(jī)輸出一基準(zhǔn)時鐘脈沖,由驅(qū)動脈沖發(fā)生電路產(chǎn)生TCD1208AP所需要的4路驅(qū)動信號;CCD輸出的信號送入預(yù)處理電路,經(jīng)過放大、濾波、二值化后送入單片機(jī);單片機(jī)通過SPI中斷將數(shù)據(jù)采集并存儲到SRAM中。
4.2CCD驅(qū)動脈沖發(fā)生電路
為了保證線陣CCD穩(wěn)定可靠的工作,必須給出符合CCD正常工作所要求的驅(qū)動脈沖和控制電路。只有驅(qū)動脈沖與CCD時序正確配合,才能準(zhǔn)確實(shí)現(xiàn)CCD的光電轉(zhuǎn)換和數(shù)據(jù)輸出功能。圖4是采用AT89S8253、74LS122和74LS74設(shè)計的CCD驅(qū)動脈沖電路。
在圖4 中,利用AT89S8253 的內(nèi)部定時器T3的方波發(fā)生器功能從P1. 0腳輸出頻率為1MHz方波信號,作為基準(zhǔn)時鐘脈沖;通過74LS122進(jìn)行占空比調(diào)整,形成RS信號; RS信號經(jīng)過74LS74進(jìn)行2分頻產(chǎn)生0. 5MHz的方波信號,作為Φ1 和Φ2;將RS信號送回單片機(jī)計數(shù)器T0進(jìn)行計數(shù),當(dāng)計數(shù)滿2212時由P1. 1口輸出一清零信號至74LS74清零端,產(chǎn)生Φ1和Φ2所需的寬電平;在產(chǎn)生清零信號的同時從P1. 2口產(chǎn)生一寬度為1000ns的信號作為SH信號; SH信號和Φ1 寬電平之間的相位關(guān)系可通過軟件進(jìn)行調(diào)整。
4. 3CCD輸出信號處理電路
由于TCD1208AP信號檢測采用選通電荷積分器結(jié)構(gòu),其輸出信號中疊加了一些由周期性復(fù)位信號RS引起的串?dāng)_信號,而且有效信號幅值較?。s為500mV) 、直流電壓約有4. 1V。這是一組典型的共模電壓較高、有效差摸信號電壓較低的差分信號。為了消除信號中的復(fù)位脈沖串?dāng)_和其它干擾,須將微弱的信號進(jìn)行幅值放大及驅(qū)動能力放大。圖5是采用AD623的CCD輸出信號處理電路。
在圖5中,AD623集成了三路運(yùn)放,可單電源工作,具有很高的CMRR和極低的電壓漂移,除了一個用于調(diào)節(jié)增益的外接電阻外,所有的元件都集成在內(nèi)部,電路有很高的穩(wěn)定性和可靠性。CCD輸出信號是離散的時間序列模擬信號,包含著光強(qiáng)信息和一維、二維位置信息,具有很高的數(shù)據(jù)速率, 通常每秒100k - 10M 字節(jié), 最高達(dá)每秒20M字節(jié)。根據(jù)CCD應(yīng)用場合的不同,在采集CCD輸出信號前通常還需進(jìn)行處理。主要方法有兩種:一是將CCD 輸出信號進(jìn)行二值化處理; 二是進(jìn)行A /D轉(zhuǎn)換,使之成為具有灰度級的圖象。
對于利用CCD進(jìn)行物體形狀的檢測,為了簡化后續(xù)算法,只將輸出信號進(jìn)行二值化處理。線陣CCD輸出信號硬件二值化處理的方法主要有:固定閥值法、浮動閥值法和微分法等。當(dāng)現(xiàn)場工作環(huán)境良好,干擾較小時,固定閥值法無疑是最佳的選擇。它只需一個電壓比較器,在比較器一端輸入CCD輸出信號,另一端接參考電壓,當(dāng)輸入電壓高于參考電壓時,輸出為高;當(dāng)輸入電壓低于參考電壓時輸出為低電平。只要參考電壓選擇合適,就能達(dá)到系統(tǒng)要求??刹捎酶咚俦容^器MAX941對信號進(jìn)行二值化處理。
4. 4基于SPI的數(shù)據(jù)采集
對AT89S8253的SP I控制寄存器SPCR和狀態(tài)寄存器SPSR編程可以實(shí)現(xiàn)數(shù)據(jù)的準(zhǔn)確接收,其中SPCR控制寄存器共有8個可編程位,定義如表1所示。由圖1可知, RS的每一個下降沿對應(yīng)著一個CCD像元信號的輸出。對于SPI, 若令SPCR 中CPHA = 1, CPOL = 0,則SCK的下降沿接收數(shù)據(jù)。只要SP I的接收同步脈沖SCK和CCD復(fù)位信號RS同步,就可以實(shí)現(xiàn)CCD數(shù)據(jù)的準(zhǔn)確接收。根據(jù)以上的分析,可以將MCU設(shè)為從機(jī)模式,即令MSTR =0。數(shù)據(jù)從MOSI輸入,再利用中斷將接收到的數(shù)據(jù)存入靜態(tài)存儲器SRAM。其中SCK由時序產(chǎn)生電路產(chǎn)生。對SPCR的編程可通過以下匯編語言實(shí)現(xiàn):MOV SPCR, #0C4H。
五)結(jié)束語
通過SP I及所依托的單片機(jī)實(shí)現(xiàn)與CCD線陣的接口是切實(shí)可行的。一是利用單片機(jī)定時器產(chǎn)生基準(zhǔn)時鐘信號;二是使用少量外圍電路結(jié)合單片機(jī)就可以產(chǎn)生線陣CCD所需要的驅(qū)動信號;三是利用SPI即可正確接收線陣CCD輸出的高速圖象數(shù)據(jù)。實(shí)驗(yàn)證明論文所設(shè)計的接口是正確的,能夠滿足應(yīng)用要求,并且結(jié)構(gòu)簡單、易于實(shí)現(xiàn)。當(dāng)然,由于單片機(jī)處理圖象的能力有限,此接口并不完全適用于復(fù)雜圖象的處理。
參考文獻(xiàn):
?。?1 ] 王幸之,鐘愛琴,王雷,等。 AT89系列單片機(jī)原理與接口技術(shù)[M]。北京:北京航空航天大學(xué)出版社, 2004.
?。?2 ] 楊景常。 高速數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)存儲電路的方案確定[J]。 測控技術(shù), 2001, 20 (12) : 42 - 45.
?。?3 ] 楊景常,周國權(quán)。 先進(jìn)先出( FIFO)存儲器技術(shù)在高速數(shù)據(jù)采集中的應(yīng)用[J]。 四川工業(yè)學(xué)院學(xué)報, 2002, 21(2) : 20 - 22.
[ 4 ] 楊景常,劉冬梅。 高速切換開關(guān)技術(shù)在高速數(shù)據(jù)采集電路中的應(yīng)用[J]。 電測與儀表, 2002, 39 (6) : 56 - 59.
評論