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