摘要:Ominisrision公司的新型攝像頭模組OV7670,具有體積小、輸出圖像格式多、接口方便、寄存器可讀寫等特點,是嵌入式系統(tǒng)中圖像采集的理想選擇。通過設置OV7670的寄存器的值,可以更好地實現(xiàn)對攝像頭的控制,得到更加理想的圖像。本文介紹了PC104系統(tǒng)對OV7670攝像頭模組寄存器讀寫的過程及編程方法。
關鍵詞:OV7670;圖像采集;PC104;SCCB
嵌入式系統(tǒng)中的圖像采集是進行圖像處理的基礎,只有在采集時就進行前端的處理和控制,才能減少圖像中的噪聲,為后續(xù)的圖像處理提供良好的數(shù)據(jù)。OV7670開放了控制寄存器,用戶可以通過SCCB總線來實現(xiàn)讀寫操作,可以設置圖像輸出格式、控制曝光等,為具體的應用場景提供了更底層的支持。正確的讀寫寄存器就成為獲得圖像的第一步。
1 OV7670攝像頭模組簡介
OV7670 CAMERACHIPTM圖像傳感器,體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位影響數(shù)據(jù)。該產(chǎn)品VGA圖像最高達到30幀/秒。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過SCCB接口編程。OmmiVision圖像傳感器應用獨有的傳感器技術,通過減少或消除光學或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。功能框圖如圖1所示。為了保證圖像采集的連續(xù)性和完整性,外加一個384K,8位的FIFO,AL422為圖像采集和處理作緩沖。OV7670與AL422的連接如圖2所示。
2 兩線SCCB
SCCB(Serial Camera Control Bus),即串行攝像機控制總線,是OmniVision公司為完成對絕大部分OmniVision系列圖像傳感芯片功能的控制而制定的一種三線結構串行總線。在簡化的引腳封裝中(如典型的24腳封裝),SCCB總線可以工作在改進的兩線工作方式下。兩線SCCB適合于主片只有一個從片的時候使用,此時的SCCB_E*信號被使能并置低,其連接框圖如圖3所示。
兩線連接的SCCB數(shù)據(jù)傳輸時序如圖4所示。
SCCB總線協(xié)議中使用的信號如表1、表2所示。
3 接口時序及編程實現(xiàn)
數(shù)據(jù)傳輸開始:當總線空閑時,主片SIO_D信號置高或“1”。在SIO_C是高或“1”且SIO_D驅(qū)動到低或“0”時,數(shù)據(jù)傳輸開始。如圖5所示。
數(shù)據(jù)傳輸停止:當SIO_C信號是高或“1”,SIO_D信號從低或“0”到高或“1”時,數(shù)據(jù)傳輸停止。如圖6所示。
寫操作只有在一個開始信號之后,才能由主片啟動;在一個停止信號之后或者一個新的開始信號之后,寫操作才完成。同樣,讀操作也是在一個停止信號或者一個新的開始信號之后才完成。
讀寄存器操作的函數(shù)實現(xiàn)如下:
4 結論
通過對OV7670的寄存器設置,可以很好的實現(xiàn)對OV7670的圖像數(shù)據(jù)的采集和傳輸過程進行有效的干預。寄存器讀寫可以確定攝像頭一端的工作狀況,方便了嵌入式系統(tǒng)的開發(fā)調(diào)試;能夠在系統(tǒng)中根據(jù)要求來改變模塊傳輸數(shù)據(jù)的格式,并根據(jù)環(huán)境光線的強弱來改變曝光強度。避免了采集到的圖像不清晰甚至是亂碼的問題。