I2C總線CMOS型PB-0300數(shù)字圖像傳感器
摘要:介紹CMOS型數(shù)字圖像傳感器PB-0300的性能特點、功能設(shè)置、與MCS-51系列單片機的接口電路及編程技術(shù)。 1 功能描述 1.1 性能特點 PB-0300系列CMOS型有源像素數(shù)字圖像傳感器,內(nèi)置模數(shù)轉(zhuǎn)換8、位并行數(shù)據(jù)輸出、64個內(nèi)部寄存器,采用I2C總線控制,可編程控制;可以在彩色和黑白兩種模式下工作。當外接24MHz時鐘晶振時,可以獲得30幀/s的圖像輸出。在上電期間,自動調(diào)入缺省參數(shù)設(shè)置,包括自動曝光功能,所以可以不編程情況下使用傳感器。主要性能指標如表1。
1.2 內(nèi)部結(jié)構(gòu) PB-0300由五大部分組成:數(shù)字邏輯模塊、像素陣列、列平行的增益電路和讀出電路、8位ADC、偏置DACs,如圖1所示。 主要引腳功能如表2。
PB-0300有三種分開的供電電源:數(shù)字電源、模擬電源和傳感器陣列電源。使用時要特別注意各電源間的相互影響。 2 圖像輸出格式與時序 PB-0300控制像素數(shù)據(jù)輸出的信號有:幀有效(FRAME-VALID)信號、行有效(LINE-VALID)信號、像素時鐘(PIXCLK)信號。FRAME-VALID信號控制一幀有效圖像的輸出,高電平有效;LINE-VALID信號控制每行有效信號的輸出,高電平有效;PIXCLK信號控制每個像素的輸出,當FRAME-VALID和LINE-VALID均為高電平時,每個像素時鐘周期輸出一個8位像素信號;并行的DOUT0~DOUT7是像素數(shù)據(jù)的8位輸出,它們始終和像素時鐘同步。在PIXCLK處于下降沿時,數(shù)據(jù)輸出和LINE-VALID都不能改變。在默認的VGA(640480)下,當每行640個有效像素信號輸出之后,LINE-VALID變?yōu)榈碗娖?,PB-0300按一定編碼方式向外輸出982個無效信號,然后再輸出像素信號。當480行有效像素和無效信號完全輸出之后,傳感器再輸出9行空白信號。這期間FRAME-VALID為低電平,標志著當前幀的結(jié)構(gòu)和下一幀的開始;同時,讀入寄存器的最新值,通過對寄存器編程而改變的圖像參數(shù)在下一幀生效。信號輸出時序如圖2所示。 3 寄存器設(shè)置 PB-0300共有64個寄存器(R0-R63),地址依次為00H~3FH,在缺省情況下有自動曝光功能;可以改變輸出圖像的大小、位置和速度;通過調(diào)節(jié)像素累積時間、ADC參考和增益值可以控制采集到的圖像亮度。下面介紹幾個主要寄存器的功能。 *復位控制寄存器(R13) R13能夠使PB-0300復位到上電后的缺省狀態(tài)。首先向R13的最低位寫入“1”,使PB-0300處于復位狀態(tài),然后再寫入“0”繼續(xù)工作。 *窗口位置與大小控制寄存器(R1,R2,R3,R4) 控制采集圖像窗口的位置與大小。只有在此窗口內(nèi)的像素才能有效地讀出。窗口的像素個數(shù)最大值為640480。R1為行起始坐標,R2為列起始坐標,(1024-R3)為有效行數(shù),(1024-R4)為有效列數(shù);窗口大小的默認值為VGA(640480),右上角坐標為(0,0),左下角坐標為(639,479)。 *像素累積控制寄存器(R8,R9) 控制像素的采光時間,R8為累積幀數(shù),R9為累積行數(shù),實際總的累積時間,即實際處理完一幀圖像的時間為:Tint=[(R8(1024-R3)+R9)Trow,其中,Trow為處理完一行有效像素所用的時間。一般的R8設(shè)置為0,R9的最大值為有效圖像窗口的行數(shù)。Tint的值應該能信號避免由于光閃爍使圖像產(chǎn)生條紋。在60Hz光閃爍頻率下,Tint必須為1/120s的整數(shù)倍;50Hz頻率下,Tint必須為1/100的整數(shù)倍。 *幀速率控制寄存器(R5,R6,R10) 控制每行和每幀有效像素信號之間的無效信號時間。當其它圖像參數(shù)改變時,通過改變上幀速度控制寄存器的值為調(diào)節(jié)幀速率。若通過R4減小有效像素列數(shù)后,處理一行有效像素的時間將變短,幀速率將增加。這時可以調(diào)節(jié)R5的值來增加每行元效信號的輸出數(shù)量和時間,從而使幀速率保持不變;同理,若改變有效像素行數(shù)時,調(diào)節(jié)R6來保持幀速率。R10是通過控制PIXCLK的輸出來改變像素輸出時間的。 設(shè)置輸出像素的各種顏色的增益值。像素信號在模數(shù)轉(zhuǎn)換前經(jīng)過增益放大電路,分別對各種顏色進行處理,R43、R46分別對應藍色和紅色,R44、R45都對應綠色,R53是全局設(shè)置。一般的照明情況下(100~1000lx),增益值為1~8,編程的值是多少,對應的增益值就是多少。從R53可以讀出自動曝光模式下的增益值。 *模數(shù)轉(zhuǎn)換參考(ADC)控制寄存器(R25) 通過改變模數(shù)轉(zhuǎn)換參考值,改變圖像的數(shù)字輸出,從而調(diào)節(jié)圖像亮度。當圖像亮度大時,增加ADC值,得到的圖像將變暗;當圖像較暗時,減小ADC值,得到的圖像將變亮。在非自動曝光模式下,R25控制ADC的最大參考值(最小參考值為0),其典型值在24~38之間。在自動曝光模式下,ADC參考值不能改變。 *信號漂移值設(shè)置寄存器(R32) 設(shè)置信號漂移值,調(diào)節(jié)圖像的亮度,可以設(shè)置正負兩種值。當圖像太暗時,給R32加一個正值,像素信號變大,使得圖像變亮;當圖像太亮時,給R32加一個負值,使圖像變暗。 4 PB-0300與單片機的接口 當PB-0300復位至默認狀態(tài)下時,能夠自動工作,此時采用自動曝光功能,輸出的圖像為640480像素,輸出速率為30幀/s。也可以通過修改寄存器的值來改變傳感器的工作方式和提高圖像的輸出質(zhì)量。在MCS-51系列單片上,可以使用虛擬I2C總線軟件包VIIC模擬I2C總線,對PB-0300的寄存器進行讀寫。接口電路如圖3所示。 PB-0300采用16位寄存器,需要寫入2個字節(jié),寫滿之后寄存器地址自動增加。所以對連接寄存器進行寫操作時,只需寫入第一個寄存器的地址;進行讀操作時,先對控制寄存器空寫一次,以明確操作對象,然后進行讀數(shù)。子程序WRITE是將默認狀態(tài)下R5的值(510)修改為340(0214H),使圖像輸出為VGA(640480),輸出速率為25幀/s。子程序READ是以讀R9、R10為例的典型程序。子程序清單如下: VSDA EQU P1.7 VSCL EQU P1.6 SLA EQU 50H NUMBYT EQU 51H MTD EQU 30H MRD EQU 40H WRITE:MOV 30H,#05H ;寄存器R5地址 MOV 31H,#02H ;寄存器值(0214H) MOV 32H,#14H MOV SLA,#0BAH ;尋址并為寫操作 MOV NUMBYT,#03H ;寫入字節(jié)數(shù) LCALL WRNBYT RET READ:MOV 30H,#09H ;寄存器的R9地址 MOV NUMBYT,#01H ;寫入字節(jié)數(shù) MOV SLA,#0BAH ;尋址并為寫操作 LCALL WRNBYT MOV SLA,#0BBH ;尋址并為讀操作 MOV NUMBYT,#04H;讀出字節(jié)數(shù) LCALL RDNBYT RET PB-0300具有體積小、功耗低、接口簡單的特點,而且編程操作靈活,可以不用編程在默認方式下工作,也可以通過編程來改變輸出圖像的質(zhì)量、大小和速度等,特別適合于現(xiàn)場應用中。PB-0300系列目前流行使用的是PB-0330。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
評論