OV7620簡介
ov7620是一款CMOS攝像頭器件,是彩色CMOS型圖像采集集成芯片,提供高性能的單一小體積封裝,該器件分辨率可以達到640X480,傳輸速率可以達到30幀。
OV7620是1/3”CMOS彩色/黑白圖像傳感器。它支持連續和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數據格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統的要求。
OV7620基本參數
大小:33x27x24(mm)
掃描方式:逐行/隔行掃描
最低照度:2.5luxatf1.4(3000k)
信噪比:》48dB
最大像素:(H)664x(V)492;缺省有效像素:(H)640x(V)480
數據輸出格式:
YCrCb16bit/8bitselectable
60Hz16BitYCrCb4:2:2-640x480
60Hz8BitYCrCb4:2:2-640x480
RGBRawDataDigitalOutput16Bit/8Bitselectable
CCIR601,CCIR656,ZV端口:支持8/16位視頻數據
SCCB接口:最大速率支持400kBit/s
YCrCB或YUV輸出格式:支持TV或監視器顯示
ov7620硬件結構
OV7620是CMOS彩色/黑白圖像傳感器。它支持連續和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fp8;數據格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統的要求。
OV7620內部可編程功能寄存器的設置有上電模式和SCCB編程模式。本系統采用SCCB編程模式,連續掃描,16位RGB數據輸出。系統硬件結構框圖如圖1所示。
ARM芯片選用具有ARM7TDMI內核的LPC2210,通過LPC2210的GPIO模擬SCCB總線協議,控制OV7620的功能寄存器。使用LPC2210的3個中斷引腳引入OV7620的圖像輸出同步信號VSYNC、HSYNC、PCLK,以中斷方式同步圖像數據輸出。OV7620的YUV通道輸出的16位并行數據通過LPC2210的高16位數據線接入。
SST39VF160和IS61LV25616AL為擴展的Flash和SRAM,分別用作程序存儲器和數據存儲器。
ov7620的具體實現
1、OV7620的功能控制
OV7620的控制采用SCCB(SeriaICameraControlBus)協議。SCCB是簡化的I2C協議,SIO-l是串行時鐘輸入線,SIO-O是串行雙向數據線,分別相當于I2C協議的SCL和SDA。SCCB的總線時序與I2C基本相同,它的響應信號ACK被稱為一個傳輸單元的第9位,分為Don’tcare和NA。Don’tcare位由從機產生;NA位由主機產生,由于SCCB不支持多字節的讀寫,NA位必須為高電平。另外,SCCB沒有重復起始的概念,因此在SCCB的讀周期中,當主機發送完片內寄存器地址后,必須發送總線停止條件。不然在發送讀命令時,從機將不能產生Don’tcare響應信號。
由于I2C和SCCB的一些細微差別,所以采用GPIO模擬SCCB總線的方式。SCL所連接的引腳始終設為輸出方式,而SDA所連接的引腳在數據傳輸過程中,通過設置IODIR的值,動態改變引腳的輸入/輸出方式。SCCB的寫周期直接使用I2C總線協議的寫周期時序;而SC-CB的讀周期,則增加一個總線停止條件。
OV7620功能寄存器的地址為0x00~0x7C(其中,不少是保留寄存器)。通過設置相應的寄存器,可以使OV7620工作于不同的模式。例如,設置OV7620為連續掃描、RGB原始數據16位輸出方式,需要進行如下設置:
I2CSendByte()為寫寄存器函數,它的第1個參數OV7620為宏定義的芯片地址0x42,第2個參數為片內寄存器地址,第3個參數為相應的寄存器設定值。
2、OV7620時鐘同步
OV7620有4個同步信號:VSYNC(垂直同步信號)、FODD(奇數場同步信號)、HSYNC(水平同步信號)和PCLK(像素同步信號)。當采用連續掃描方式時,只使用VSYNC和HSYNC、PCLK三個同步信號,如圖l所示。時為檢測OV7620掃描窗口的有效大小,還引入了HREF水平參考信號。
LPC2210的3個外部中斷引腳分別作為3個同步信號的輸入,相應的中斷服務程序分別為Vsync_IRQ()、Hsync_IRQ()和Pclk_IRQ()。在內存中定義一個二維數組存儲圖像數據,一維用變量y表示,用于水平同步信號計數;二維用變量x表示,用于像素同步信號計數。圖像采集的基本流程為:當用SCCB初始化好OV7620后,使能VSYNC對應的中斷,在Vsync_IRQ()中斷服務程序中判斷是否已取得一幀數據。若是,則在主程序的循環體中進行數據處理;若不是,則使能HSYNC對應的中斷,并將y置為O。在Hsync_IRQ()中斷服務程序中,判斷HREF的有效電平,若有效,則y加1,x置為O,并使能PCLK對應的中斷。在Pclk_IRQ()中斷服務程序中,判斷HREF的有效電平,若有效,則z增加,同時采集一個像素點的圖像數據。
3、圖像數據的輸出速度匹配
在OV7620的3個同步信號中,PCLK的周期最短。當OV7620使用27MHz的系統時鐘時,默認的PCLK的周期為74ns。而LPC2210的中斷響應時間遠遠大于這個值。LPC2210的最大中斷延遲時問為27個處理器指令周期,最小延遲時問為4個指令周期,再加上中斷服務時間、現場恢復時間等,完成一次中斷響應的時問要大于7~30個指令周期。當LPC2210使用最高系統頻率60MHz時,它的中斷響應時間遠大于O.2~0,6μs,所以只能將OV7620的PCLK降頻。通過設置時鐘頻率控制寄存器,可將PCLK的周期設為4μs左右。
4、圖像數據的接入
當OV7620工作于主設備方式時,它的YUV通道將連續不斷地向總線上輸出數據。如果將OV7620的YUV通道直接接在LPC2210的DO~D15數據總線上,則會干擾數據總線,使LPC2210不能正常運行;如果使用74HC244等隔離,分時使用數據總線的方法,則會大大降低系統的運行速度,使得LPC2210不能及時取走總線上的數據,造成圖像數據不完整。由于LPC2210的數據總線寬度為32位,而Flash和SRAM僅占用了低16位數據線D0~D15,困此可以采用圖l中的方法,將空閑的高16位數據線D16~D31設為GPIO,用于采集OV7620輸出的16位圖像數據。
5、圖像數據的恢復
OV7620采用16位輸出方式時,Y通道和UV通道的數據輸出格式如表l所列。從表l中可以看出,每一行Y通道和UV通道交替輸出上一行的重復數據和本行的新數據。而在一行之內,B數據只在奇數列出現,R數據只在偶數列出現。
下面以一個5×5的像素點陣為例,詳細介紹圖像數據的恢復。
首先定義一個5×15的字節型數組,在Pclk_IRQ()中斷服務程序中讀取5×5個像素點的圖像數據;然后對圖像數據進行插值,奇數點則在數組的連續3個字節中存入B、G、0,偶數點則存入O、G、R;最后對當前行的每一個字節與下一行對應列的每一個字節求平均值,即可算出當前行的RGB值。而在每一行內,奇數點的R數據和偶數點的B數據可通過分別對其兩側的2個點的R和B數據求平均值得到。
這樣,一幅圖像就恢復好了。可以直接存成二進制文件(本系統采用串口輸出到PC進行顯示),或者增加BMP位圖文件頭信息,存成biBitCouNt=24的DIB位圖文件;也可用LPC2210對此圖像數據進行進一步的處理,如指紋識別等。
Ov7620硬件連接
Ov7620共有16個引腳
下面具體說說他們的含義
灰度信號輸出接口 Y0-Y7
SCCB數據接口 SDA
SCCB數據時鐘 SCL
行中斷信號 HREF
場中斷信號 VSYN
工作電壓 5V vcc
像素同步信號 PCLK(也叫 TCLK)
工作電壓 0V
模擬信號輸出接口 VTO
這16個引腳中,你需要把”工作電壓 5V”接電源的正,”工作電壓 0V”接電源的地。這個一定不能反!!否則燒掉攝像頭!然后把模擬信號輸出接口 VTO和電源的地兩根線接到電視上,可以用蓮花頭,或者是隨便2根線接到電視的視頻輸入上就可以。這個時候電視就能出圖像了。
這里僅說明可能需要用到的管腳,模擬攝像頭無非也就這幾個信號,重要的是,模擬攝像頭的信號線需要分離,這當然會給圖像的采集帶來本可以避免的干擾。
其他不同的攝像頭也有類似引腳都是一樣的。 下面是硬件連接:
1.注意行場中斷如果接對了,系統板上的第一個小燈會每秒閃爍一次。
2.攝像頭的vcc接5v電,gnd接地 ,千萬別接錯了!
3.核心板引線ps0 接到usb轉串口器上的rxd 還有一根是公地線。 好了,可以看到圖像了。
-
攝像頭
+關注
關注
59文章
4752瀏覽量
94400 -
OV7620
+關注
關注
3文章
19瀏覽量
30232
發布評論請先 登錄
相關推薦
評論