基于ARM的視頻監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)
引言
本文引用地址:http://www.ex-cimer.com/article/86355.htm視頻監(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)實(shí)。如今監(jiān)控系統(tǒng)多采用專用處理器或RISC嵌入式處理器與DSP相結(jié)合的方法實(shí)現(xiàn),本文探討的是用ARM處理器與軟件壓縮相結(jié)合的辦法實(shí)現(xiàn)。
視頻臨控系統(tǒng)總體設(shè)計(jì)
首先需要對(duì)系統(tǒng)進(jìn)行總體規(guī)劃,將系統(tǒng)劃分成幾個(gè)功能模塊,確定各個(gè)模塊的實(shí)現(xiàn)方法。整個(gè)視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu),從主體上分為兩部分:服務(wù)器端和客戶端。服務(wù)器端主要包括S3C2410平臺(tái)上運(yùn)行的采集、壓縮、傳輸程序,客戶端是PC機(jī)上運(yùn)行的接收、解壓、回放程序。視頻監(jiān)控終端從現(xiàn)場的攝像頭捕獲實(shí)時(shí)的視頻信息,壓縮之后通過以太網(wǎng)傳輸?shù)揭曨l監(jiān)控服務(wù)器上。
如系統(tǒng)結(jié)構(gòu)圖(圖1)所示,視頻圖像采集和打包發(fā)送在服務(wù)器端完成,圖像的接收解包和回放將在客戶端完成。
系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)采用模塊化設(shè)計(jì)方案,主要包括以下幾個(gè)模塊:主控制器模塊、儲(chǔ)存電路模塊、外圍接口電路模塊、電源和復(fù)位電路,如圖2所示。
S3C2410主控器模塊
主控器模塊是整個(gè)系統(tǒng)的核心,采用的S3C2410處理器是Samsung公司基于ARM920T處理器核的16/32位微控制器,該處理器最高運(yùn)行頻率可達(dá)到203MHz,它的低功耗、精簡和全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功耗敏感的應(yīng)用。S3C2410提供了豐富的片內(nèi)資源,支持Linux,是本系統(tǒng)的合適選擇。它能完成整個(gè)系統(tǒng)的調(diào)度工作,在系統(tǒng)上電時(shí)配置所有需工作的芯片的功能寄存器,完成視頻流的編碼,并通過以太網(wǎng)控制器控制物理層芯片發(fā)送視頻碼流。
系統(tǒng)存儲(chǔ)電路模塊
主控器還需一些外圍存儲(chǔ)單元如Nand Flash,和SDRAM。Nand Flash 中包含Linux 的Bootloader、系統(tǒng)內(nèi)核、文件系統(tǒng)、應(yīng)用程序以及環(huán)境變量和系統(tǒng)配置文件等;SDRAM讀寫速度快,系統(tǒng)運(yùn)行時(shí)把它作為內(nèi)存單元使用。設(shè)計(jì)采用了64M的Nand Flash和64M的SDRAM。
外圍電路模塊
本設(shè)計(jì)用到的外設(shè)有USB接口,網(wǎng)卡接口,RS232接口和JTAG接口。
視頻監(jiān)控終端的USB主控制器模塊通過專用的USB集線器與多個(gè)USB攝像頭相連。在實(shí)時(shí)監(jiān)控狀態(tài)下,各個(gè)攝像頭上捕獲的圖像數(shù)據(jù)通過USB集線器傳輸?shù)揭曨l監(jiān)控終端的USB主控制器模塊上,然后再由USB主控制器模塊交由S3C2410處理器集中處理。S3C2410對(duì)采集到的圖像進(jìn)行實(shí)時(shí)編碼壓縮,編碼之后的碼流直接傳輸?shù)桨l(fā)送緩沖區(qū)中,等候發(fā)送。
本設(shè)計(jì)采用CS8900A擴(kuò)展網(wǎng)絡(luò)接口,它是CIRRUS LOGIC公司生產(chǎn)的16位以太網(wǎng)控制器,通過內(nèi)部寄存器的設(shè)置來適應(yīng)不同的應(yīng)用環(huán)境。S3C2410通過地址、數(shù)據(jù)、控制線以及片選信號(hào)線對(duì)CS8900A網(wǎng)絡(luò)芯片進(jìn)行控制和通信。CS8900A與S3C2410的連接如圖3所示,CS8900A由S3C2410的nGCS3信號(hào)選通,CS8900A的INTRQ0端用來產(chǎn)生中斷信號(hào),與S3C2410的16位數(shù)據(jù)總線相連,地址線使用了A[24:0]。
CS8900A以太網(wǎng)控制芯片通過DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲(chǔ)區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送。一組數(shù)據(jù)發(fā)送完后,請(qǐng)求DMA中斷,由S3C2410進(jìn)行處理。
RS-232接口與PC機(jī)串行總線相連,通過PC機(jī)對(duì)嵌入式系統(tǒng)進(jìn)行相關(guān)信息顯示和控制。而JTAG接口主要是對(duì)系統(tǒng)進(jìn)行調(diào)試,還可將程序燒寫到Flash中。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論