時間:2010-06-28 16:16:23來源:shixi
摘要:設(shè)計了一種基于嵌入式開發(fā)平臺的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)方案,系統(tǒng)基于ATMEL公司生產(chǎn)的AT91RM9200微處理器為核心。本文給出了系統(tǒng)的整體結(jié)構(gòu)框圖,分析和設(shè)計了系統(tǒng)的存儲模塊、視頻采集模塊、外圍電路模塊。給出了軟件設(shè)計方案。測試結(jié)果表明該方案可滿足當(dāng)前多種場合的視頻監(jiān)控的要求。
關(guān)鍵詞:AT91RM9200 嵌入式系統(tǒng) 視頻監(jiān)控
Hardware Design of One Kind of Embedded Network Video Monitoring System
Li Qian
(Shandong Vocational College of industry Shandong-zibo 256414)
Abstract:The article introduces a design and implementation scheme of network video monitoring system based on embedded development platform. The system takes AT91RM9200 microprocessor made in ATMEL's company as the core,and gives out holistic block diagram,analysis and design of the system memory modules,video capture modules, peripheral circuit modules and software design.Test results show that the program meets a variety of occasions, the current video surveillance needs.
Keywords: AT91RM9200 Embedded System Video Monitoring
一、引言
應(yīng)用嵌入式網(wǎng)絡(luò)技術(shù)的監(jiān)控系統(tǒng)是監(jiān)控領(lǐng)域最新的發(fā)展趨勢,嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)是電子技術(shù)、計算機(jī)技術(shù)、通信技術(shù)和自動化技術(shù)快速發(fā)展并相互結(jié)合的高新技術(shù)產(chǎn)品,嵌入式網(wǎng)絡(luò)技術(shù)改變以往的監(jiān)控系統(tǒng)體系結(jié)構(gòu),滿足了現(xiàn)代監(jiān)控系統(tǒng)的可擴(kuò)展性、分布式、實時性等,可廣泛應(yīng)用在電信、電力、交通、銀行、水利、智能大廈等領(lǐng)域。正是在這一背景下,本文設(shè)計了一種嵌入式網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng),該系統(tǒng)在32位高性能嵌入式處理器和專用視頻壓縮芯片的硬件平臺上,采用MPEG-4編碼技術(shù),嵌入式Linux操作系統(tǒng)和流媒體技術(shù)進(jìn)行設(shè)計。利用本系統(tǒng)可以進(jìn)行網(wǎng)絡(luò)數(shù)字化視頻監(jiān)控,具有體積小、圖像質(zhì)量穩(wěn)定、遠(yuǎn)距離監(jiān)控等優(yōu)點,具有良好的應(yīng)用與發(fā)展前景。
本文從視頻監(jiān)控技術(shù)的發(fā)展歷史和嵌入式系統(tǒng)的現(xiàn)狀入手,分析了嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)相關(guān)技術(shù),對通用的嵌入式處理器和專用視頻壓縮芯片進(jìn)行了深入的研究,給出了整個系統(tǒng)的設(shè)計方案和功能規(guī)劃?;谏厦娴谋尘昂蛯κ袌鲞M(jìn)行深入調(diào)查取證,研究了目前流行的嵌入式系統(tǒng)和MPEG-4專用視頻壓縮芯片方案,在嵌入式系統(tǒng)方面確定了在AT91RM9200芯片上構(gòu)建嵌入式Web服務(wù)器的解決方案。
二、系統(tǒng)的總體設(shè)計
整個網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu),從主體上分為兩部分:服務(wù)器端和客戶端。服務(wù)器端主要包括嵌入式處理器、攝像頭及其他外圍輔助設(shè)備,同時還包含運(yùn)行在嵌入式平臺上的采集、壓縮與傳輸程序;客戶端則是普通PC機(jī),通過它進(jìn)行圖像接收與回放。網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的基本處理機(jī)理,即前端的視頻監(jiān)控服務(wù)器從現(xiàn)場的攝像頭捕獲實時的視頻信息,壓縮處理后再通過以太網(wǎng)傳輸?shù)竭h(yuǎn)端的監(jiān)控終端上。
系統(tǒng)的整體結(jié)構(gòu)如圖1所示,視頻圖像采集和打包發(fā)送在服務(wù)器端完成,圖像的接收與回放將在客戶端完成。
圖1、系統(tǒng)結(jié)構(gòu)圖
三、系統(tǒng)的硬件設(shè)計
系統(tǒng)采用模塊化設(shè)計方案,主要包括以下幾個模塊:主控制器模塊、存儲電路模塊、外圍接口電路模塊、電源和復(fù)位電路,如圖2所示。
圖2、系統(tǒng)硬件結(jié)構(gòu)圖
1、AT91RM9200主控器模塊
主控器模塊是整個系統(tǒng)的核心,選用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T 核的32位微控制器。該處理器最高運(yùn)行頻率可達(dá)到200MPS,它的低功耗、精簡和全靜態(tài)設(shè)計特別適合于對成本和功耗敏感的應(yīng)用。AT91RM9200提供了豐富的片內(nèi)資源,支持Linux,是本系統(tǒng)的合適選擇。它能完成整個系統(tǒng)的調(diào)度工作,在系統(tǒng)上電時配置所有需工作的芯片的功能寄存器,完成視頻流的編碼,并通過以太網(wǎng)控制器控制物理層芯片發(fā)送視頻碼流。
AT91RM9200微處理器最高主頻為180 MHz,其雙向、32位外部數(shù)據(jù)總線支持8/16/32位數(shù)據(jù)寬度,26位地址總線可以對最大64 MB空間進(jìn)行尋址。片內(nèi)集成了非常豐富的外圍功能模塊,包括內(nèi)存管理單元(MMU)、內(nèi)部包含16 KB的SRAM和128 KB的ROM,16 KB的數(shù)據(jù)緩存以及16 KB的指令緩存。其外部總線接口控制器(EBI),支持SDRAM,靜態(tài)存儲器,Burst FLASH以及Compact FLASH。為了提高系統(tǒng)性能還擴(kuò)展了以下外設(shè);增強(qiáng)的時鐘發(fā)生器與電源管理控制器(PMC);系統(tǒng)定時器(ST);實時時鐘(RTC);高級中斷控制器(AIC);4個32位PIO控制器;20通道的外設(shè)數(shù)據(jù)控制器(PDC);10/100兆Base-T型以太網(wǎng)卡接口;4個通用同步/異步串行收發(fā)器(UASRT)以及JTAG/ICE接口等。
在系統(tǒng)中AT91RM9200需要1.8 V和3.3 V電源,另外,大部分外圍器件需要3.3 V電源,小部分外圍器件還需要5 V電源,假設(shè)輸入電壓為5 V直流穩(wěn)壓電源。為了得到可靠的3.3 V電壓,此處選用的電壓轉(zhuǎn)換芯片是NCPlll7ST33T3,它的輸入電壓為5 V,輸出電壓為3.3 V,最大輸出電流為0.8 A。同樣,為了得到可靠的1.8 V電壓,選用NCPlll7STl8T3,它的輸入電壓為5 V,輸出電壓為1.8 V,最大輸出電流為0.8 A。由于3.3 V和1.8 V屬于NCPlll7系列的2個固定輸出電壓,所以設(shè)計比較簡單,只需要在電路中與芯片并聯(lián)2個典型值為10 tlf、的濾波電容即可。
2、系統(tǒng)存儲電路模塊
主控器還需一些外圍存儲單元如Nor Flash和SDRAM。Nor Flash 中包含Linux 的Bootloader、系統(tǒng)內(nèi)核、文件系統(tǒng)、應(yīng)用程序以及環(huán)境變量和系統(tǒng)配置文件等等,同時還預(yù)留了一部分空間作為用戶使用;SDRAM讀寫速度快,系統(tǒng)運(yùn)行時把它作為內(nèi)存單元使用。為充分保證系統(tǒng)的可擴(kuò)充性,系統(tǒng)設(shè)計采用了8M的Nor Flash和64M的SDRAM。
在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計中,F(xiàn)lash用于存放操作系統(tǒng)、文件系統(tǒng)和驅(qū)動程序等;SDRAM主要用作運(yùn)行嵌入式操作系統(tǒng)、應(yīng)用服務(wù)程序和臨時存放視音頻信息。Flash存儲器選用的是Spansion的S29AL016D70TF。它是一個16 Mbit的Flash存儲器,容量為2,097,152個字節(jié);采用48腳TSOP封裝和3.0V電源供電。S29AL016D70TF與Hi3510的接口連接框圖如圖3所示。其中。CE#管腳為芯片使能輸入,由于此Flash用于存儲引導(dǎo)程序,故此引腳連接EBICSlN#;OE#管腳為輸出使能輸入,連接EBIOEN;RY/BY為準(zhǔn)備或忙輸出管腳,懸空。
圖3 Flash存儲器接口設(shè)計框圖
SDRDM存儲器選用的是Hynix的HY57V281620ET,它的容量位是16MB(4Banks×2M×16bits),單片數(shù)據(jù)寬度是16位,為了增大數(shù)據(jù)吞吐能力,選取兩片SDRAM構(gòu)成32位地址寬度,存儲容量為32MB,HY57V281620ET的工作電壓為3.3V,常見封裝為54腳TSOP,兼容LVTTL接口。支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh)。HY57V281620ET與Hi3510的接口連接框圖如圖4所示。
圖4 SDRDM存儲器接口設(shè)計框圖
3、視頻采集模塊設(shè)計
視頻采集芯片選用Philips公司生產(chǎn)的SAA7113H,它是一款功能強(qiáng)大且操作簡單的9位視頻輸入處理芯片,采用CMOS工藝,通過I2C總線與處理器或DSP連接可方便地構(gòu)成應(yīng)用系統(tǒng)。它內(nèi)部包含四路模擬處理通道,可以選擇視頻信號源并可抗混疊濾波,同時還可以進(jìn)行模數(shù)轉(zhuǎn)換、自動箝位、自動增益控制(AGC)、時鐘產(chǎn)生(CGC)、多制式解碼,另外還可以對亮度、對比度和飽和度進(jìn)行控制。設(shè)置SAA7113H芯片的工作時鐘為24.576MHz,數(shù)據(jù)輸出格式為4:2:2,幀頻為25fps。視頻采集芯片SAA7113H在上電后,并不是立即采集模擬視頻信號進(jìn)行A/D轉(zhuǎn)換,它必須由Hi3510通過I2C總線對其內(nèi)部寄存器進(jìn)行初始化設(shè)置后,才能正常工作。視頻采集芯片SAA7113H與Hi3510的接口連接框圖如圖5所示。
圖5視頻采集電路原理框圖
4、外圍電路模塊
本設(shè)計用到的外設(shè)有USB接口,網(wǎng)卡接口,串行接口和JTAG接口。同時為保證系統(tǒng)將來的可擴(kuò)展性,系統(tǒng)還預(yù)留了PC104接口和大量的GPIO接口。AT91RM9200處理器的片內(nèi)以太網(wǎng)卡端口和網(wǎng)絡(luò)物理層芯片DM9161E 的MII 接口通信。而且片內(nèi)以太網(wǎng)卡內(nèi)置了獨立的雙緩沖的讀寫DMA 通道,這樣大大提供了數(shù)據(jù)的發(fā)送速度,同時不影響AT91RM9200 的正常運(yùn)行。
為保證視頻采集質(zhì)量,監(jiān)控系統(tǒng)選用了羅技等高端品牌的產(chǎn)品,然后攝像頭通過專用的USB集線器與處理器單元的USB接口連接。在實時監(jiān)控狀態(tài)下,各個攝像頭上捕獲的圖像數(shù)據(jù)通過USB集線器傳輸?shù)揭曨l監(jiān)控系統(tǒng)的USB主控制器模塊上,然后再由USB主控制器模塊交由AT91RM9200處理器集中處理。AT91RM9200對采集到的圖像進(jìn)行實時編碼壓縮,編碼之后的碼流直接傳輸?shù)桨l(fā)送緩沖區(qū)中,等候發(fā)送。最后由上層應(yīng)用程序?qū)⑻幚砗蟮囊曨l數(shù)據(jù)通過以太網(wǎng)口進(jìn)行發(fā)送。
四、軟件方案
統(tǒng)的應(yīng)用軟件建立在Linux操作系統(tǒng)之上,嵌入式Linux具有許多優(yōu)點,如開放源碼,功能強(qiáng)大的內(nèi)核,支持多用戶、多線程、多進(jìn)程、實時性好、功能強(qiáng)大穩(wěn)定;大小功能可定制等。本系統(tǒng)采用的嵌入式Linux系統(tǒng)是基于2.6.21的內(nèi)核,支持了內(nèi)核搶占式調(diào)度,同時調(diào)度周期為1ms,因此大大保證了系統(tǒng)的實時性。此外,系統(tǒng)內(nèi)嵌的嵌入式Linux系統(tǒng)實現(xiàn)了對所有硬件設(shè)備的驅(qū)動支持,如基于Flash的文件系統(tǒng)、網(wǎng)卡驅(qū)動程序、USB驅(qū)動程序等等,完全保證了系統(tǒng)的可用性。
在本系統(tǒng)中,軟件設(shè)計可分為3部分:視頻圖像數(shù)據(jù)采集、圖像數(shù)據(jù)的JPEG壓縮以及系統(tǒng)平臺的網(wǎng)絡(luò)通信。
1、視頻圖像數(shù)據(jù)采集的實現(xiàn)
先加載USB攝像頭驅(qū)動程序,接著就是編寫一個對視頻流采集的應(yīng)用程序。攝像頭中的各種I/O口的控制主要依靠Vide04Linux提供的應(yīng)用程序接口函數(shù)實現(xiàn),主要有Open、Read、Write等。V4L下的視頻采集1。在本系統(tǒng)中,將有關(guān)攝像頭的各種數(shù)據(jù)和結(jié)構(gòu)封裝成了一個類,主要用到的一些系統(tǒng)調(diào)用函數(shù)定義如下:
pen(“/dev/vide00”,O—RDWR):設(shè)備的打開。
lose(fd):設(shè)備的關(guān)閉。
map(void+addr,size—t len,int prot,int flags,int fd,off__t offset):
設(shè)備緩沖區(qū)到內(nèi)存空間的映射。
unmap(void*addr,size t len):采集工作結(jié)束后取消mmap和mbuf的綁定。
octl(int Rl,jnt cmd...,):控制I/O的通道。
2、Linux下圖象數(shù)據(jù)的JPEG壓縮
由于視頻信息數(shù)據(jù)量過大,因此必須在視頻傳輸前對圖像數(shù)據(jù)進(jìn)行壓縮處理。在本系統(tǒng)中,攝像頭采集過來的圖像數(shù)據(jù)格式為RGB24,通過調(diào)用Linux下的Libjpeg庫來實現(xiàn)視頻數(shù)
據(jù)的編碼,把RGB24圖像數(shù)據(jù)轉(zhuǎn)換為JPEG格式。下面簡述下整個壓縮處理過程:首先初始化JPEG壓縮的圖片格式,調(diào)用jpeg_set—defauhs (&cmjpeg),接著初始化JPEG壓縮圖片質(zhì)量,通過jpeg_set—ratio (&cmjpeg,ratio,7rURE)實現(xiàn)。
開始壓縮:jpeg_start—compress(&cmjpeg,TURE);for(i--0,line--buf;i<_height;i++,line+=_width*3)jpeg_write—seanlines(&cmjpeg,&line,1);
壓縮完成:jpeg_finish—eompress(&cmjpeg);
將壓縮得到的數(shù)據(jù)拷貝到j(luò)peg數(shù)據(jù)變量中:
memepy(new一>buf 0。((_dst_ptr)cmjpeg.dest)一>buffer,size);
釋放內(nèi)存并銷毀cmjpeg變量:jpeg_destory_compress(&cmjpeg)
jpeg_buff_free(&emjpeg);
最后返回return size;返回值size標(biāo)記了緩沖區(qū)中視頻數(shù)據(jù)的實際長度。
3、系統(tǒng)網(wǎng)絡(luò)通訊的實現(xiàn)
本系統(tǒng)采用B/S(瀏覽器/服務(wù)器)模式的通信構(gòu)架。用戶只需在遠(yuǎn)程客戶機(jī)安裝一個普通的瀏覽器軟件,其他大部分工作由Web服務(wù)器完成。B/S模式開發(fā)的監(jiān)控軟件,降低了對系統(tǒng)軟件的要求,避免了用戶對客戶端的安裝和設(shè)置,實現(xiàn)了軟件安裝的簡單化、自由化。
視頻監(jiān)控系統(tǒng)實現(xiàn)了對USB攝像頭的驅(qū)動程序,這樣上層視頻采集程序可以直接通過標(biāo)準(zhǔn)的Video4Linux接口函數(shù)訪問USB攝像頭設(shè)備,捕獲實時的視頻流,放入上層緩沖區(qū),同時通知上層服務(wù)器軟件處理。
系統(tǒng)中內(nèi)置了一個完整的基于網(wǎng)絡(luò)的多用戶視頻服務(wù)器軟件,這樣當(dāng)服務(wù)器軟件監(jiān)聽到有網(wǎng)絡(luò)客戶連接時,立即啟動采集進(jìn)程從緩沖區(qū)中把處理后的視頻流數(shù)據(jù)讀出,然后發(fā)送給相應(yīng)的客戶連接。同時為了保證監(jiān)控客戶端的簡單性與統(tǒng)一性,本系統(tǒng)中的客戶端可以直接使用IE軟件,即用戶打開PC端的IE軟件后,直接在地址欄內(nèi)輸入需要訪問的設(shè)備IP地址或者域名,如192.168.0.5,此時就可以在IE瀏覽器中顯示當(dāng)前的實時采集圖像。
五、結(jié)論
本系統(tǒng)采用嵌入式Linux,操作系統(tǒng)和ARM核處理器的硬件平臺相結(jié)合,視頻信號從前端圖像采集設(shè)備輸出時即為數(shù)字信號,以網(wǎng)絡(luò)為傳輸媒介,并基于國際通用的TCP/IP協(xié)議,使用流媒體技術(shù)實現(xiàn)視頻信號在網(wǎng)絡(luò)上的傳輸,構(gòu)成了一個高質(zhì)量、監(jiān)控方式靈活、可靠性好和具有易于擴(kuò)展架構(gòu)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。ARM處理核和Linux。相結(jié)合,很好地體現(xiàn)了整個監(jiān)控小型化、數(shù)字化、網(wǎng)絡(luò)化、低功耗的優(yōu)點。系統(tǒng)電路板現(xiàn)已成功配置和運(yùn)行,調(diào)試結(jié)果表明,整個系統(tǒng)具有穩(wěn)定可靠、安裝簡便、成本低廉等特點,可廣泛使用在家庭、銀行、超市、公共場所等。
參考文獻(xiàn) (References)
[1] S H Yang, X Chen, J L Alty. Design issues and implementation of internet-based process control systems [J].Control Engineering Practice, 2001,11:709–720.
[2] Gregory C Walsh, Hong Ye. Scheduling of networked Control Systems [J]. IEEE Control Systems Magazine, 2003,21:57–65.
[3] Walsh G C, Ye H, Bushnell L. Stability analysis of networked control systems [C] // Proceedings of the American Control Conference, San Diego, 1999:2876-2880.
[4] G P Liu, D Rees, S C Chai, X Y Nie. Design Simulation and Implementation of Networked Predictive Control Systems [J]. Measurement & Control, 2005, 38(1): 17-31.
[5] G P Liu, S C Chai. Design and Practical Implementation of Networked Predictive Control Systems [C] // Networking, Sensing and Control, Proceedings, IEEE. 2005,3:336-341.
[6] Haibo Bian, G P Liu and Zhe Dong. Structure Design and Application of Embedded Ethernet Based Control Systems [C] // IEEE International Conference on Networking, Sensing and Control, April,2007: 47-51.
[7] Katsuhisa Furuta, Hiroyuki Kajiwara, Kazuhiro Kosuge. Digital control of a double inverted pendulum on an inclined rail [J]. International Journal of Control, 1980, 32 (5): 907-924.
[8] K Furuta, T Ochia, N Ono. Attitude control of a triple inverted pendulum [J]. International Journal of Control, 1984, 39 (6): 1351-1365.
[9] Mori, Shozo, Nishihara H, Furuta K. Control of unstable mechanical system: controlof pendulum [J]. International Journal of Control, 1976,23 (5): 673-692.
[10]楊磊.?dāng)?shù)字化、網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)的技術(shù)優(yōu)勢.智能建筑與城市信息IJl.2006,(11):22—24
[l1]李元臣,張鵬祥?;贕SM網(wǎng)絡(luò)短消息的遠(yuǎn)程監(jiān)控設(shè)計[J]微計算機(jī)信息,2008.1—3
[作者簡介]
李倩 (1982-),女,漢族,山東淄博人,研究生,山東工業(yè)職業(yè)學(xué)院電氣工程系電力電子教研室助教,主要從事電子,通信的研究和教學(xué)工作。
通信地址:山東省淄博市高新開發(fā)區(qū)張北路69號山東工業(yè)職業(yè)學(xué)院電氣工程系,郵編256414,電話:13589599646,E-mail:wuyulunbi_1982@126.com
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。