《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的線陣CCD驅(qū)動設(shè)計(jì)
基于51單片機(jī)的線陣CCD驅(qū)動設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2013年第12期
唐亞軍1,2,,郭喜慶1,,楊敬嫻1,2,,等
(1.中國科學(xué)院 光電研究院,,北京100094;2.中國科學(xué)院大學(xué),,北京100090)
摘要: 通過STC89C52單片機(jī)平臺,,以4路驅(qū)動信號的TCD1208AP和6路驅(qū)動信號的TCD1501D為例,采用分割法對驅(qū)動信號進(jìn)行了分析與編碼。根據(jù)線陣CCD驅(qū)動信號數(shù)量的不同,,分別采用單周期和雙周期指令完成了驅(qū)動時序的編程實(shí)現(xiàn)和實(shí)驗(yàn)驗(yàn)證,。該方法應(yīng)用高執(zhí)行效率的51匯編指令,驅(qū)動信號頻率高,、穩(wěn)定性好,,充分發(fā)揮了單片機(jī)和線陣CCD的綜合性能。
Abstract:
Key words :

摘  要: 通過STC89C52單片機(jī)平臺,,以4路驅(qū)動信號的TCD1208AP和6路驅(qū)動信號的TCD1501D為例,,采用分割法對驅(qū)動信號進(jìn)行了分析與編碼。根據(jù)線陣CCD驅(qū)動信號數(shù)量的不同,,分別采用單周期和雙周期指令完成了驅(qū)動時序的編程實(shí)現(xiàn)和實(shí)驗(yàn)驗(yàn)證,。該方法應(yīng)用高執(zhí)行效率的51匯編指令,驅(qū)動信號頻率高,、穩(wěn)定性好,,充分發(fā)揮了單片機(jī)和線陣CCD的綜合性能。
關(guān)鍵詞: 線陣CCD,;單片機(jī)驅(qū)動,;分割法;STC89C52,;TCD1208AP,;TCD1501D

    近年來,隨著半導(dǎo)體技術(shù)和大規(guī)模集成電路的發(fā)展,,CCD圖像傳感器在功耗,、分辨率和動態(tài)范圍等方面取得了巨大的進(jìn)步。目前,,CCD圖像傳感器非接觸式測量技術(shù)已廣泛應(yīng)用于尺寸測量,、圖像傳感、機(jī)器視覺,、文字掃描等領(lǐng)域[1],。
    線陣CCD驅(qū)動信號是一組關(guān)系復(fù)雜的周期性脈沖信號,它是決定信號積分時間,、信噪比的關(guān)鍵因素,。目前,線陣CCD的驅(qū)動電路主要包括專用集成電路驅(qū)動,、EPROM驅(qū)動,、可編程邏輯器件驅(qū)動、單片機(jī)驅(qū)動等[2],?;趩纹瑱C(jī)的線陣CCD驅(qū)動擴(kuò)展性強(qiáng),、功耗小、應(yīng)用成本低,,應(yīng)用前景廣闊,。單片機(jī)驅(qū)動設(shè)計(jì)中,難免要使用轉(zhuǎn)移指令,,但是由于單片機(jī)的轉(zhuǎn)移指令,、位操作和端口賦值指令的指令周期不同及驅(qū)動信號的復(fù)雜性,如果驅(qū)動時序設(shè)計(jì)不當(dāng),,將難以滿足CCD驅(qū)動時序的高頻率和穩(wěn)定性要求,。因此,關(guān)于單片機(jī)線陣CCD驅(qū)動時序分析和設(shè)計(jì)方法的研究具有深刻的意義,。
1 線陣CCD驅(qū)動設(shè)計(jì)
    51系列單片機(jī)具有低功耗,、擴(kuò)展靈活、控制穩(wěn)定等特點(diǎn),,是目前應(yīng)用最廣泛的單片機(jī),。因此,本文將利用STC89C52單片機(jī)進(jìn)行線陣CCD驅(qū)動設(shè)計(jì)的研究,。
    CCD圖像傳感器采用光電效應(yīng),,以感應(yīng)電荷為信號,在特定驅(qū)動脈沖作用下,,實(shí)現(xiàn)信號電荷的存儲和定向轉(zhuǎn)移[3],。線陣CCD驅(qū)動設(shè)計(jì)中,所采用指令的指令周期決定了線陣CCD的驅(qū)動頻率的大小,。具體采用單周期指令還是多周期指令取決于線陣CCD驅(qū)動信號的路數(shù)和驅(qū)動信號間的關(guān)系,。
1.1 線陣CCD的驅(qū)動信號
    線陣CCD在驅(qū)動時序作用下完成了信號電荷的存儲、轉(zhuǎn)移和輸出,。線陣CCD的驅(qū)動信號包括轉(zhuǎn)移脈沖(SH),、時鐘脈沖(Q1,Q2),、復(fù)位脈沖(RS),,部分線陣CCD還包括采樣保持脈沖(SP)和門限脈沖(CP)。本文以東芝4驅(qū)動TCD1208AP和6驅(qū)動TCD1501D線陣 CCD為例,,研究基于51單片機(jī)的線陣CCD的驅(qū)動設(shè)計(jì),。

    TCD1208AP采用幀輸出方式,每幀信號對應(yīng)1 106個時鐘脈沖,。利用51單片機(jī)計(jì)數(shù)器對時鐘脈沖Q2的下降沿計(jì)數(shù),,當(dāng)計(jì)數(shù)達(dá)到1 106時,,利用中斷方式產(chǎn)生轉(zhuǎn)移脈沖SH,。單片機(jī)與TCD1208AP間的接口關(guān)系如圖1所示,。圖4是TCD1208AP 4路驅(qū)動信號的狀態(tài)轉(zhuǎn)換圖。

    由圖4可知,,除去SH中斷狀態(tài)外,,TCD1208AP驅(qū)動信號共有8種狀態(tài)。Q1和Q2相位相反,,周期是RS的2倍,,SH由計(jì)數(shù)中斷產(chǎn)生。程序設(shè)計(jì)中,,采用位操作指令和自加自減指令實(shí)現(xiàn)信號間轉(zhuǎn)換,;驅(qū)動信號的周期切換采用JBC跳轉(zhuǎn)指令通過RS信號的檢測實(shí)現(xiàn)循環(huán)。JBC指令尋址位為1轉(zhuǎn)移,,選擇RS為檢測位,,需對狀態(tài)轉(zhuǎn)移圖中的信號編碼進(jìn)行取反操作。這樣實(shí)現(xiàn)了驅(qū)動信號的轉(zhuǎn)換均在單周期指令操作,,與雙周期指令相比,,驅(qū)動頻率提高了一倍。核心程序如下:
    MOV P1,#0xFA    ,;驅(qū)動信號的初始狀態(tài)
LOOP:                ,;驅(qū)動信號8狀態(tài)間的循環(huán)程序段
    SETB P1^2
    DEC P1
    NOP
    CLR P1^2
    SETB P1^2
    INC P1
    JBC    P1^2,LOOP
CT0:                ;轉(zhuǎn)移脈沖SH中斷處理程序
    CLR P1^3
    MOV TH0,#0xFB    ,;TH0=(65536-2538)/256
    MOV TL0,#0xAE    ,;TL0=(65536-2538)%256
    SETB P1^3
    RETI

    TCD1501D驅(qū)動信號設(shè)計(jì)中,采用分割法,,在保持RS占空比為1:4的條件下,,8等分分割TCD1501的電荷轉(zhuǎn)移脈沖信號Q1和Q2,形成驅(qū)動信號間的關(guān)系如圖6所示,。

    由圖7可知,,TCD1501D增加了兩路信號CP和SP,驅(qū)動信號間的變換至少包含兩路信號的變換,,無法再僅采用單周期自加自減指令和位操作指令控制單片機(jī)I/O口產(chǎn)生驅(qū)動信號,,只能選擇雙周期的I/O端口數(shù)據(jù)傳送指令進(jìn)行TCD1501D驅(qū)動設(shè)計(jì),核心程序如下:
LOOP:                ,;驅(qū)動信號8狀態(tài)間的循環(huán)程序段
    MOV P1,0xD9
    MOV P1,0xD5
    MOV P1,0xDE
    MOV P1,0xCE
    MOV P1,0xDA
    MOV P1,0xD6
    MOV P1,0xDD
    JBC    P1^4,LOOP
CT0:                ,;轉(zhuǎn)移脈沖SH中斷處理程序
    SETB P1^5
    MOV TH0,#0xF6    ;TH0=(65536-2538)/256
    MOV TL0,#0x14    ,;TL0=(65536-2538)%256
    CLR P1^5
    RETI
    當(dāng)晶振頻率相同時,,與TCD1208AP相比,TCD1501D的驅(qū)動頻率降低一半,,但這不影響多數(shù)非接觸式測量的應(yīng)用要求,。由上述兩例驅(qū)動設(shè)計(jì)過程可知,,根據(jù)CCD驅(qū)動信號數(shù)量的不同和驅(qū)動信號的時序關(guān)系設(shè)計(jì)驅(qū)動程序,能最大限度地提高信號的驅(qū)動頻率,,充分發(fā)揮單片機(jī)驅(qū)動的優(yōu)勢,。
2 實(shí)驗(yàn)結(jié)果分析
    STC89C52是 51單片機(jī)中性價比極高的一款單片機(jī),最高工作頻率為35 MHz,,6T/12T雙工模式可選,,作為線陣CCD驅(qū)動,其能滿足應(yīng)用對象對高速度,、低功耗的要求,。
    本文選擇STC89C52單片機(jī)作為試驗(yàn)平臺,采用keil C51平臺驗(yàn)證所設(shè)計(jì)的時序的正確性,。試驗(yàn)中,,采用24 MHz晶振作為STC89C52外部晶振,選用6T雙倍速工作模式,,內(nèi)部機(jī)器周期0.25 ?滋s,。該條件下,TCD1208AP和TCD1501D的時鐘脈沖頻率分別達(dá)到了0.5 MHz和0.25 MHz的正常工作要求,。圖8和圖9是實(shí)際測量的時序圖,。
    由圖8和圖9可知,當(dāng)轉(zhuǎn)移脈沖計(jì)數(shù)發(fā)生中斷時,,轉(zhuǎn)移脈沖SH發(fā)生跳變,,說明采集完一幀圖像數(shù)據(jù)。注意,,SH的高電平保持時間必須小于Q1高電平保持時間,。實(shí)際應(yīng)用中,CCD各信號需滿足特定的時間參數(shù)要求,。表1和表2是TCD1208AP和TCD1501D理論時間參數(shù)和實(shí)驗(yàn)測量參數(shù)的對照表,,表中時間符號分別與圖2和圖5中的時間符號相對應(yīng)。

 

 

    可以看出,,實(shí)測參數(shù)均滿足理論值要求,。TCD1501D的RS脈沖寬度是TCD1208AP的RS脈沖寬度的2倍,充分說明驅(qū)動信號單周期指令運(yùn)行速度是雙周期指令的2倍,。因此,,根據(jù)線陣CCD驅(qū)動信號數(shù)量的不同和驅(qū)動信號的關(guān)系,合理采用分割法對信號進(jìn)行分析和編碼,,科學(xué)選擇單周期指令和雙周期指令,,能充分發(fā)揮單片機(jī)和線陣CCD的綜合性能,提高驅(qū)動信號的頻率和穩(wěn)定性,。目前該設(shè)計(jì)方法在某型號精密位置校正裝置的CCD模塊中得到成功應(yīng)用,。
    本文采用51單片機(jī)作為線陣CCD的驅(qū)動控制器,,很好地滿足了CCD驅(qū)動強(qiáng)擴(kuò)展性、高速度,、低功耗的應(yīng)用要求,。設(shè)計(jì)中,,根據(jù)線陣CCD驅(qū)動信號數(shù)量和信號關(guān)系的不同,,采用分割法對驅(qū)動時序進(jìn)行了分析和編碼,利用51匯編指令完成驅(qū)動時序的科學(xué)編程,,完成線陣CCD驅(qū)動時序的設(shè)計(jì),。利用STC89C52單片機(jī),以4路和6路線陣CCD驅(qū)動設(shè)計(jì)為例,,提出了多路驅(qū)動信號線陣CCD驅(qū)動設(shè)計(jì)的具體方法,。本文對驅(qū)動時序進(jìn)行了測試,驗(yàn)證了實(shí)測參數(shù)的正確性,。該方法得到的驅(qū)動時序頻率很好地滿足了線陣CCD的工作要求,,穩(wěn)定性好,為后續(xù)CCD驅(qū)動開發(fā)指明了方向,。
參考文獻(xiàn)
[1] 王慶有.圖像傳感器應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,,2003.
[2] 曾維友,趙江,,羅時軍,,等.基于C51的線陣CCD驅(qū)動設(shè)計(jì)[J].湖北汽車工業(yè)學(xué)院學(xué)報(bào),2009,,23(1):62-64.
[3] 盧陽.TDI/CCD圖像傳感器脈沖驅(qū)動電路研究及小型可見光CCD攝像機(jī)組件設(shè)計(jì)[D].重慶:重慶交通大學(xué),,
2006.
[4] TOSHIBA公司.TCD1208AP數(shù)據(jù)手冊[S].東京:TOSHIBA公司,2001.
[5] 崔巖,,吳國興,,殷美琳,等.基于FPGA的線陣驅(qū)動設(shè)計(jì)[J].現(xiàn)代電子技術(shù),,2011,,34(10):206-210.
[6] TOSHIBA公司.TCD1501D數(shù)據(jù)手冊[S].東京:TOSHIBA公司,2001.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。