摘 要:介紹了CCD驅(qū)動電路的4種常用方式及其優(yōu)缺點,,詳細(xì)闡述了基于高速超微型" title="超微型">超微型單片機C8051F300的CCD驅(qū)動電路設(shè)計,包括內(nèi)部CCD驅(qū)動時序和外部輸出同步信號" title="同步信號">同步信號的產(chǎn)生,、像素輸出電壓的簡單處理以及通過RS232接口在線調(diào)整" title="在線調(diào)整">在線調(diào)整CCD驅(qū)動頻率等,。系統(tǒng)克服了目前單片機方式在CCD驅(qū)動應(yīng)用中存在的一些缺點。
關(guān)鍵詞: C8051F300 CCD TCD1206 可編程" title="可編程">可編程計數(shù)器陣列
CCD作為一種光電轉(zhuǎn)換器件,,由于其具有精度高,、分辨率好,、性能穩(wěn)定等特點,目前廣泛應(yīng)用于圖像傳感和非接觸式測量領(lǐng)域,。在CCD應(yīng)用技術(shù)中,,最關(guān)鍵的兩個問題是CCD驅(qū)動時序的產(chǎn)生和CCD輸出信號的處理。對于CCD輸出信號,,可以根據(jù)CCD像素頻率和輸出信號幅值來選擇合適的片外或片內(nèi)模數(shù)轉(zhuǎn)換器,;而對于CCD驅(qū)動時序,則有幾類常用的產(chǎn)生方法,。
1 常用的CCD驅(qū)動時序產(chǎn)生方法
CCD廠家眾多,,型號各異,其驅(qū)動時序的產(chǎn)生方法也多種多樣,,一般有以下4種:
(1) 數(shù)字電路驅(qū)動方法" title="驅(qū)動方法">驅(qū)動方法
這種方法是利用數(shù)字門電路及時序電路直接構(gòu)建驅(qū)動時序電路,,其核心是一個時鐘發(fā)生器和幾路時鐘分頻器,各分頻器對同一時鐘進行分頻以產(chǎn)生所需的各路脈沖,。該方法的特點是可以獲得穩(wěn)定的高速驅(qū)動脈沖,,但邏輯設(shè)計和調(diào)試比較復(fù)雜,所用集成芯片較多,,無法在線調(diào)整驅(qū)動頻率,。
(2) EPROM 驅(qū)動方法
這種驅(qū)動電路一般在EPROM中事先存放所有的CCD 時序信號數(shù)據(jù),并由計數(shù)電路產(chǎn)生EPROM 的地址使之輸出相應(yīng)的驅(qū)動時序,。該方法結(jié)構(gòu)相對簡單,、運行可靠,但仍需地址產(chǎn)生硬件電路,,所需EPROM 容量較大,,同樣也無法在線調(diào)整驅(qū)動頻率。
(3) 微處理器驅(qū)動方法
這種方法利用單片機或DSP通過程序直接在I/O口上輸出所需的各路驅(qū)動脈沖,,硬件簡單,、調(diào)試方便、可在線調(diào)整驅(qū)動頻率,。但由于是依靠程序來產(chǎn)生時序,,如果程序設(shè)計不合理,會造成時序不均勻,;而且往往會造成微處理器資源浪費,;通常驅(qū)動頻率不高,除非采用高速微處理器,。
(4) 可編程邏輯器件驅(qū)動方法
這種設(shè)計方法就是利用CPLD,、FPGA等可編程邏輯器件來產(chǎn)生時序驅(qū)動信號,硬件簡單,、調(diào)試方便,、可靠性好,,而且可以得到較高的驅(qū)動頻率,同樣也可在線調(diào)整驅(qū)動頻率,。電路設(shè)計完成以后,,如果想更改驅(qū)動時序,只需將器件內(nèi)部邏輯重新編程即可,。
以上4類方法中目前常用的是微處理器驅(qū)動方法(通常又稱為“軟件驅(qū)動”法)和可編程邏輯器件驅(qū)動方法(又稱“硬件驅(qū)動”法),。由于在CCD應(yīng)用系統(tǒng)中,一般都要用到微處理器,,所以若采用“軟件驅(qū)動”法,,則無需增加硬件,在電路結(jié)構(gòu)上最為簡單,,系統(tǒng)成本也最低,,因此,,只要能克服其驅(qū)動頻率低,、資源浪費多、時序不均勻等缺點,,無疑是一種理想的驅(qū)動方法,。本文結(jié)合Toshiba 公司的TCD1206 線陣CCD,介紹如何利用C8051F300來產(chǎn)生其要求的驅(qū)動時序,。
2 硬件設(shè)計
如圖1所示,,虛線框內(nèi)的電路構(gòu)成CCD驅(qū)動處理板,安裝在CCD相機內(nèi)部,。系統(tǒng)處理器采用美國Silabs公司推出的超微型高速8位單片機C8051F300 [1],,CCD采用Toshiba公司的高靈敏度線陣CCD圖像傳感器芯片TCD1206[2],雙電壓供電的總線驅(qū)動器 LVC4245 [ 3]解決了單片機(3.3V)和CCD(5V)二者之間的電平匹配,。CCD驅(qū)動脈沖由C8051F300提供,,其像素輸出電壓經(jīng)高速運放AD8031[4]處理,由Uo引腳引到外部,,同時向外部提供像素同步信號PS和行同步信號FS(由P0.6,、P0.7經(jīng)LVT245總線驅(qū)動器[5]所得)。
Uo,、PS,、FS這3個信號供外部處理器采集CCD像元輸出。另外,,有時可能要在線調(diào)整CCD的某些參數(shù)(如驅(qū)動頻率,、積分時間等),為此設(shè)置了RS232串口與外部處理器進行通信,。
2.1 TCD1206
TCD1206是Toshiba 公司生產(chǎn)的高靈敏度二相雙溝道線陣CCD圖像傳感器芯片,,2160個有效像素點,,像素頻率為0.3~2MHz(本系統(tǒng)為1MHz),其驅(qū)動時序波形如圖2所示,。
圖2中:Φ1,、Φ2為像素脈沖,兩者互為反相,,RS為復(fù)位脈沖,,SH為光積分脈沖,OS為像元輸出,,DOS為像元補償輸出,。當(dāng)SH為低電平時,在Φ1,、Φ2交變后,,OS輸出像元電壓信號,隨后發(fā)RS脈沖,,以便去掉信號輸出緩沖中的殘余電荷,,為下一點像素電壓輸出做準(zhǔn)備。各脈沖具體時序關(guān)系可參見參考文獻[2],。
2.2 C8051F300
C8051F系列單片機其CPU內(nèi)核采用流水線結(jié)構(gòu),,機器周期由標(biāo)準(zhǔn)8051的12個系統(tǒng)時鐘周期降為1個系統(tǒng)時鐘周期,使其執(zhí)行速度在相同晶振下是標(biāo)準(zhǔn)8051的12倍,,處理能力大大提高,,大部分C8051F單片機的峰值處理速度是25MIPS,而C8051F12X,、13X系列的峰值處理速度則達到了100MIPS,。C8051F系列單片機功能齊全,性能優(yōu)異,,其整體性能超過很多目前的16位單片機,,甚至在一些低端應(yīng)用中可取代低速的16位DSP器件,目前在儀器儀表,、工業(yè)控制,、嵌入式產(chǎn)品等領(lǐng)域日益得到廣泛應(yīng)用。
C8051F300是C8051F系列中的超微型高速混合系統(tǒng)級單片機,,是目前世界上最小封裝的8位單片機,,11個引腳,封裝在面積為3mm×3mm的芯片上,。內(nèi)部集成了3個16位定時器,、3個可編程捕捉/比較模塊、1個UART串口、1個I2C串口,、1個8通道500KSPS采樣率的8位ADC,、8KB的Flash程序存儲器、256B的內(nèi)部RAM,、8個I/O口,,系統(tǒng)內(nèi)部振蕩時鐘為24.5MHz(±2%)、最大峰值處理速度可達25MIPS,。
由圖2可見,,在4路CCD驅(qū)動脈沖中,對時序要求嚴(yán)格的是Φ1,、Φ2和RS,,為此,利用C8051F300的可編程計數(shù)器陣列模塊的2個可編程捕捉/比較模塊輸出口(CEX0,、CEX1)自動產(chǎn)生Φ1,、Φ2,以CEX0為基準(zhǔn)點,,再產(chǎn)生RS和其他脈沖,。
2.3 可編程計數(shù)器陣列(PCA)
PCA提供增強的定時器功能,由一個專用的16位計數(shù)器/定時器和3個16位捕捉/比較模塊組成,,每個捕捉/比較模塊有其自己的I/O口(CEXn,,n=1,2,3)。計數(shù)器/定時器的時基信號可在6個時鐘源中選擇:系統(tǒng)時鐘,、系統(tǒng)時鐘/4、系統(tǒng)時鐘/12,、外部振蕩器時鐘/8,、定時器0溢出或ECI輸入引腳上的外部時鐘信號。而每個捕捉/比較模塊都可以被獨立配置為6種工作方式之一:邊沿觸發(fā)捕捉,、軟件定時器,、高速輸出、頻率輸出,、8位PWM和16位PWM,。
由于Φ1、Φ2(對應(yīng)CEX0,、CEX1)是占空比為50%的方波,,所以捕捉/比較模塊0、1工作在頻率輸出方式,,這種工作方式可在CEXn引腳產(chǎn)生可編程頻率的方波,,其工作原理圖如圖3所示。當(dāng)PCA計數(shù)器低字節(jié)與捕捉/比較寄存器低字節(jié)相同即PCA0L=PCA0CPLn時,稱為“比較匹配”,,此時CEXn引腳電平翻轉(zhuǎn),,同時捕捉/比較寄存器高字節(jié)即PCA0L與PCA0CPHn相加后的結(jié)果送入PCA0CPLn,以便下一次比較用,。顯然,,只要改變PCA0CPHn的值,便可在CEXn引腳上得到頻率可調(diào),、占空比為50%的方波,,其頻率由下式定義:
fCEXn = fPCA/(2×PCA0CPHn),
其中:fPCA是PCA計數(shù)器/定時器的時鐘頻率,。
3 軟件設(shè)計
為了得到時序嚴(yán)格的CCD驅(qū)動脈沖和外部輸出同步脈沖,,程序不是靠軟件延時來達到合適寬度的脈沖,而是利用PCA模塊本身強大的功能,,用中斷程序來完成各路脈沖,,即開放捕捉/比較模塊0的“比較匹配”中斷作為同步信號,并以此為基準(zhǔn)點完成相應(yīng)脈沖的每一次變化,。
3.1 CCD驅(qū)動脈沖
PCA的2個捕捉/比較模塊工作方式設(shè)置為如圖4所示的頻率輸出方式,。其輸出引腳CEX0、CEX1的初始電平設(shè)置為1,、0,,當(dāng)PCA0L與PCA0CPLn(n=0、1)“比較匹配”時,,電平翻轉(zhuǎn),,由此形成反相的Φ1、Φ2脈沖,;而RS脈沖的產(chǎn)生,,則是在捕捉/比較模塊0 的“比較匹配”中斷程序中,即先對RS(P0.2)置1,,隨后清零,,這樣就可產(chǎn)生80ns的RS脈沖(SETB bit指令周期為2個時鐘周期,即80ns),。
3.2 外部輸出同步脈沖及像素電壓
行同步信號FS,、像素同步信號PS均設(shè)置為低電平有效,CCD時序中Φ1,、Φ2交變后直到像素電壓輸出有一個延遲時間tdly(典型值為150ns),,但由于捕捉/比較模塊0“比較匹配”時,一方面CEX0(Φ1)翻轉(zhuǎn),,一方面向CPU請求中斷,,而中斷響應(yīng)時間需5個時鐘周期(200ns),顯然大于tdly,所以進入中斷后,,不必考慮tdly,,可直接對PS(P0.6)清零,待合適的時間后再將PS置1,,這樣就產(chǎn)生一個低電平有效的PS信號,。
CCD像素輸出OS、DOS經(jīng)高速運放AD8031處理后,,其外部輸出像素電壓Uo時序如圖4所示,。
針對單片機在CCD時序驅(qū)動應(yīng)用中存在的優(yōu)缺點,選用新型高速C8051F單片機,,實現(xiàn)CCD驅(qū)動電路,,克服了單片機驅(qū)動方式存在的驅(qū)動頻率低、系統(tǒng)資源浪費,、時序間隔不均勻等缺點,;具有硬件結(jié)構(gòu)簡單、調(diào)試編程方便,、可在線調(diào)整驅(qū)動頻率等優(yōu)點,。本文所介紹的驅(qū)動電路己應(yīng)用于TCD1206,超微型的封裝結(jié)構(gòu)使其很容易與其他芯片一起嵌入在CCD相機中,,系統(tǒng)運行可靠,。
參考文獻
1 C8051F300/1/2/3/4/5 Mixed-signal ISP flash MCU family.Silicon Laboratories,2003
2 Toshiba CCD linear image sensor TCD1206 data manual.Toshiba,,2001
3 SN74LVC4245 Octal bus transceiver and 3.3V to 5V shifter data manual.Texas Instruments,,1997
4 AD8031/8032 Data manual.Analog Device,1999
5 SN74LVT245 Octal bus transceiver data manual. Texas Ins-truments,,1998
6 潘琢金,,施國君.C8051FXXX高速SOC單片機原理及應(yīng)用.
北京:北京航空航天大學(xué)出版社,2002
7 潘琢金,,孫德龍.C8051F單片機應(yīng)用解析.北京:北京航空航天大學(xué)出版社,2002
8王慶有.CCD應(yīng)用技術(shù).天津:天津大學(xué)出版社,,2000