王健,張翔
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710032)
嵌入式系統(tǒng)中的圖像采集是進(jìn)行圖像處理的基礎(chǔ),只有在采集時(shí)就進(jìn)行前端的處理和控制,才能減少圖像中的噪聲,為后續(xù)的圖像處理提供良好的數(shù)據(jù)[1]。OV7670開放了控制寄存器,用戶可以通過SCCB總線來實(shí)現(xiàn)讀寫操作,可以設(shè)置圖像輸出格式、控制曝光等,為具體的應(yīng)用場景提供了更底層的支持。正確的讀寫寄存器就成為獲得圖像的第一步。
OV7670 CAMERACHIPTM圖像傳感器,體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位影響數(shù)據(jù)。該產(chǎn)品VGA圖像最高達(dá)到30幀/秒。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過SCCB接口編程。OmmiVision圖像傳感器應(yīng)用獨(dú)有的傳感器技術(shù),通過減少或消除光學(xué)或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。功能框圖[2]如圖1所示。為了保證圖像采集的連續(xù)性和完整性,外加一個(gè)384K,8位的FIFO,AL422為圖像采集和處理作緩沖。OV7670與AL422的連接如圖2所示。
SCCB(Serial Camera Control Bus),即串行攝像機(jī)控制總線,是OmniVision公司為完成對絕大部分OmniVision系列圖像傳感芯片功能的控制而制定的一種三線結(jié)構(gòu)串行總線[3]。在簡化的引腳封裝中(如典型的24腳封裝),SCCB總線可以工作在改進(jìn)的兩線工作方式下。兩線SCCB適合于主片只有一個(gè)從片的時(shí)候使用,此時(shí)的SCCB_E*信號被使能并置低,其連接框圖如圖3所示。
兩線連接的SCCB數(shù)據(jù)傳輸時(shí)序如圖4所示。
SCCB總線協(xié)議中使用的信號如表1、表2所示。
圖1 OV7670功能框圖Fig.1 Functional block diagram of OV7670
數(shù)據(jù)傳輸開始:當(dāng)總線空閑時(shí),主片SIO_D信號置高或“1”。 在 SIO_C 是高或“1”且 SIO_D 驅(qū)動(dòng)到低或“0”時(shí),數(shù)據(jù)傳輸開始[4]。如圖5所示。
圖2 OV7670和FIFO連接示意圖Fig.2 Connection diagram of OV7670 and FIFO
圖3 兩線SCCB連接框圖Fig.3 2-wire SCCB functional block diagram
圖4 兩線SCCB數(shù)據(jù)傳輸時(shí)序Fig.4 2-wire data transmission
表1 主片信號說明Tab.1 Master device pin descriptions
表2 從片信號說明Tab.1 Slave device pin descriptions
圖5 兩線SCCB數(shù)據(jù)傳輸開始Fig.5 Start of data transmission
數(shù)據(jù)傳輸停止:當(dāng)SIO_C信號是高或“1”,SIO_D信號從低或“0”到高或“1”時(shí),數(shù)據(jù)傳輸停止[5]。 如圖6所示。
圖6 兩線SCCB數(shù)據(jù)傳輸停止Fig.6 Stop of Data Transmission
寫操作只有在一個(gè)開始信號之后,才能由主片啟動(dòng);在一個(gè)停止信號之后或者一個(gè)新的開始信號之后,寫操作才完成[6]。同樣,讀操作也是在一個(gè)停止信號或者一個(gè)新的開始信號之后才完成。
讀寄存器操作的函數(shù)實(shí)現(xiàn)如下:
寫寄存器操作的實(shí)現(xiàn)函數(shù)如下:
通過對OV7670的寄存器設(shè)置,可以很好的實(shí)現(xiàn)對OV7670的圖像數(shù)據(jù)的采集和傳輸過程進(jìn)行有效的干預(yù)。寄存器讀寫可以確定攝像頭一端的工作狀況,方便了嵌入式系統(tǒng)的開發(fā)調(diào)試;能夠在系統(tǒng)中根據(jù)要求來改變模塊傳輸數(shù)據(jù)的格式,并根據(jù)環(huán)境光線的強(qiáng)弱來改變曝光強(qiáng)度。避免了采集到的圖像不清晰甚至是亂碼的問題。
[1]褚紅娟,隋國榮.基于SCCB通信的FPGA視頻采集模塊[J].自動(dòng)化儀表,2010,11(31):68-70.
CHU Hong-juan,SUIGuo-rong.FPGA VF information collection Module Based on SCCB Communication[J].Process Automaton Instrumentation,2010,11(31):68-70.
[2]OV7670/OV7171 Datasheet(Version 1.3)[Z].Omnivision.
[3]OmniVision Serial Camera Control Bus (SCCB)Functional Specification(Version 2.1)[S].2003.
[4]苑瑋琦,湯永華.OmniVision圖像傳感器的SCCB總線協(xié)議在DSP中的實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2006,27(S1):1687-1688.
YUAN Wei-qi,TANG Yong-hua.Application of SCCB of OmniVision camera in DSP[J].Chinese Journal of Scientific Instrument, 2006,27(S1):1687-1688.
[5]譚營,許化龍,吳琳.基于PC/104的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息, 2007 (32):78-79.
TAN Ying,XU Hua-long,WU Lin.Design of data acquisition system based on PC/104 bus[J].Microcomputer Information,2007(32):78-79.
[6]劉明剛,施建禮,夏涑濤.基于PC/104總線和CPLD的多通道實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù), 2007(8):23-25.
LIU Ming-gang,SHI Jian-li,XIA Su-tao.A design of real-time multichannel data acquisition system based on PC/104 bus and CPLD[J].Instrumentation Technology,2007(8):23-25.