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