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