基于CMOS圖像傳感器OV7720的網(wǎng)絡攝像機設計
3.3 相機控制模塊
相機控制模塊包括圖像采集傳感器OV7720和相機控制芯片OV529。OV7720內(nèi)含A/D轉(zhuǎn)換和DSP,能夠直接將圖像信號數(shù)字化,并通過相機接口向OV529直接輸出并行的數(shù)字化圖像信號。
OV529自帶的MCU進行各種控制,它通過串行相機控制總線(SCCB)與OV7720交互控制信息實現(xiàn)對圖像傳感器的控制和數(shù)據(jù)采集。OV529包含一個壓縮引擎,對從OV7720采集的圖像信息幀進行壓縮,壓縮后的信號經(jīng)OV529的串行通信傳給主控芯片AT91SAM7X512,再經(jīng)AT91SAM7X512上的MAC層處理,通過網(wǎng)絡接口將視頻流發(fā)送到網(wǎng)絡上。
4 軟件設計
嵌入式Linux系統(tǒng)由4個部分組成:引導內(nèi)核啟動的文件bootloader,Linux內(nèi)核文件kernel,虛擬磁盤文件ramdisk和用戶空間文件use-r。它們分別被放在DATAFLASH內(nèi)的4個分區(qū)模塊中。根據(jù)不同模塊的具體功能采用不同的文件系統(tǒng):bootloader,kernel,ramdisk。移植完成后不需要動態(tài)改變,使用較節(jié)省空間的ROMFS只讀文件系統(tǒng)。user模塊內(nèi)放置一些可以動態(tài)更新的配置文件等。需要進行較多次的讀/寫操作,所以使用支持動態(tài)擦寫保存的JFFS2文件系統(tǒng)。
4.1 CGI控制程序設計
應用程序接口(Common Gateway Interface,CGI),提供Web Server執(zhí)行外部程序的通道,CGI程序編譯成可執(zhí)行文件,放在服務器端運行,服務器根據(jù)用戶的請求調(diào)用相應的CGI程序,并將CGI程序得到的動態(tài)信息封裝到頁面中,發(fā)送到用戶瀏覽器上。該系統(tǒng)CGI的工作過程是在PC機端的IE瀏覽器中輸入網(wǎng)絡攝像機IP地址,嵌入式網(wǎng)絡服務器根據(jù)要求,將相應的控制頁面反饋給IE瀏覽器,用戶填寫表單,然后提交,CGI程序提取信息,并根據(jù)得到的信息作相應的處理,如調(diào)節(jié)相機的轉(zhuǎn)向、焦距等。CGI模塊的設計主要包括三部分:嵌入式Web服務器的配置、HTML頁面的編寫、CGI程序的設計。嵌入式Web服務器采用的是Apache,其配置是以配置文件的形式提供,放在Ramdisk中,其配置主要涉及配置根文件路徑、配置CGI外部程序所放的路徑和配置環(huán)境變量三個方面。網(wǎng)頁編寫采用HTML與SHTML相結(jié)合的方式。HTML的解析速度較快,SHTML可以在普通網(wǎng)頁中嵌入外部CGI程序,通過這種方式將系統(tǒng)的默認配置反饋給客服端。CGI程序采用的是C語言和Shell腳本相結(jié)合的方式,具體編寫過程與Linux下編程相同。
4.2 解碼程序
該部分已成功做成Toolbox插件,該插件只要在PC機上注冊安裝后,就可方便地被網(wǎng)頁調(diào)用,從而實現(xiàn)在PC機上實時觀看視頻。安裝后的實圖如圖2所示。本文引用地址:http://m.butianyuan.cn/article/162198.htm
5 結(jié)語
本文利用CMOS圖像傳感器設計了一款嵌入式網(wǎng)絡攝像機。經(jīng)測試,系統(tǒng)穩(wěn)定、可靠、實時性好,圖像清晰度明顯好于同價位的產(chǎn)品,完全可滿足目前網(wǎng)絡攝像頭市場對中、低端產(chǎn)品的要求,具有良好的市場前景。
評論