《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 微波|射頻 > 設(shè)計(jì)應(yīng)用 > 基于CMOS圖像傳感器OV7720的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)
基于CMOS圖像傳感器OV7720的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)
劉春保 洪鎮(zhèn)南 張小偉 廖旭輝
摘要: 本文利用CMOS圖像傳感器設(shè)計(jì)了一款嵌入式網(wǎng)絡(luò)攝像機(jī),。經(jīng)測(cè)試,,系統(tǒng)穩(wěn)定,、可靠、實(shí)時(shí)性好,,圖像清晰度明顯好于同價(jià)位的產(chǎn)品,,完全可滿足目前網(wǎng)絡(luò)攝像頭市場(chǎng)對(duì)中、低端產(chǎn)品的要求,,具有良好的市場(chǎng)前景,。
Abstract:
Key words :

0 引言
    CCD和CMOS圖像傳感器作為固體圖像傳感器領(lǐng)域的競(jìng)爭(zhēng)對(duì)手,在性能表現(xiàn)上各有優(yōu)劣,。相較于CCD圖像傳感器,,CMOS圖像傳感器的功耗低,結(jié)構(gòu)簡(jiǎn)單,,集成度高,,體積小,成本低,,這就使產(chǎn)品的便攜性和可靠性得以極大的提高,。由于CMOS圖像傳感器的內(nèi)部結(jié)構(gòu),使其具有高抗輻照和強(qiáng)抗干擾能力,,因此在圖像傳感器,、天文觀測(cè)、小衛(wèi)星,、星敏感器等應(yīng)用領(lǐng)域表現(xiàn)極大的應(yīng)用潛力,。另外,基于CMOS圖像傳感器的加工工藝,可以較容易地制造出大面陣的CMOS體傳感器器件,,更加擴(kuò)展了CMOS圖像傳感器的應(yīng)用范圍,。
    網(wǎng)絡(luò)攝像機(jī)具有聯(lián)網(wǎng)功能,又最大限度地保持了模擬攝像機(jī)的功能,,無(wú)疑是監(jiān)控領(lǐng)域的新星,。網(wǎng)絡(luò)攝像機(jī)一般使用成品CCD攝像頭做視頻捕捉前端,CCD攝像頭在硬件成本中占了很大的分量,,且CCD攝像頭輸出的是模擬信號(hào),,系統(tǒng)中必須加視頻A/D轉(zhuǎn)換器。開發(fā)用于網(wǎng)絡(luò)攝像機(jī)的CMOS攝像頭對(duì)降低設(shè)計(jì)成本和復(fù)雜度有重要意義,。

1 圖像采集系統(tǒng)采用的芯片介紹
1.1 圖像傳感器OV7720

    OV7720是一個(gè)高集成度的CMOS Camera Chip傳感器,,在單芯片上提供了VGA圖像處理器的全部功能。OV7720的一個(gè)獨(dú)特性能就是有很大的主光線角度,,它能顯著減小模塊高度,,而高度是讓相機(jī)能夠裝配進(jìn)當(dāng)前超薄筆記本電腦的關(guān)鍵因素;OV7720的第二大亮點(diǎn)是能夠工作在60f /s的VGA模式下,,或工作在120 f/s的QVGA模式下實(shí)現(xiàn)設(shè)備的最佳性能,。OV7720內(nèi)部集成了對(duì)圖像傳感器的完善控制,包括曝光控制,、伽馬校正,、白平衡、色彩飽和以及色調(diào)控制,,所有的圖像處理功能都可以通過(guò)它的串行相機(jī)控制總線(SCCB)接口實(shí)現(xiàn)對(duì)內(nèi)部控制寄存器組的編程,。OV7720采用專有傳感器技術(shù)來(lái)提高圖像質(zhì)量,并通過(guò)減少或消除諸如固定圖案噪聲,、拖尾和浮散等不良因素來(lái)產(chǎn)生明晰,、純凈和完全穩(wěn)定的彩色圖像,其主要技術(shù)參數(shù)如表1所示,。


1.2 相機(jī)控制芯片OV529
   
OV529是一種相機(jī)控制芯片,,它可以將來(lái)自圖像傳感器(例如OV7720)的信號(hào)轉(zhuǎn)換成壓縮圖像格式的數(shù)據(jù),。圖1給出了OV529與傳感器,、主機(jī)以及E2PROM之間連接的邏輯關(guān)系。該芯片具有的技術(shù)特征是:可用于移動(dòng)PDA系統(tǒng),、筆記本電腦中低成本,、低功耗、高分辨率的單片相機(jī)控制器,;不需要附加DRAM,;有8位并行相機(jī)芯片數(shù)據(jù)接口,;內(nèi)建采樣電路、箝位電路和窗口電路,;可用于VGA,,CIF,SIF,,QCIF,,160×128,160×120,,128×128,,80×64以及更多的圖像分辨率;內(nèi)建彩色轉(zhuǎn)換電路可用于4 b/8 b灰度,,16 b YUV,,12 b/16 b/24b RGB圖像預(yù)覽;有串行相機(jī)控制總線,、內(nèi)置微控制器,、可選的串行E2PROM存儲(chǔ)器、通用I/O引腳和2個(gè)主機(jī)接口(RS 232,,5wire)等,。



2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)組成

    系統(tǒng)總體設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分。硬件設(shè)計(jì)模塊主要包括微控制器模塊,、網(wǎng)絡(luò)接口模塊和相機(jī)控制模塊三部分。微控制器模塊主要由主控芯片,、DATAFLASH和SDRAM組成,,其中主控芯片是整個(gè)系統(tǒng)的核心,負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度工作,。DATAFASH里固化了嵌入式Linux內(nèi)核及其文件系統(tǒng),、應(yīng)用軟件和系統(tǒng)配置文件,。SDRAM作為內(nèi)存供系統(tǒng)運(yùn)行使用。網(wǎng)絡(luò)接口模塊主要是配合主控芯片傳送MPEG-4碼流,。相機(jī)的控制模塊主要是由OV529和OV7720芯片組成,通過(guò)SCCB(Serial Camera Control Bus)將傳感器的視頻流傳送到OV529,;OV529通過(guò)控制OV7720將視頻流轉(zhuǎn)化成MEPG-4碼流,并完成轉(zhuǎn)發(fā)控制相機(jī)命令的功能,。當(dāng)系統(tǒng)啟動(dòng)時(shí),微控制器通過(guò)SPI將Linux內(nèi)核轉(zhuǎn)入SDRAM中,系統(tǒng)從SDRAM中啟動(dòng),。
    軟件設(shè)計(jì)部分主要包括嵌入式Linux移植、CGI控制程序和MEPG-4解碼程序三個(gè)部分,。嵌入式Linux系統(tǒng)存放到由AT91SAM7X256控制的DAT-AFLASH中,它負(fù)責(zé)整個(gè)系統(tǒng)軟件的調(diào)度工作,。CGI控制程序主要負(fù)責(zé)對(duì)攝像機(jī)的控制和對(duì)MPEG-4視頻流的相關(guān)設(shè)置。MEPG-4解碼程序主要負(fù)責(zé)對(duì)通過(guò)網(wǎng)絡(luò)得到的MPEG-4數(shù)據(jù)流的解碼工作,。
2.2 SCCB通信規(guī)范
    SCCB(Serial Camera Control Bus)是OminiVision公司定義的主從模式串行通信協(xié)議,用于控制該公司圖像傳感器系列芯片的內(nèi)部寄存器,。該協(xié)議有通信使能信號(hào)SIO_E、時(shí)鐘信號(hào)SIO_C和數(shù)據(jù)信號(hào)SIO_D,,在簡(jiǎn)化引腳的封裝中不再提供SIO_E引腳,,協(xié)議也變成了兩線串行通信,。協(xié)議支持的最高串行通信速率是400 Kb/s,規(guī)定圖像傳感器在通信中只能作為SLAVE工作,。一SCCBMASTER可以控制1~8個(gè)SLAVE工作,由不同的ID來(lái)識(shí)別,,在只有一個(gè)SLAVE時(shí)固定SLAVE的ID為42H(寫)和43H(讀)。該協(xié)議符合網(wǎng)絡(luò)攝像機(jī)CPU的I2C口時(shí)序子集,,設(shè)計(jì)中OV529作為SCCB的MASTER,,并且只帶1個(gè)SLAVE OV7720,。協(xié)議要求數(shù)據(jù)線必須在時(shí)鐘信號(hào)高電平期間穩(wěn)定,,在低電平時(shí)更新。協(xié)議支持3字節(jié)寫,、2字節(jié)寫和2字節(jié)讀三種傳輸模式,。傳輸數(shù)據(jù)時(shí)每個(gè)字節(jié)包括9位串行數(shù)據(jù)位,除了8位數(shù)據(jù),,還有第9位不相關(guān)位或NA位,,用在有多個(gè)SLAVE的系統(tǒng)來(lái)標(biāo)識(shí)通信是否完成,。SLAVE可以用兩種方式應(yīng)答該位,一種是正在被寫的SLAVE在收到數(shù)據(jù)后驅(qū)動(dòng)該位為0表示成功,;另一種是SLAVE不應(yīng)答該位,,這種情況下所有SLAVE的第9位保持懸空。在3字節(jié)寫周期MASTER必須提供子地址,,即芯片中寄存器的地址,,第3字節(jié)為所寫數(shù)據(jù)。讀周期不提供子地址,,但必須由MASTER把數(shù)據(jù)后的NA位(第9位)驅(qū)動(dòng)為高電平,。所以在每個(gè)讀周期前必須有3字節(jié)或2字節(jié)寫操作,使SLAVE獲得寄存器地址,,其中的2字節(jié)寫周期并沒(méi)有寫數(shù)據(jù),,它的用途是在讀操作前提供給SLAVE子地址。

3 硬件系統(tǒng)實(shí)現(xiàn)
3.1 微控制器模塊
   
微控制器模塊是該系統(tǒng)的核心部件,,采用Atmel公司的ARM7芯片AT91SAM7X256作為系統(tǒng)的主控芯片,。它是一款A(yù)tmel 32位ARM RISC處理器小引腳數(shù)FLASH微處理器,主頻為55 MHz,,處理速度快,,功能強(qiáng),性價(jià)比高,,能很好地滿足嵌入式Linux系統(tǒng)的需求,。它在系統(tǒng)中的主要作用是在系統(tǒng)上電時(shí)配置其他芯片的功能寄存器,在正常工作狀態(tài)下調(diào)度整個(gè)系統(tǒng)工作,,通過(guò)片內(nèi)以太網(wǎng)控制器控制物理層芯片發(fā)送碼流,,并通過(guò)片內(nèi)的SPI總線實(shí)現(xiàn)對(duì)外圍DATAFLASH和SDRAM的控制。
3.2 網(wǎng)絡(luò)模塊
   
AT91SAM7X256的在片以太網(wǎng)卡端口與網(wǎng)絡(luò)物理層芯片DM9161E的MII接口通信,。發(fā)送數(shù)據(jù)時(shí)首先置發(fā)送使能信號(hào)ETXEN有效,。數(shù)據(jù)發(fā)送端ETX0~ETX1與DM9161E的ETX0~ETX1引腳對(duì)應(yīng)連接,,作為數(shù)據(jù)發(fā)送通道,,以DM9161E的時(shí)鐘信號(hào)REF_CLK發(fā)送數(shù)據(jù)。數(shù)據(jù)接收端ERX0~ERX1與DM9161E的RXD0~RXD1引腳對(duì)應(yīng)連接,,作為數(shù)據(jù)接收通道,。管理時(shí)鐘信號(hào)EMDC和管理數(shù)據(jù)輸入/輸出信號(hào)EMDIO用于芯片控制參數(shù)的寫入和讀取。DM9161E的MDINTR端用來(lái)產(chǎn)生中斷信號(hào),。片內(nèi)以太網(wǎng)卡通過(guò)DMA通道進(jìn)行數(shù)據(jù)發(fā)送,,不影響AT91SAM7X256的正常運(yùn)行。首先正確設(shè)置傳送控制寄存器和傳送地址寄存器的傳送數(shù)據(jù)塊字節(jié)數(shù),、數(shù)據(jù)塊存儲(chǔ)首地址等參數(shù),,隨后依次從指定數(shù)據(jù)存儲(chǔ)區(qū)地址讀取數(shù)據(jù),,送入內(nèi)部發(fā)送緩沖器中,由MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送,,同時(shí)記錄已傳送字節(jié)數(shù),,直到數(shù)據(jù)塊發(fā)送完畢。當(dāng)發(fā)送完一組數(shù)據(jù)后,,發(fā)出DMA中斷請(qǐng)求,,由AT91SAM-7X256進(jìn)行相應(yīng)的處理。整個(gè)網(wǎng)絡(luò)子系統(tǒng)電路由AT91SAM7X256控制和調(diào)度,。
3.3 相機(jī)控制模塊
   
相機(jī)控制模塊包括圖像采集傳感器OV7720和相機(jī)控制芯片OV529,。OV7720內(nèi)含A/D轉(zhuǎn)換和DSP,能夠直接將圖像信號(hào)數(shù)字化,,并通過(guò)相機(jī)接口向OV529直接輸出并行的數(shù)字化圖像信號(hào),。
    OV529自帶的MCU進(jìn)行各種控制,它通過(guò)串行相機(jī)控制總線(SCCB)與OV7720交互控制信息實(shí)現(xiàn)對(duì)圖像傳感器的控制和數(shù)據(jù)采集,。OV529包含一個(gè)壓縮引擎,,對(duì)從OV7720采集的圖像信息幀進(jìn)行壓縮,壓縮后的信號(hào)經(jīng)OV529的串行通信傳給主控芯片AT91SAM7X512,,再經(jīng)AT91SAM7X512上的MAC層處理,,通過(guò)網(wǎng)絡(luò)接口將視頻流發(fā)送到網(wǎng)絡(luò)上。

4 軟件設(shè)計(jì)
   
嵌入式Linux系統(tǒng)由4個(gè)部分組成:引導(dǎo)內(nèi)核啟動(dòng)的文件bootloader,,Linux內(nèi)核文件kernel,,虛擬磁盤文件ramdisk和用戶空間文件use-r。它們分別被放在DATAFLASH內(nèi)的4個(gè)分區(qū)模塊中,。根據(jù)不同模塊的具體功能采用不同的文件系統(tǒng):bootloader,,kernel,ramdisk,。移植完成后不需要?jiǎng)討B(tài)改變,,使用較節(jié)省空間的ROMFS只讀文件系統(tǒng)。user模塊內(nèi)放置一些可以動(dòng)態(tài)更新的配置文件等,。需要進(jìn)行較多次的讀/寫操作,,所以使用支持動(dòng)態(tài)擦寫保存的JFFS2文件系統(tǒng)。
4.1 CGI控制程序設(shè)計(jì)
   
應(yīng)用程序接口(Common Gateway Interface,,CGI),,提供Web Server執(zhí)行外部程序的通道,CGI程序編譯成可執(zhí)行文件,,放在服務(wù)器端運(yùn)行,,服務(wù)器根據(jù)用戶的請(qǐng)求調(diào)用相應(yīng)的CGI程序,并將CGI程序得到的動(dòng)態(tài)信息封裝到頁(yè)面中,,發(fā)送到用戶瀏覽器上,。該系統(tǒng)CGI的工作過(guò)程是在PC機(jī)端的IE瀏覽器中輸入網(wǎng)絡(luò)攝像機(jī)IP地址,,嵌入式網(wǎng)絡(luò)服務(wù)器根據(jù)要求,將相應(yīng)的控制頁(yè)面反饋給IE瀏覽器,,用戶填寫表單,,然后提交,CGI程序提取信息,,并根據(jù)得到的信息作相應(yīng)的處理,,如調(diào)節(jié)相機(jī)的轉(zhuǎn)向、焦距等,。CGI模塊的設(shè)計(jì)主要包括三部分:嵌入式Web服務(wù)器的配置,、HTML頁(yè)面的編寫、CGI程序的設(shè)計(jì),。嵌入式Web服務(wù)器采用的是Apache,,其配置是以配置文件的形式提供,放在Ramdisk中,,其配置主要涉及配置根文件路徑,、配置CGI外部程序所放的路徑和配置環(huán)境變量三個(gè)方面。網(wǎng)頁(yè)編寫采用HTML與SHTML相結(jié)合的方式,。HTML的解析速度較快,,SHTML可以在普通網(wǎng)頁(yè)中嵌入外部CGI程序,通過(guò)這種方式將系統(tǒng)的默認(rèn)配置反饋給客服端,。CGI程序采用的是C語(yǔ)言和Shell腳本相結(jié)合的方式,,具體編寫過(guò)程與Linux下編程相同。
4.2 解碼程序
   
該部分已成功做成Toolbox插件,,該插件只要在PC機(jī)上注冊(cè)安裝后,,就可方便地被網(wǎng)頁(yè)調(diào)用,,從而實(shí)現(xiàn)在PC機(jī)上實(shí)時(shí)觀看視頻,。安裝后的實(shí)圖如圖2所示。



5 結(jié)語(yǔ)
   
本文利用CMOS圖像傳感器設(shè)計(jì)了一款嵌入式網(wǎng)絡(luò)攝像機(jī),。經(jīng)測(cè)試,,系統(tǒng)穩(wěn)定、可靠,、實(shí)時(shí)性好,,圖像清晰度明顯好于同價(jià)位的產(chǎn)品,,完全可滿足目前網(wǎng)絡(luò)攝像頭市場(chǎng)對(duì)中、低端產(chǎn)品的要求,,具有良好的市場(chǎng)前景,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。