視頻監(jiān)控系統(tǒng)以其數(shù)字化、網(wǎng)絡(luò)化和智能化等方面的特征廣泛應(yīng)用于各種場合。隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,通過網(wǎng)絡(luò)進(jìn)行重要場所的監(jiān)控越來越引起人們的關(guān)注和重視。傳統(tǒng)的視頻監(jiān)控系統(tǒng)圖像的壓縮解壓都是基于PC 機(jī),在穩(wěn)定性,可靠性方面都受到限制。近年來,隨著嵌入式技術(shù)的發(fā)展,嵌入式設(shè)備體積小、集成度高、高效可靠、可移植、功耗低等一系列優(yōu)點(diǎn)使得基于嵌入式的視頻監(jiān)控系統(tǒng)逐漸取代了傳統(tǒng)的視頻監(jiān)控系統(tǒng)。筆者所介紹的嵌入式視頻服務(wù)器是建立在嵌入式WEB 服務(wù)器的基礎(chǔ)上,基于AT91RM9200微處理器,采用Linux 實(shí)時(shí)操作系統(tǒng),由專門的視頻芯片接收數(shù)字視頻數(shù)據(jù)完成壓縮編碼,生成MPEG-4 碼流,通過內(nèi)部總線傳送到WEB 服務(wù)器上, 遠(yuǎn)程授權(quán)用戶可以通過網(wǎng)絡(luò)瀏覽器觀看WEB 上的圖像信息,控制圖像獲取方式。該系統(tǒng)保證了圖像質(zhì)量,客戶端零維護(hù),開發(fā)便捷,成本低廉。
1 系統(tǒng)的整體設(shè)計(jì)
整個(gè)系統(tǒng)分為硬件和軟件2 個(gè)部分。硬件部分分為4 個(gè)模塊:視頻采集模塊,視頻壓縮編碼模塊,網(wǎng)絡(luò)傳輸模塊和其他輔助功能模塊。系統(tǒng)采用B/S 模式。軟件部分分為視頻圖像采集的驅(qū)動(dòng)程序,WEB 服務(wù)器程序,CGI 和用戶瀏覽器的網(wǎng)頁設(shè)計(jì)4 部分。系統(tǒng)整體結(jié)構(gòu)如圖1 所示。
2 系統(tǒng)硬件部分
本系統(tǒng)采用Atmel 公司的AT91RM9200微處理器。該處理器是高性能,低功耗的32 位RISC 微處理器,最高主頻為180 MHz,32 位外部數(shù)據(jù)總線支持8/16/32 位數(shù)據(jù)寬度,可對(duì)64 MB 空間尋址。內(nèi)部集成豐富的外設(shè)資源,MMU 管理單元,16 kB SRAM 和128 kB ROM,各種外圍接口,適用本系統(tǒng)的開發(fā)。AT91RM9200 微處理器的作用是在系統(tǒng)上電時(shí)配置芯片的相關(guān)功能寄存器,正常運(yùn)行時(shí)進(jìn)行總體控制,如接受視頻數(shù)據(jù)流,配置網(wǎng)絡(luò)接口,實(shí)現(xiàn)本地存儲(chǔ)等功能。
2.1 視頻采集模塊
本模塊的作用是把模擬視頻轉(zhuǎn)換成數(shù)字視頻,產(chǎn)生符合編碼芯片接口標(biāo)準(zhǔn)的數(shù)字視頻信號(hào)。采用的是TI 公司的TVP5150 低功耗視頻A/D 轉(zhuǎn)換芯片。TVP5150 支持NTSC/PAL/SECAM 3 種格式,可以輸出ITU-R BT.656 和ITU-R BT.601 兩種信號(hào), 考慮到編碼芯片的標(biāo)準(zhǔn), 本系統(tǒng)采用ITU-RBT.656 格式8 為數(shù)據(jù)串行傳輸。TVP5150 的AIPIA 為模擬信號(hào)輸入端,接收攝像頭的模擬視頻信號(hào)輸入。行同步脈沖和場同步脈沖分別對(duì)應(yīng)HSYNC 和VSYNC,分別連接編碼芯片的HSYNIN 和VSYNIN2 個(gè)引腳, 實(shí)現(xiàn)圖像的行同步和場同步操作。YOUT[7:0]為數(shù)據(jù)輸出引腳,將數(shù)字視頻信號(hào)送到編碼芯片的數(shù)據(jù)接收端。SCL 和SDA 分別為I2C 接口的串行時(shí)鐘和數(shù)據(jù)引腳,AT91RM9200 對(duì)TVP5150 的內(nèi)部寄存器的訪問是通過I2C 總線實(shí)現(xiàn)的。
2.2 視頻壓縮編碼模塊
動(dòng)態(tài)圖像被數(shù)字化處理成YUV 格式,數(shù)據(jù)量非常大。未經(jīng)壓縮的CIF 格式的RGB 數(shù)據(jù)至少需要58.01 Mb/s,因此視頻數(shù)據(jù)在傳輸和處理的過程中必須經(jīng)過壓縮。視頻編碼標(biāo)準(zhǔn)有MPEG-1,MPEG-2,MPEG-4,M-JPEG 和H.26x 系列。本系統(tǒng)采用的是MPEG-4標(biāo)準(zhǔn)。MPEG(Moving Pictures ExpertsGroup),該專家組成立于1988 年,致力于運(yùn)動(dòng)圖像的編碼標(biāo)準(zhǔn)化工作。MPEG-4 是該專家組研制出來的于1999 年正式成為ISO 和IEC 聯(lián)合制定的國際編碼標(biāo)準(zhǔn)。MPEG-4 與其他編碼標(biāo)準(zhǔn)相比,相同比特率下,具有更高的視覺質(zhì)量,可以在低帶寬的信道上傳輸。本系統(tǒng)采用韓國Pentamicro 公司的壓縮/解壓芯片AT2042,AT2042 接收經(jīng)過TVP5150 進(jìn)行A/D轉(zhuǎn)換的數(shù)字視頻數(shù)據(jù)。AT2042 支持視頻壓縮和音頻壓縮標(biāo)準(zhǔn),支持CBR 和VBR 兩種碼率。采用ITU-R 656 接口標(biāo)準(zhǔn)。
工作原理:在AT91RM9200 的控制下,要進(jìn)行壓縮編碼的數(shù)據(jù)經(jīng)AT2042 的FIFO 口輸入。AT2042 的解壓是壓縮的逆過程。本系統(tǒng)中,AT2042 的數(shù)據(jù)接收端VIN[7:0]接收TVP5150的YOUT [7:0] 端輸出的數(shù)據(jù), 同時(shí)AT2042 的HSYNIN 和VSYNIN 信號(hào)分別和TVP5150 的HSYN 和VSYN 相連,實(shí)現(xiàn)圖像的行同步和場同步操作。接收來的數(shù)據(jù)送到AT2042 的壓縮編碼處理單元, 壓縮編碼后送到芯片外部的SDRAM 中存儲(chǔ), 通過片內(nèi)的SDRAM 控制器可以實(shí)現(xiàn)對(duì)外部SDRAM的訪問, 并通過HPI 與AT91RM9200 微處理器進(jìn)行通信,以便遠(yuǎn)程監(jiān)控端的實(shí)時(shí)監(jiān)控。視頻壓縮編碼框圖如圖2 所示。
圖2 視頻壓縮編碼框圖
2.3 網(wǎng)絡(luò)傳輸模塊
本模塊是采用LAN91C11構(gòu)建嵌入式以太網(wǎng),實(shí)現(xiàn)視頻數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)耐贰AN91C11 是SMSC 公司推出的快速以太網(wǎng)控制器。芯片上集成MAC 和PHY, 符合IEEE802.3/802.U-100Base-Tx/10Base-T 規(guī)范。AT91RM9200 微處理器通過地址、數(shù)據(jù)、控制線和片選信號(hào)線對(duì)LAN91C11 進(jìn)行通信和控制。網(wǎng)絡(luò)傳輸硬件連接原理圖如圖3 所示。AT91RM9200發(fā)送數(shù)據(jù)時(shí),首先置發(fā)送使能信號(hào)ETXEN 有效。數(shù)據(jù)發(fā)送端ETX [1:0] 與LAN91C11 的TXD [1:0] 引腳相連接。以AT91RM9200 的時(shí)鐘信號(hào)EXTCK 發(fā)送視頻數(shù)據(jù)。數(shù)據(jù)的接收端ERX[1:0]與LAN91C11 的RXD[1:0]引腳相連接,接收視頻數(shù)據(jù)。EMDI0 和EMDC 分別控制芯片的讀寫。數(shù)據(jù)從DMA通道發(fā)送。在發(fā)送數(shù)據(jù)時(shí),首先設(shè)置好傳輸控制寄存器和傳輸傳輸?shù)刂芳拇嫫?,從指定的存?chǔ)區(qū)取數(shù)據(jù),并且記錄發(fā)送完的字節(jié)數(shù), 數(shù)據(jù)發(fā)送完之后,LAN19C11 產(chǎn)生中斷信號(hào),請(qǐng)求DMA 中斷,由AT91RM9200 處理。
圖3 傳輸網(wǎng)絡(luò)硬件連接圖
2.4 其他輔助功能模塊
該模塊包括Flafh、SDRAM、以太網(wǎng)接口、串口和USB 接口。用來實(shí)現(xiàn)操作系統(tǒng)內(nèi)核和應(yīng)用程序的存儲(chǔ),網(wǎng)絡(luò)傳輸,本地存儲(chǔ)和遠(yuǎn)程控制。
3 系統(tǒng)軟件部分
嵌入式Linux 實(shí)時(shí)操作系統(tǒng),穩(wěn)定、高效、易定制、易剪裁、開源代碼,因此本系統(tǒng)采用Linux 操作系統(tǒng)。軟件部分分為Bootloader 文件,Linux 內(nèi)核文件Linux 驅(qū)動(dòng)和應(yīng)用程序,用戶應(yīng)用程序。這里主要介紹MPEG-4 和CGI 技術(shù)的程序設(shè)計(jì)。
3.1 MPEG-4 壓縮編碼程序設(shè)計(jì)
本系統(tǒng)采用MPEG-4 標(biāo)準(zhǔn)對(duì)視頻圖像進(jìn)行壓縮編碼。在實(shí)現(xiàn)MPEG-4 編碼的方式上, 有硬件壓縮和軟件壓縮兩種。
硬件壓縮就是利用專門的壓縮芯片對(duì)視頻信號(hào)進(jìn)行MPEG-4 編碼, 軟件壓縮就是使用壓縮軟件對(duì)視頻信號(hào)進(jìn)行編碼。
AT2042 支持MPEG-4 壓縮標(biāo)準(zhǔn)。實(shí)現(xiàn)方法方面就是對(duì)其相關(guān)寄存器的配置,包括編碼模式、編碼像素點(diǎn)、編碼幀率和設(shè)置編碼流格式等方面。具體過程:系統(tǒng)上電啟動(dòng)后,先配置AT2042 的相關(guān)寄存器,完成初始化工作后,通過I2C 總線對(duì)A/D 轉(zhuǎn)換芯片TVP5150 進(jìn)行初始化配置。所有的寄存器配置工作完成之后,開始編碼過程。其中MPEG-4 數(shù)據(jù)流接收存儲(chǔ)程序有AT2042 的數(shù)據(jù)流緩沖器標(biāo)志信號(hào)來控制。緩沖器接收數(shù)據(jù)滿之后置低RISC_INT0,AT91RM9200 主控制器通過DMA 通道把AT2042 發(fā)送過來的碼流通過網(wǎng)絡(luò)通道傳輸?shù)秸?qǐng)求監(jiān)控視頻圖像的監(jiān)控端。壓縮編碼的流程圖如圖4 所示。
圖4 壓縮編碼流程圖
3.2 CGI 程序設(shè)計(jì)
在嵌入式Linux 環(huán)境下,主要有3 種Web 服務(wù)器,分別是httpd、thttpd 和Boa。Httpd 功能最弱,不支持CGI、SSL 和認(rèn)證。本系統(tǒng)需要交互操作, 必須使用動(dòng)態(tài)Web 技術(shù), 采用Boa。Boa 功能強(qiáng)大,支持CGI,支持SSL,支持認(rèn)證。使用時(shí)只需交叉編譯,修改一下配置文件即可。CGI[7]即通用網(wǎng)關(guān)接口,是外部擴(kuò)展應(yīng)用程序與Web 服務(wù)器交互的標(biāo)準(zhǔn)。客戶端使用瀏覽器向服務(wù)器發(fā)送HTTP 請(qǐng)求, 服務(wù)器響應(yīng)客戶端的請(qǐng)求后,引導(dǎo)腳本程序,對(duì)命令解析,將信息提交給后臺(tái)———CGI處理。具體到本系統(tǒng),就是PC 機(jī)端通過瀏覽器輸入服務(wù)器的IP 地址,Web 服務(wù)器根據(jù)請(qǐng)求進(jìn)行分析,如果沒有傳來參數(shù),則調(diào)用get-status()函數(shù)取得設(shè)備當(dāng)前狀態(tài)顯示給瀏覽器。用戶根據(jù)操作界面提示完成相應(yīng)的操作,填寫好表單設(shè)置設(shè)備參數(shù)并提交。CGI 解析信息后通過get-status()函數(shù)設(shè)置新狀態(tài),實(shí)現(xiàn)交互功能。例如調(diào)節(jié)編碼屬性,對(duì)相機(jī)控制等。
CGI 的輸入輸出基本語法:
M ETHOD 屬性指定將數(shù)據(jù)傳送到Web 服務(wù)器的方法,輸入方法有兩種。
1)GET 方法。此方法,表單數(shù)據(jù)會(huì)附加在所指向CGI腳本的URL 后一起發(fā)送給Web 服務(wù)器,Web 服務(wù)器將接收到的表單數(shù)據(jù)賦予環(huán)境變量QU ERY-STR NG。
2)POST 方法。POST 方法通過使用標(biāo)準(zhǔn)輸入(STDN)將表單數(shù)據(jù)傳送給Web 服務(wù)器,Web 服務(wù)器啟動(dòng)指定的腳本,并將用戶提供的數(shù)據(jù)傳入該腳本。
ACTON 屬性定義要對(duì)表單數(shù)據(jù)進(jìn)行處理的CGI 腳本URL。
CGI 輸出:CGI 輸出方式是將執(zhí)行結(jié)果送給標(biāo)準(zhǔn)輸出(STDOUT) 進(jìn)行輸出, 執(zhí)行結(jié)果必須是瀏覽器能夠顯示的HTML 標(biāo)準(zhǔn)格式。流程圖如圖5 所示。
圖5 Web 服務(wù)器CGI 程序流程圖
CGI 可以用shell 腳本語言、Fottran、C 語言等多種語言編寫。本系統(tǒng)中采用C 語言實(shí)現(xiàn)CGI 的編寫,執(zhí)行速度快,安全性高。
4 結(jié)論
介紹了基于AT91RM9200 微處理器的嵌入式監(jiān)控系統(tǒng)的視頻服務(wù)器設(shè)計(jì),采用A/D 轉(zhuǎn)換芯片TVP5150 對(duì)模擬視頻數(shù)據(jù)進(jìn)行數(shù)字化處理, 生成符合壓縮編碼芯片AT2042接口標(biāo)準(zhǔn)的視頻數(shù)據(jù)流。在AT91RM9100 的控制和調(diào)度下,將視頻數(shù)據(jù)發(fā)送到PC 端。系統(tǒng)采用低編碼率的MPEG-4 編碼標(biāo)準(zhǔn),CGI 技術(shù),實(shí)現(xiàn)可靠的圖像質(zhì)量的交互功能。
-
嵌入式
+關(guān)注
關(guān)注
5096文章
19189瀏覽量
308026 -
視頻監(jiān)控
+關(guān)注
關(guān)注
17文章
1711瀏覽量
65188 -
微處理器
+關(guān)注
關(guān)注
11文章
2274瀏覽量
82817
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
用AT91 RM9200構(gòu)建高可靠嵌入式系統(tǒng)
推薦:AT91RM9200嵌入式核心控制器模塊
at91rm9200定時(shí)器
S1D13506顯示控制器與AT91RM9200的接口設(shè)計(jì)
μCGUI移植到AT91RM9200的過程及接口設(shè)計(jì)
嵌入式監(jiān)控系統(tǒng)的視頻服務(wù)器該如何去設(shè)計(jì)?
AT91RM9200中文手冊(cè) AT91RM9200中文資料
AT91RM9200簡明手冊(cè).pdf
at91rm9200啟動(dòng)過程教程
AT91RM9200處理器同步串口SSC的特性分析
基于AT91RM9200的手持設(shè)備的低功耗設(shè)計(jì)
![基于<b class='flag-5'>AT91RM9200</b>的手持設(shè)備的低功耗設(shè)計(jì)](https://file.elecfans.com/web2/M00/49/3D/pYYBAGKhtECAUiyLAAAPS-SWZw4791.jpg)
基于AT91RM9200 處理器系統(tǒng)中BootLoader與內(nèi)核的參數(shù)傳遞
![基于<b class='flag-5'>AT91RM9200</b> <b class='flag-5'>處理器</b><b class='flag-5'>系統(tǒng)</b>中BootLoader與內(nèi)核的參數(shù)傳遞](https://file.elecfans.com/web1/M00/4E/4C/o4YBAFq67YuAOTQMAABj1A2cKy8853.png)
評(píng)論