<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 專題 > 基于ARM的移動視頻監(jiān)控系統(tǒng)

          基于ARM的移動視頻監(jiān)控系統(tǒng)

          作者: 時間:2011-08-12 來源:現(xiàn)代電子技術(shù) 收藏

          摘要:將Linux和無線網(wǎng)絡(luò)引入到系統(tǒng),闡述了系統(tǒng)的硬件組成;介紹了無線網(wǎng)卡驅(qū)動實(shí)現(xiàn)的過程;從Linux開發(fā)環(huán)境的搭建、流媒體服務(wù)器的設(shè)計(jì)和動態(tài)網(wǎng)頁的設(shè)計(jì)等方面介紹了軟件系統(tǒng)的具體實(shí)現(xiàn)過程;對動態(tài)網(wǎng)頁設(shè)計(jì)所涉及到的雙緩沖技術(shù)進(jìn)行了詳細(xì)介紹。實(shí)現(xiàn)結(jié)果表明,該系統(tǒng)具有可靠性高、體積小、成本低和使用便利等特點(diǎn),適用于移動等實(shí)際場合。
          關(guān)鍵詞:嵌入式Linux;無線網(wǎng)卡;流媒體服務(wù)器;雙緩沖;移動

          本文引用地址:http://www.ex-cimer.com/article/122457.htm

          0 引 言
              傳統(tǒng)的視頻監(jiān)控系統(tǒng)一般采用PC服務(wù)器的C/S(Client/Server)結(jié)構(gòu),視頻服務(wù)器由計(jì)算主機(jī)和許多存放視頻的磁盤陳列組成,專門用于視頻的存儲和傳輸。流式傳輸采用的是邊接收邊播放的原則,這需要將多媒體的編、解碼和傳輸技術(shù)很好地結(jié)合在一起。目前多媒體的編解碼技術(shù)如MPEG-4,H.264等,可以以較小的帶寬開銷來實(shí)現(xiàn)較高質(zhì)量的視頻傳輸,然而目前的傳輸技術(shù)卻無法滿足移動視頻監(jiān)控的需求,因?yàn)樵O(shè)備的移動速度和所在位置都會嚴(yán)重影響到傳輸。傳統(tǒng)流媒體系統(tǒng)體積大、成本高、可靠性低且移植性差,不能滿足這種特殊場合的應(yīng)用要求。
              針對傳統(tǒng)監(jiān)控技術(shù)的不足,本文提出了基于ARM的移動觀頻監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn),設(shè)計(jì)了一種專門功能、結(jié)構(gòu)簡單的流媒體服務(wù)器;采用Boa作為Web服務(wù)器,并通過瀏覽器來監(jiān)控,實(shí)現(xiàn)跨平臺監(jiān)視;采用雙緩沖技術(shù),確保用戶能夠得到較好、較穩(wěn)定的播放質(zhì)量;利用無線網(wǎng)卡實(shí)現(xiàn)無線上網(wǎng),免去布線的煩惱,方便地實(shí)現(xiàn)了移動視頻監(jiān)控的功能。

          1 系統(tǒng)硬件設(shè)計(jì)
              硬件平臺是整個系統(tǒng)運(yùn)作的基礎(chǔ)。本系統(tǒng)主要由流媒體服務(wù)單元、USB無線網(wǎng)卡、無線路由、攝像頭和監(jiān)控端組成。流媒體服務(wù)單元是整個系統(tǒng)的核心,主要由嵌入式Linux、嵌入式處理器和外圍器件組成。
              嵌入式處理器采用Intel XScale結(jié)構(gòu)的PXA27嵌入式微處理器,最高主頻可達(dá)624 MHz;加入wireless MMX技術(shù),大大提升了多媒體處理能力;加入Intel SpeedStep動態(tài)管理電源技術(shù),在保證CPU性能的情況下,最大限度地降底移動設(shè)備的功耗。在處理器豐富資源的基礎(chǔ)上,本系統(tǒng)擴(kuò)展了64 MB Nand FLASH,64 MB SDRAM,16 MB Nor FLASH,4個USB主接口以及一個從接口。USB一主接口接攝像頭,用于采集視頻數(shù)據(jù);USB一主接口接無線網(wǎng)卡,用于發(fā)送視頻數(shù)據(jù)。無線網(wǎng)卡采用了TCP/IP、NETBEUI傳輸協(xié)議,傳輸速率為11 Mb/s,5.5 Mb/s,2 Mb/s,1 Mb/s。其最大覆蓋范圍為35~100 m(室內(nèi))、100~300 m(室外),能較好地滿足移動視頻監(jiān)控的要求。本系統(tǒng)硬件組成圖如圖1所示。


              以PXA270為核心接收攝像頭采集到的視頻數(shù)據(jù),經(jīng)過編碼后通過無線網(wǎng)卡發(fā)送,再經(jīng)由無線路由接入以太網(wǎng),用戶通過Internet接收到視頻信息。

          2 USB無線網(wǎng)卡驅(qū)動
              在Linux系統(tǒng)中,提供了主機(jī)側(cè)和設(shè)備側(cè)視角的USB驅(qū)動框架。從主機(jī)側(cè)角度而言,需要編寫的USB驅(qū)動程序包括主機(jī)控制器驅(qū)動和設(shè)備驅(qū)動兩大類。主機(jī)控制器驅(qū)動程序?qū)儆赨SB驅(qū)動程序的核心,這部分在Linux內(nèi)核源碼中已經(jīng)有很好的支持。本節(jié)將重點(diǎn)介紹USB無線網(wǎng)卡設(shè)備驅(qū)動的實(shí)現(xiàn)。
          2.1 USB驅(qū)動的注冊和注銷
              usb_ids描述了這個USB驅(qū)動所支持的USB設(shè)備列表。

          2.2 探測和斷開函數(shù)
              在編寫USB無線網(wǎng)卡設(shè)備驅(qū)動時,很重要的一步是probe()和disconnect()函數(shù),即探測和斷開函數(shù),它們分別在設(shè)備被插入和拔出的時候被調(diào)用,用于初始化和釋放硬件資源。

          2.3 USB請求塊(URB)
              USB無線網(wǎng)卡本身的驅(qū)動部分的讀寫等操作流程有其特殊性,即以USB請求塊(URB)來貫穿始終。URB是USB主機(jī)與無線網(wǎng)卡設(shè)備通信的電波。

          3 系統(tǒng)軟件設(shè)計(jì)
              基于ARM的移動視頻監(jiān)控的軟件設(shè)計(jì)包括嵌入式Linux系統(tǒng)開發(fā)環(huán)境的搭建與移動視頻監(jiān)控軟件設(shè)計(jì)兩大部分。
          3.1 基于ARM的嵌入式Linux開發(fā)平臺
              本方案采用了Linux嵌入式操作系統(tǒng),以Linux2.6.24為基礎(chǔ)進(jìn)行裁減定制自己的內(nèi)核,在編譯內(nèi)核時保留必須的文件系統(tǒng)、存儲器、串口、USB、以太網(wǎng)驅(qū)動,將攝像頭、USB無線網(wǎng)卡驅(qū)動以模塊的形式編譯,以減少編譯后內(nèi)核的大小。Bootloader采用blob,燒寫blob后利用tftp協(xié)議實(shí)現(xiàn)Linux內(nèi)核和文件系統(tǒng)在Flash上的燒寫。在Redhat 9安裝Arm-linux-gcc。建立交叉編譯環(huán)境,實(shí)現(xiàn)流媒體服務(wù)器和Boa在PAX270上的搭建。鑒于現(xiàn)在燒寫技術(shù)已經(jīng)很成熟,故不詳細(xì)討論。
          3.2 移動視頻監(jiān)控軟件的設(shè)計(jì)
              移動視頻監(jiān)控軟件完成的主要功能有:設(shè)計(jì)流媒體服務(wù)器采集并傳輸攝像頭拍攝的視頻信息;構(gòu)建嵌入式Web服務(wù)器Boa;動態(tài)網(wǎng)頁的設(shè)計(jì)以及流媒體服務(wù)器、web服務(wù)器與瀏覽器之間的通信等任務(wù)。因此系統(tǒng)軟件框架如圖2所示。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: 嵌入式 視頻監(jiān)控 USB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();