基于AT91RM9200的嵌入式網(wǎng)絡(luò)攝像機的設(shè)計與實現(xiàn)
4.1 MPEG-4壓縮編碼模塊程序設(shè)計
該模塊主要完成MPG440和TI5150相關(guān)寄存器的配置,并保證MPEG-4碼流的正常輸出。當嵌入式Linux系統(tǒng)啟動后,首先配置MPG440的相關(guān)寄存器,其初始化完成后,通過I2C總線對TVP5150進行初始化配置[2]。當系統(tǒng)開始壓縮編碼時,MPEG-4碼流接收存儲程序由MPEG-440的數(shù)據(jù)流緩沖器標志信號控制。當1024b緩沖器滿時,RISC_INT0置于低電平,微控制器通過DMA通道從MPG440的HPI口將碼流送到PC機端。MPEG-4壓縮編碼模塊程序流程如圖4所示。
本文引用地址:http://www.ex-cimer.com/article/152449.htm
圖5 MPEG-4壓縮編碼模塊程序流程圖
4.2 CGI程序模塊設(shè)計
CGI(Common Gateway Interface)是外部擴展應(yīng)用程序與WWW服務(wù)器交互的一個標準接口。本系統(tǒng)CGI的工作過程:在PC機端的IE瀏覽器中輸入網(wǎng)絡(luò)攝像機IP地址,嵌入式網(wǎng)絡(luò)服務(wù)器根據(jù)請求,將相應(yīng)的控制頁面反饋給IE瀏覽器,用戶填寫表單,然后提交,CGI程序提取表單的信息,根據(jù)不同信息來分別處理相應(yīng)的事件,如調(diào)節(jié)MPEG-4相關(guān)屬性、相機的相關(guān)操作等。CGI控制原理如圖5所示。
圖6 CGI控制原理圖
CGI模塊的設(shè)計主要包括三部分:嵌入式web服務(wù)器的配置、html頁面的編寫、CGI程序的設(shè)計。
嵌入式web服務(wù)器采用的是Apache,其配置是以配置文件的形式提供,放在Ramdisk中/etc/httpd/conf/目錄下。其配置主要涉及以下三個方面:
○1配置根文件的路徑:“DocumentRoot /home/httpd/html”,html頁面必須放到此目錄下。
○2配置CGI外部程序所放的路徑:“ScriptAlias /cgi-bin/ home/httpd/cgi-bin/”。
○3配置環(huán)境變量:“SetEenv D_LIBRARY_PATH=/lib:/usr/local/lib:/usr/lib”,該變量將會被傳送到 CGI 腳本和SSI頁面,以保證CGI程序能正確找到所依賴的庫。
網(wǎng)頁編寫采用html與shtml相結(jié)合的方式。html的解析速度較快,shtml可以在普通網(wǎng)頁中嵌入外部CGI程序,通過這種方式將系統(tǒng)的默認配置反饋給客戶端。
CGI程序采用的是C語言和shell腳本相結(jié)合的方式, 具體編寫過程,與通常的了Linux下編程相同。限于篇幅,不再贅述。
4.3 MPEG-4解碼程序
映佳科技已提供供二次開發(fā)的MPEG-4解碼插件OCX,OCX在PC機端注冊后,OCX函數(shù)可方便地被網(wǎng)頁調(diào)用,從而實現(xiàn)在PC機端觀看實時圖像。
5 總結(jié)
本文介紹了一種利用AT91RM9200、TVP5150,MPG440和DM9161E等芯片設(shè)計的嵌入式網(wǎng)絡(luò)攝像機。經(jīng)測試,該系統(tǒng)穩(wěn)定、可靠、實時性好、圖像質(zhì)量出色。該產(chǎn)品可廣泛應(yīng)用于交通監(jiān)控和工業(yè)監(jiān)控以及家庭監(jiān)控、視頻會議話等眾多領(lǐng)域。
評論