女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM的視頻監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)

引言

視頻監(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)。

視頻監(jiā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)場(chǎng)的攝像頭捕獲實(shí)時(shí)的視頻信息,壓縮之后通過(guò)以太網(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,它的低功耗、精簡(jiǎn)和全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功耗敏感的應(yīng)用。S3C2410提供了豐富的片內(nèi)資源,支持Linux,是本系統(tǒng)的合適選擇。它能完成整個(gè)系統(tǒng)的調(diào)度工作,在系統(tǒng)上電時(shí)配置所有需工作的芯片的功能寄存器,完成視頻流的編碼,并通過(guò)以太網(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主控制器模塊通過(guò)專用的USB集線器與多個(gè)USB攝像頭相連。在實(shí)時(shí)監(jiān)控狀態(tài)下,各個(gè)攝像頭上捕獲的圖像數(shù)據(jù)通過(guò)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)控制器,通過(guò)內(nèi)部寄存器的設(shè)置來(lái)適應(yīng)不同的應(yīng)用環(huán)境。S3C2410通過(guò)地址、數(shù)據(jù)、控制線以及片選信號(hào)線對(duì)CS8900A網(wǎng)絡(luò)芯片進(jìn)行控制和通信。CS8900A與S3C2410的連接如圖3所示,CS8900A由S3C2410的nGCS3信號(hào)選通,CS8900A的INTRQ0端用來(lái)產(chǎn)生中斷信號(hào),與S3C2410的16位數(shù)據(jù)總線相連,地址線使用了A[24:0]。

CS8900A以太網(wǎng)控制芯片通過(guò)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ī)串行總線相連,通過(guò)PC機(jī)對(duì)嵌入式系統(tǒng)進(jìn)行相關(guān)信息顯示和控制。而JTAG接口主要是對(duì)系統(tǒng)進(jìn)行調(diào)試,還可將程序燒寫到Flash中。

系統(tǒng)的軟件設(shè)計(jì)

視頻監(jiān)控終端的軟件設(shè)計(jì)主要完成兩方面的工作:

(1)在硬件上搭建一個(gè)軟件平臺(tái),搭建嵌入式Linux軟件開發(fā)平臺(tái)需要完成UBOOT移植、嵌入式Linux操作系統(tǒng)內(nèi)核移植以及嵌入式Linux操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序的開發(fā)等工作。

(2)在軟件平臺(tái)的基礎(chǔ)上,開發(fā)系統(tǒng)的應(yīng)用程序。借助交叉編譯工具,開發(fā)視頻監(jiān)控終端上運(yùn)行的采集、壓縮、傳輸程序。

構(gòu)建基于S3C2410的Linux平臺(tái)

Linux具有許多優(yōu)點(diǎn),如開放源碼;功能強(qiáng)大的內(nèi)核,支持多用戶、多線程、多進(jìn)程、實(shí)時(shí)性好、功能強(qiáng)大穩(wěn)定;大小功能可定制;支持多種體系結(jié)構(gòu)。

構(gòu)建嵌入式Linux開發(fā)平臺(tái)需要先構(gòu)建交叉編譯環(huán)境,如圖4所示。一套完整的交叉編譯環(huán)境包括主機(jī)和目標(biāo)機(jī)。在開發(fā)中主機(jī)是一臺(tái)裝有紅帽公司的FedoreCore 2操作系統(tǒng)的PC機(jī),目標(biāo)機(jī)是基于S3C2410的視頻監(jiān)控終端。選用的交叉編譯器是GCC3.3.4 for ARM版,嵌入式Linux內(nèi)核源代碼包版本號(hào)為2.6.8RC。

2.6.8RC版的Linux內(nèi)核源代碼包中包含了所有的功能模塊。系統(tǒng)中只用到了其中的一部分。因此,編譯內(nèi)核之前首先要配置內(nèi)核,裁減掉冗余的功能模塊,經(jīng)過(guò)定制的內(nèi)核才符合系統(tǒng)設(shè)計(jì)。具體步驟如下:

(1)鍵入命令make menuconfig,對(duì)內(nèi)核進(jìn)行配置,選擇YAFFS文件系統(tǒng),支持NFS啟動(dòng),系統(tǒng)使用的是USB接口的攝像頭,故要啟用USB設(shè)備支持模塊,包括USB設(shè)備文件支持模塊、USB主控制器驅(qū)動(dòng)模塊等。此外,USB攝像頭屬于視頻設(shè)備,為了使應(yīng)用程序能夠訪問(wèn)它,還需要啟用Video4Linux模塊。

(2)用make dep命令生成內(nèi)核程序間依賴關(guān)系。

(3)make zImage命令生成內(nèi)核映像文件。

(4)make modules和make modules_install命令生成系統(tǒng)可加載模塊。

這樣就生成了zImage內(nèi)核映像文件,把它下載到目標(biāo)平臺(tái)的Flash中。

本設(shè)計(jì)采用USB外置攝像頭,在內(nèi)核配置時(shí)要求以模塊形式加載。首先要完成驅(qū)動(dòng)程序,驅(qū)動(dòng)中需要提供基本的I/O操作接口函數(shù)open、read、write、close的實(shí)現(xiàn),對(duì)中斷的處理實(shí)現(xiàn),內(nèi)存映射功能以及對(duì)I/O通道的控制接口函數(shù)ioctl等,并把他們定義在struct file_operations中。這樣當(dāng)應(yīng)用程序?qū)υO(shè)備文件進(jìn)行諸如open、close、read、write等,系統(tǒng)調(diào)用操作時(shí),嵌入式Linux內(nèi)核將通過(guò)file_operations結(jié)構(gòu)訪問(wèn)驅(qū)動(dòng)程序提供的函數(shù)。接著把USB驅(qū)動(dòng)程序編譯成可以動(dòng)態(tài)加載的模塊,這樣攝像頭就可正常工作了。

視頻監(jiān)控終端軟件的設(shè)計(jì)

視頻監(jiān)控終端軟件按功能分為三部分:視頻采集、壓縮、傳輸。這個(gè)軟件的開發(fā)都是基于先前配置好的嵌入式內(nèi)核。

(1)視頻采集部分

使用Video4Linux接口函數(shù)訪問(wèn)USB攝像頭設(shè)備,捕獲實(shí)時(shí)的視頻流。首先完成v4l_struct數(shù)據(jù)結(jié)構(gòu)的定義,如設(shè)備基本信息,圖像屬性,各個(gè)信號(hào)源屬性等;采集模塊一方面通過(guò)USB集線器采集USB攝像頭中的圖像,另一方面啟動(dòng)多個(gè)采集線程,分別在不同的端口上監(jiān)聽,一旦有請(qǐng)求連接,采集線程立即從設(shè)備緩沖區(qū)中把視頻流數(shù)據(jù)讀出,放入到視頻處理緩沖區(qū)中進(jìn)行下一步的處理。

(2)視頻數(shù)據(jù)的壓縮部分

在視頻監(jiān)控系統(tǒng)中,大量的數(shù)據(jù)需要通過(guò)網(wǎng)絡(luò)傳輸,為了保證傳輸質(zhì)量和傳輸實(shí)時(shí)性,就需要在傳輸之前進(jìn)行編碼壓縮以減少數(shù)據(jù)量,本文采用MPEG-4編碼標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)壓縮。在網(wǎng)絡(luò)上可以下載到開源的xvidcore軟件作為視頻壓縮的核心算法,xvidcore是一個(gè)高效的、移植性很強(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是目前解決流媒體實(shí)時(shí)傳輸問(wèn)題的最好辦法,在Linux平臺(tái)上進(jìn)行實(shí)時(shí)流媒體編程,需要使用一些開放源代碼的RTP庫(kù),如LIBRTP、JRTPLIB等。定義一種較為簡(jiǎn)單的握手協(xié)議:PC機(jī)端的采集程序不停地發(fā)請(qǐng)求數(shù)據(jù)包到采集終端,采集終端把已經(jīng)捕獲的圖像打包返回給主機(jī)。每個(gè)RTP信息包被封裝在UDP消息段中,然后再封裝在IP數(shù)據(jù)包中發(fā)送出去。接收方自動(dòng)組裝接收到的數(shù)據(jù)幀,還原成視頻數(shù)據(jù)。

結(jié)束語(yǔ)

本文介紹了一種基于ARM的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方案,采用軟壓縮算法,討論了系統(tǒng)的硬件和軟件設(shè)計(jì)。本系統(tǒng)和市場(chǎng)上其它視頻監(jiān)控系統(tǒng)相比,開發(fā)周期短,價(jià)格低廉,適用于對(duì)視頻圖像要求不太高的場(chǎng)合。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

摘要:當(dāng)前社會(huì)用電需求激增,電力建設(shè)規(guī)模擴(kuò)大、項(xiàng)目增多,而在電力建設(shè)與運(yùn)維管理中,電纜安裝不容小覷。其作為電力工程的基礎(chǔ)項(xiàng)目,直接影響到電力系統(tǒng)的線路運(yùn)行安全。在高壓電纜安裝中也必須關(guān)注到附件安裝問(wèn)題,尤其要加強(qiáng)質(zhì)量控制...

關(guān)鍵字: 環(huán)境控制 視頻監(jiān)控 作業(yè)指導(dǎo)書

物聯(lián)網(wǎng)正在擴(kuò)大規(guī)模并加速發(fā)展,進(jìn)而驅(qū)動(dòng)著全新的經(jīng)濟(jì)。而Arm生態(tài)系統(tǒng)正是這一巨大機(jī)遇背后的推動(dòng)力。

關(guān)鍵字: ARM 物聯(lián)網(wǎng)

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過(guò)轉(zhuǎn)讓設(shè)計(jì)方案,由合作伙伴生產(chǎn)出各具特色的芯片。

關(guān)鍵字: ARM

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國(guó)CEO吳雄昂在ARM年度技術(shù)論壇上對(duì)記者如是說(shuō),彼時(shí)的吳堅(jiān)定,溫雅,意氣風(fēng)發(fā)。時(shí)隔兩年,ARM中國(guó)CEO吳雄昂再次回到媒體視線,這一次,ARM中國(guó)與來(lái)自投資方和劍...

關(guān)鍵字: ARM 芯片 集成電路

喜歡折騰主機(jī)的小伙伴一定都知道X86和ARM架構(gòu)的區(qū)別,前者在PC領(lǐng)域已經(jīng)統(tǒng)治了幾十年;后者則主要應(yīng)用于移動(dòng)領(lǐng)域,尤其是近幾年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展。

關(guān)鍵字: 國(guó)產(chǎn) ARM 主機(jī)

科技公司們認(rèn)為,收購(gòu)將使英偉達(dá)控制一個(gè)重要的供應(yīng)商,該供應(yīng)商向蘋果、英特爾、三星電子、亞馬遜和華為等公司授權(quán)基本的芯片技術(shù),同時(shí)也向不計(jì)其數(shù)的中小技術(shù)企業(yè)提供授權(quán)??偛课挥谟?guó)的ARM公司將芯片設(shè)計(jì)和相關(guān)軟件代碼授權(quán)給所...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體公司

在去年九月,英偉達(dá)宣布以400億美金收購(gòu)ARM時(shí),就注定這場(chǎng)收購(gòu)不會(huì)太順利。因?yàn)橐坏〢RM成功被英偉達(dá)收購(gòu),這將使ARM改變?cè)谌虬雽?dǎo)體市場(chǎng)中的中立立場(chǎng),因?yàn)锳RM的很多客戶,都是英偉達(dá)的直接或者間接的對(duì)手。除此之外,還...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體

以下內(nèi)容中,小編將對(duì)工控主板的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)工控主板的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: ARM 工控主板 主板

在這篇文章中,小編將為大家?guī)?lái)工控主板的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: ARM 工控主板 主板

今年8月份公布的財(cái)報(bào)顯示,軟銀公司報(bào)虧3.16萬(wàn)億日元(約合1644億元人民幣),比上一季度的2.1萬(wàn)億日元虧損額繼續(xù)擴(kuò)大,這意味著軟銀連續(xù)第二個(gè)季度創(chuàng)下有史以來(lái)最大的季度虧損。

關(guān)鍵字: ARM 軟銀集團(tuán) NVIDIA

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉