視頻監(jiān)控終端的設(shè)計與實現(xiàn)(ARM)
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-02 19:09:07
引言
視頻監(jiān)控系統(tǒng)發(fā)展了短短二十幾年時間,從早模擬監(jiān)控到前些年火熱數(shù)字監(jiān)控再到現(xiàn)在方興未艾網(wǎng)絡(luò)視頻監(jiān)控,發(fā)生了翻天覆地變化。在IP技術(shù)逐步統(tǒng)一今天,我們有必要重新認(rèn)識視頻監(jiān)控系統(tǒng)發(fā)展歷史。從技術(shù)角度出發(fā),視頻監(jiān)控系統(tǒng)發(fā)展劃分為代模擬視頻監(jiān)控系統(tǒng)(CCTV),到第二代基于“PC+多媒體卡”數(shù)字視頻監(jiān)控系統(tǒng)(DVR),到第三代完全基于IP網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)(IPVS)。
全I(xiàn)P視頻監(jiān)控系統(tǒng)與前面兩種方案相比存在顯著區(qū)別。該系統(tǒng)優(yōu)勢是攝像機(jī)內(nèi)置Web服務(wù)器,并直接提供以太網(wǎng)端口。這些攝像機(jī)生成JPEG或MPEG4數(shù)據(jù)文件,可供任何經(jīng)授權(quán)客戶機(jī)從網(wǎng)絡(luò)中任何位置訪問、監(jiān)視、記錄并打印,而不是生成連續(xù)模擬視頻信號形式圖像。全I(xiàn)P視頻監(jiān)控系統(tǒng)它巨大優(yōu)勢是:
簡便性-所有攝像機(jī)都通過經(jīng)濟(jì)高效有線或者無線以太網(wǎng)簡單連接到網(wǎng)絡(luò),使您能夠利用現(xiàn)有局域網(wǎng)基礎(chǔ)設(shè)施。您可使用5類網(wǎng)絡(luò)纜或無線網(wǎng)絡(luò)方式傳輸攝像機(jī)輸出圖像以及水平、垂直、變倍(PTZ)控制命令(甚至可以直接通過以太網(wǎng)供)。
強(qiáng)大中心控制-一臺工業(yè)標(biāo)準(zhǔn)服務(wù)器和一套控制管理應(yīng)用軟件就可運行整個監(jiān)控系統(tǒng)。
易于升級與全面可擴(kuò)展性-輕松添加更多攝像機(jī)。中心服務(wù)器將來能夠方便升級到更快速處理器、更大容量磁盤驅(qū)動器以及更大帶寬等。
全面遠(yuǎn)程監(jiān)視-任何經(jīng)授權(quán)客戶機(jī)都可直接訪問任意攝像機(jī)。您也可通過中央服務(wù)器訪問監(jiān)視圖像。
堅固冗余存儲器-可同時利用SCSI、RAID以及磁帶備份存儲技術(shù)保護(hù)監(jiān)視圖像不受硬盤驅(qū)動器故障影響。
視頻監(jiān)控系統(tǒng)在工業(yè)、軍事、民用領(lǐng)域有著廣泛的應(yīng)用,為這些行業(yè)的安全防范和環(huán)境監(jiān)控起到了不可忽視的作用。視頻監(jiān)控系統(tǒng)正逐步由模擬化走向數(shù)字化,隨著半導(dǎo)體技術(shù)的飛速發(fā)展和多媒體視頻編解碼技術(shù)的日益成熟,高性能、復(fù)雜的視頻流壓縮算法在嵌入式系統(tǒng)中的應(yīng)用成為了現(xiàn)實。如今監(jiān)控系統(tǒng)多采用專用處理器或RISC嵌入式處理器與DSP相結(jié)合的方法實現(xiàn),本文探討的是用ARM處理器與軟件壓縮相結(jié)合的辦法實現(xiàn)。
視頻監(jiān)控系統(tǒng)總體設(shè)計
首先需要對系統(tǒng)進(jìn)行總體規(guī)劃,將系統(tǒng)劃分成幾個功能模塊,確定各個模塊的實現(xiàn)方法。整個視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu),從主體上分為兩部分:服務(wù)器端和客戶端。服務(wù)器端主要包括S3C2410平臺上運行的采集、壓縮、傳輸程序,客戶端是PC機(jī)上運行的接收、解壓、回放程序。視頻監(jiān)控終端從現(xiàn)場的攝像頭捕獲實時的視頻信息,壓縮之后通過以太網(wǎng)傳輸?shù)揭曨l監(jiān)控服務(wù)器上。 https://www.armforum.cn
如系統(tǒng)結(jié)構(gòu)圖(圖1)所示,視頻圖像采集和打包發(fā)送在服務(wù)器端完成,圖像的接收解包和回放將在客戶端完成。
ARM
系統(tǒng)的硬件設(shè)計 M開發(fā)論壇
系統(tǒng)采用模塊化設(shè)計方案,主要包括以下幾個模塊:主控制器模塊、儲存電路模塊、外圍接口電路模塊、電源和復(fù)位電路,如圖2所示。

S3C2410主控器模塊
主控器模塊是整個系統(tǒng)的,采用的S3C2410處理器是Samsung(三星)公司基于ARM920T處理器核的16/32位微控制器,該處理器運行頻率可達(dá)到203MHz,它的低功耗、精簡和全靜態(tài)設(shè)計特別適合于對成本和功耗敏感的應(yīng)用。S3C2410提供了豐富的片內(nèi)資源,支持Linux,是本系統(tǒng)的合適選擇。它能完成整個系統(tǒng)的調(diào)度工作,在系統(tǒng)上電時配置所有需工作的芯片的功能寄存器,完成視頻流的編碼,并通過以太網(wǎng)控制器控制物理層芯片發(fā)送視頻碼流。
系統(tǒng)存儲電路模塊
主控器還需一些外圍存儲單元如Nand Flash(是flash內(nèi)存的一種,其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量內(nèi)存的實現(xiàn)提供了廉價有效的解決方案。Nand-flash存儲器具有容量較大,改寫速度快等優(yōu)點,適用于大量數(shù)據(jù)的存儲,因而在業(yè)界得到了越來越廣泛的應(yīng)用,如嵌入式產(chǎn)品中包括數(shù)碼相機(jī)、MP3隨身聽記憶卡、體積小巧的U盤等),和SDRAM。Nand Flash 中包含Linux 的Bootloader(是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境)、系統(tǒng)內(nèi)核、文件系統(tǒng)、應(yīng)用程序以及環(huán)境變量和系統(tǒng)配置文件等;SDRAM讀寫速度快,系統(tǒng)運行時把它作為內(nèi)存單元使用。設(shè)計采用了64M的Nand Flash和64M的SDRAM。
外圍電路模塊
本設(shè)計用到的外設(shè)有USB接口,網(wǎng)卡接口,RS232接口和JTAG接口。 ARM開發(fā)論壇
視頻監(jiān)控終端的USB主控制器模塊通過專用的USB集線器與多個USB攝像頭相連。在實時監(jiān)控狀態(tài)下,各個攝像頭上捕獲的圖像數(shù)據(jù)通過USB集線器傳輸?shù)揭曨l監(jiān)控終端的USB主控制器模塊上,然后再由USB主控制器模塊交由S3C2410處理器集中處理。S3C2410對采集到的圖像進(jìn)行實時編碼壓縮,編碼之后的碼流直接傳輸?shù)桨l(fā)送緩沖區(qū)中,等候發(fā)送。
本設(shè)計采用CS8900A擴(kuò)展網(wǎng)絡(luò)接口,它是CIRRUS LOGIC公司(一家卓越的無生產(chǎn)線半導(dǎo)體公司,致力于為廣闊的音頻和能源市場開發(fā)高的模擬和混合信號集成電路)生產(chǎn)的16位以太網(wǎng)控制器,通過內(nèi)部寄存器的設(shè)置來適應(yīng)不同的應(yīng)用環(huán)境。S3C2410通過地址、數(shù)據(jù)、控制線以及片選信號線對CS8900A網(wǎng)絡(luò)芯片進(jìn)行控制和通信。CS8900A與S3C2410的連接如圖3所示,CS8900A由S3C2410的nGCS3信號選通,CS8900A的INTRQ0端用來產(chǎn)生中斷信號,與S3C2410的16位數(shù)據(jù)總線相連,地址線使用了A[24:0]。 字串5
CS8900A以太網(wǎng)控制芯片通過DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對數(shù)據(jù)進(jìn)行封裝發(fā)送。一組數(shù)據(jù)發(fā)送完后,請求DMA中斷,由S3C2410進(jìn)行處理。
RS-232接口與PC機(jī)串行總線相連,通過PC機(jī)對嵌入式系統(tǒng)進(jìn)行相關(guān)信息顯示和控制。而JTAG接口主要是對系統(tǒng)進(jìn)行調(diào)試,還可將程序燒寫到Flash中。 字串8
系統(tǒng)的軟件設(shè)計 ARM
視頻監(jiān)控終端的軟件設(shè)計主要完成兩方面的工作: ARM開發(fā)論壇
(1)在硬件上搭建一個軟件平臺,搭建嵌入式Linux軟件開發(fā)平臺需要完成UBOOT移植、嵌入式Linux操作系統(tǒng)內(nèi)核移植以及嵌入式Linux操作系統(tǒng)的設(shè)備驅(qū)動程序的開發(fā)等工作。
?。?)在軟件平臺的基礎(chǔ)上,開發(fā)系統(tǒng)的應(yīng)用程序。借助交叉編譯工具,開發(fā)視頻監(jiān)控終端上運行的采集、壓縮、傳輸程序。
構(gòu)建基于S3C2410的Linux平臺
Linux具有許多優(yōu)點,如開放源碼;功能強(qiáng)大的內(nèi)核,支持多用戶、多線程、多進(jìn)程、實時性好、功能強(qiáng)大穩(wěn)定;大小功能可定制;支持多種體系結(jié)構(gòu)。
構(gòu)建嵌入式Linux開發(fā)平臺需要先構(gòu)建交叉編譯環(huán)境,如圖4所示。一套完整的交叉編譯環(huán)境包括主機(jī)和目標(biāo)機(jī)。在開發(fā)中主機(jī)是一臺裝有紅帽公司的FedoreCore 2操作系統(tǒng)(是眾多 Linux 發(fā)行套件之一。它是一套從Red Hat Linux發(fā)展出來的Linux系統(tǒng),前身即Red Hat Linux)的PC機(jī),目標(biāo)機(jī)是基于S3C2410的視頻監(jiān)控終端。選用的交叉編譯器是GCC3.3.4 for ARM版,嵌入式Linux內(nèi)核源代碼包版本號為2.6.8RC。
ARM開發(fā)論壇
2.6.8RC版的Linux內(nèi)核源代碼包中包含了所有的功能模塊。系統(tǒng)中只用到了其中的一部分。因此,編譯內(nèi)核之前首先要配置內(nèi)核,裁減掉冗余的功能模塊,經(jīng)過定制的內(nèi)核才符合系統(tǒng)設(shè)計。具體步驟如下:
?。?)鍵入命令make menuconfig,對內(nèi)核進(jìn)行配置,選擇YAFFS文件系統(tǒng),支持NFS啟動,系統(tǒng)使用的是USB接口的攝像頭,故要啟用USB設(shè)備支持模塊,包括USB設(shè)備文件支持模塊、USB主控制器驅(qū)動模塊等。此外,USB攝像頭屬于視頻設(shè)備,為了使應(yīng)用程序能夠訪問它,還需要啟用Video4Linux模塊。
?。?)用make dep命令生成內(nèi)核程序間依賴關(guān)系。 https://www.armforum.cn
?。?)make zImage命令生成內(nèi)核映像文件。
?。?)make modules和make modules_install命令生成系統(tǒng)可加載模塊。
這樣就生成了zImage內(nèi)核映像文件,把它到目標(biāo)平臺的Flash中。
視頻監(jiān)控終端軟件的設(shè)計
視頻監(jiān)控終端軟件按功能分為三部分:視頻采集、壓縮、傳輸。這個軟件的開發(fā)都是基于先前配置好的嵌入式內(nèi)核。
(1)視頻采集部分
使用Video4Linux接口函數(shù)訪問USB攝像頭設(shè)備,捕獲實時的視頻流。首先完成v4l_struct數(shù)據(jù)結(jié)構(gòu)的定義,如設(shè)備基本信息,圖像屬性,各個信號源屬性等;采集模塊一方面通過USB集線器采集USB攝像頭中的圖像,另一方面啟動多個采集線程,分別在不同的端口上監(jiān)聽,一旦有請求連接,采集線程立即從設(shè)備緩沖區(qū)中把視頻流數(shù)據(jù)讀出,放入到視頻處理緩沖區(qū)中進(jìn)行下一步的處理。
(2)視頻數(shù)據(jù)的壓縮部分 https://www.armforum.cn
在視頻監(jiān)控系統(tǒng)中,大量的數(shù)據(jù)需要通過網(wǎng)絡(luò)傳輸,為了保證傳輸質(zhì)量和傳輸實時性,就需要在傳輸之前進(jìn)行編碼壓縮以減少數(shù)據(jù)量,本文采用MPEG-4編碼標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)壓縮。在網(wǎng)絡(luò)上可以到開源的xvidcore軟件作為視頻壓縮的算法,xvidcore是一個高效的、移植性很強(qiáng)的多媒體編碼軟件,將它在PC機(jī)上進(jìn)行交叉編譯,生成的文件拷貝到目標(biāo)系統(tǒng)下。
(3) 視頻數(shù)據(jù)傳輸部分
傳輸模塊的作用在于把壓縮之后的視頻流傳送到遠(yuǎn)程的PC機(jī)客戶上,視頻流數(shù)據(jù)的傳輸是基于TCP/IP協(xié)議。視頻傳輸采用了標(biāo)準(zhǔn)的RTP傳輸協(xié)議。RTP是目前解決流媒體實時傳輸問題的辦法,在Linux平臺上進(jìn)行實時流媒體編程,需要使用一些開放源代碼的RTP庫,如LIBRTP、JRTPLIB等。定義一種較為簡單的握手協(xié)議:PC機(jī)端的采集程序不停地發(fā)請求數(shù)據(jù)包到采集終端,采集終端把已經(jīng)捕獲的圖像打包返回給主機(jī)。每個RTP信息包被封裝在UDP消息段中,然后再封裝在IP數(shù)據(jù)包中發(fā)送出去。接收方自動組裝接收到的數(shù)據(jù)幀,還原成視頻數(shù)據(jù)。
結(jié)束語
視頻監(jiān)控是安全防范系統(tǒng)的重要組成部分,它是一種防范能力較強(qiáng)的綜合系統(tǒng)。視頻監(jiān)控以其直觀、準(zhǔn)確、及時和信息內(nèi)容豐富而廣泛應(yīng)用于許多場合。近年來,隨著計算機(jī)、網(wǎng)絡(luò)以及圖像處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控技術(shù)也有了長足的發(fā)展。
在視頻技術(shù)不斷的發(fā)展情況下,視頻監(jiān)控目前可分為兩大類:數(shù)字視頻監(jiān)控系統(tǒng)和網(wǎng)絡(luò)監(jiān)控( 嵌入式視頻監(jiān)控系統(tǒng) )。 解決視頻監(jiān)控聯(lián)網(wǎng)問題,使用北京洛達(dá)公司的DSN-3000視頻監(jiān)控聯(lián)網(wǎng)主機(jī)是目前的解決方案,DSN-3000是針對視頻監(jiān)控聯(lián)網(wǎng)開發(fā)的,可以兼容數(shù)十個品牌的視頻監(jiān)控系統(tǒng),可以無縫連接,已經(jīng)廣泛用于北京、廣州、杭州、寧波、廣西、新疆、河南、山東等地的“3111”平安城市的建設(shè)中。
本文介紹了一種基于ARM的視頻監(jiān)控系統(tǒng)的設(shè)計方案,采用軟壓縮算法,討論了系統(tǒng)的硬件和軟件設(shè)計。本系統(tǒng)和市場上其它視頻監(jiān)控系統(tǒng)相比,開發(fā)周期短,價格低廉,適用于對視頻圖像要求不太高的場合。
下一篇:單片機(jī)是什么
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級DSP信號處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22









