基于A(yíng)T91RM9200的嵌入式網(wǎng)絡(luò )攝像機的設計與實(shí)現
4.1 MPEG-4壓縮編碼模塊程序設計
該模塊主要完成MPG440和TI5150相關(guān)寄存器的配置,并保證MPEG-4碼流的正常輸出。當嵌入式Linux系統啟動(dòng)后,首先配置MPG440的相關(guān)寄存器,其初始化完成后,通過(guò)I2C總線(xiàn)對TVP5150進(jìn)行初始化配置[2]。當系統開(kāi)始壓縮編碼時(shí),MPEG-4碼流接收存儲程序由MPEG-440的數據流緩沖器標志信號控制。當1024b緩沖器滿(mǎn)時(shí),RISC_INT0置于低電平,微控制器通過(guò)DMA通道從MPG440的HPI口將碼流送到PC機端。MPEG-4壓縮編碼模塊程序流程如圖4所示。

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