摘 要: 通過STC89C52單片機平臺,以4路驅(qū)動信號的TCD1208AP和6路驅(qū)動信號的TCD1501D為例,采用分割法對驅(qū)動信號進行了分析與編碼。根據(jù)線陣CCD驅(qū)動信號數(shù)量的不同,分別采用單周期和雙周期指令完成了驅(qū)動時序的編程實現(xiàn)和實驗驗證。該方法應(yīng)用高執(zhí)行效率的51匯編指令,驅(qū)動信號頻率高、穩(wěn)定性好,充分發(fā)揮了單片機和線陣CCD的綜合性能。
關(guān)鍵詞: 線陣CCD;單片機驅(qū)動;分割法;STC89C52;TCD1208AP;TCD1501D
近年來,隨著半導體技術(shù)和大規(guī)模集成電路的發(fā)展,CCD圖像傳感器在功耗、分辨率和動態(tài)范圍等方面取得了巨大的進步。目前,CCD圖像傳感器非接觸式測量技術(shù)已廣泛應(yīng)用于尺寸測量、圖像傳感、機器視覺、文字掃描等領(lǐng)域[1]。
線陣CCD驅(qū)動信號是一組關(guān)系復雜的周期性脈沖信號,它是決定信號積分時間、信噪比的關(guān)鍵因素。目前,線陣CCD的驅(qū)動電路主要包括專用集成電路驅(qū)動、EPROM驅(qū)動、可編程邏輯器件驅(qū)動、單片機驅(qū)動等[2]。基于單片機的線陣CCD驅(qū)動擴展性強、功耗小、應(yīng)用成本低,應(yīng)用前景廣闊。單片機驅(qū)動設(shè)計中,難免要使用轉(zhuǎn)移指令,但是由于單片機的轉(zhuǎn)移指令、位操作和端口賦值指令的指令周期不同及驅(qū)動信號的復雜性,如果驅(qū)動時序設(shè)計不當,將難以滿足CCD驅(qū)動時序的高頻率和穩(wěn)定性要求。因此,關(guān)于單片機線陣CCD驅(qū)動時序分析和設(shè)計方法的研究具有深刻的意義。
1 線陣CCD驅(qū)動設(shè)計
51系列單片機具有低功耗、擴展靈活、控制穩(wěn)定等特點,是目前應(yīng)用最廣泛的單片機。因此,本文將利用STC89C52單片機進行線陣CCD驅(qū)動設(shè)計的研究。
CCD圖像傳感器采用光電效應(yīng),以感應(yīng)電荷為信號,在特定驅(qū)動脈沖作用下,實現(xiàn)信號電荷的存儲和定向轉(zhuǎn)移[3]。線陣CCD驅(qū)動設(shè)計中,所采用指令的指令周期決定了線陣CCD的驅(qū)動頻率的大小。具體采用單周期指令還是多周期指令取決于線陣CCD驅(qū)動信號的路數(shù)和驅(qū)動信號間的關(guān)系。
1.1 線陣CCD的驅(qū)動信號
線陣CCD在驅(qū)動時序作用下完成了信號電荷的存儲、轉(zhuǎn)移和輸出。線陣CCD的驅(qū)動信號包括轉(zhuǎn)移脈沖(SH)、時鐘脈沖(Q1,Q2)、復位脈沖(RS),部分線陣CCD還包括采樣保持脈沖(SP)和門限脈沖(CP)。本文以東芝4驅(qū)動TCD1208AP和6驅(qū)動TCD1501D線陣 CCD為例,研究基于51單片機的線陣CCD的驅(qū)動設(shè)計。
TCD1208AP采用幀輸出方式,每幀信號對應(yīng)1 106個時鐘脈沖。利用51單片機計數(shù)器對時鐘脈沖Q2的下降沿計數(shù),當計數(shù)達到1 106時,利用中斷方式產(chǎn)生轉(zhuǎn)移脈沖SH。單片機與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由計數(shù)中斷產(chǎn)生。程序設(shè)計中,采用位操作指令和自加自減指令實現(xiàn)信號間轉(zhuǎn)換;驅(qū)動信號的周期切換采用JBC跳轉(zhuǎn)指令通過RS信號的檢測實現(xiàn)循環(huán)。JBC指令尋址位為1轉(zhuǎn)移,選擇RS為檢測位,需對狀態(tài)轉(zhuǎn)移圖中的信號編碼進行取反操作。這樣實現(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è)計中,采用分割法,在保持RS占空比為1:4的條件下,8等分分割TCD1501的電荷轉(zhuǎn)移脈沖信號Q1和Q2,形成驅(qū)動信號間的關(guān)系如圖6所示。
由圖7可知,TCD1501D增加了兩路信號CP和SP,驅(qū)動信號間的變換至少包含兩路信號的變換,無法再僅采用單周期自加自減指令和位操作指令控制單片機I/O口產(chǎn)生驅(qū)動信號,只能選擇雙周期的I/O端口數(shù)據(jù)傳送指令進行TCD1501D驅(qū)動設(shè)計,核心程序如下:
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
當晶振頻率相同時,與TCD1208AP相比,TCD1501D的驅(qū)動頻率降低一半,但這不影響多數(shù)非接觸式測量的應(yīng)用要求。由上述兩例驅(qū)動設(shè)計過程可知,根據(jù)CCD驅(qū)動信號數(shù)量的不同和驅(qū)動信號的時序關(guān)系設(shè)計驅(qū)動程序,能最大限度地提高信號的驅(qū)動頻率,充分發(fā)揮單片機驅(qū)動的優(yōu)勢。
2 實驗結(jié)果分析
STC89C52是 51單片機中性價比極高的一款單片機,最高工作頻率為35 MHz,6T/12T雙工模式可選,作為線陣CCD驅(qū)動,其能滿足應(yīng)用對象對高速度、低功耗的要求。
本文選擇STC89C52單片機作為試驗平臺,采用keil C51平臺驗證所設(shè)計的時序的正確性。試驗中,采用24 MHz晶振作為STC89C52外部晶振,選用6T雙倍速工作模式,內(nèi)部機器周期0.25 ?滋s。該條件下,TCD1208AP和TCD1501D的時鐘脈沖頻率分別達到了0.5 MHz和0.25 MHz的正常工作要求。圖8和圖9是實際測量的時序圖。
由圖8和圖9可知,當轉(zhuǎn)移脈沖計數(shù)發(fā)生中斷時,轉(zhuǎn)移脈沖SH發(fā)生跳變,說明采集完一幀圖像數(shù)據(jù)。注意,SH的高電平保持時間必須小于Q1高電平保持時間。實際應(yīng)用中,CCD各信號需滿足特定的時間參數(shù)要求。表1和表2是TCD1208AP和TCD1501D理論時間參數(shù)和實驗測量參數(shù)的對照表,表中時間符號分別與圖2和圖5中的時間符號相對應(yīng)。
可以看出,實測參數(shù)均滿足理論值要求。TCD1501D的RS脈沖寬度是TCD1208AP的RS脈沖寬度的2倍,充分說明驅(qū)動信號單周期指令運行速度是雙周期指令的2倍。因此,根據(jù)線陣CCD驅(qū)動信號數(shù)量的不同和驅(qū)動信號的關(guān)系,合理采用分割法對信號進行分析和編碼,科學選擇單周期指令和雙周期指令,能充分發(fā)揮單片機和線陣CCD的綜合性能,提高驅(qū)動信號的頻率和穩(wěn)定性。目前該設(shè)計方法在某型號精密位置校正裝置的CCD模塊中得到成功應(yīng)用。
本文采用51單片機作為線陣CCD的驅(qū)動控制器,很好地滿足了CCD驅(qū)動強擴展性、高速度、低功耗的應(yīng)用要求。設(shè)計中,根據(jù)線陣CCD驅(qū)動信號數(shù)量和信號關(guān)系的不同,采用分割法對驅(qū)動時序進行了分析和編碼,利用51匯編指令完成驅(qū)動時序的科學編程,完成線陣CCD驅(qū)動時序的設(shè)計。利用STC89C52單片機,以4路和6路線陣CCD驅(qū)動設(shè)計為例,提出了多路驅(qū)動信號線陣CCD驅(qū)動設(shè)計的具體方法。本文對驅(qū)動時序進行了測試,驗證了實測參數(shù)的正確性。該方法得到的驅(qū)動時序頻率很好地滿足了線陣CCD的工作要求,穩(wěn)定性好,為后續(xù)CCD驅(qū)動開發(fā)指明了方向。
參考文獻
[1] 王慶有.圖像傳感器應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2003.
[2] 曾維友,趙江,羅時軍,等.基于C51的線陣CCD驅(qū)動設(shè)計[J].湖北汽車工業(yè)學院學報,2009,23(1):62-64.
[3] 盧陽.TDI/CCD圖像傳感器脈沖驅(qū)動電路研究及小型可見光CCD攝像機組件設(shè)計[D].重慶:重慶交通大學,
2006.
[4] TOSHIBA公司.TCD1208AP數(shù)據(jù)手冊[S].東京:TOSHIBA公司,2001.
[5] 崔巖,吳國興,殷美琳,等.基于FPGA的線陣驅(qū)動設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(10):206-210.
[6] TOSHIBA公司.TCD1501D數(shù)據(jù)手冊[S].東京:TOSHIBA公司,2001.