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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PXA255和JPEG壓縮算法的嵌入式視頻監(jiān)視系統(tǒng)

          基于PXA255和JPEG壓縮算法的嵌入式視頻監(jiān)視系統(tǒng)

          作者: 時(shí)間:2009-05-21 來源:網(wǎng)絡(luò) 收藏

          1 的硬件構(gòu)成
          1.1 數(shù)據(jù)采集終端
          現(xiàn)場(chǎng)信號(hào)的獲取采用CPU構(gòu)建的開發(fā)平臺(tái)Sitsang開發(fā)板。的Sitsang開發(fā)板是一個(gè)功能強(qiáng)大的嵌入式開發(fā)平臺(tái),其CPU工作主頻為 MHz,具有64M閃盤的存儲(chǔ)容量,內(nèi)部RAM達(dá)到了32M,并且具有豐富的外設(shè)資源。其中Sitsang板上自帶的USB(USB1.0)能夠與USB攝像頭進(jìn)行連接,從而滿足本設(shè)計(jì)中信號(hào)的采集要求。本設(shè)計(jì)采用MDC-30L作為視頻采集設(shè)備,直接通過USB與Sitsang板進(jìn)行連接。
          1.2 無線局域網(wǎng)
          采用無線網(wǎng)絡(luò)傳輸方式,不僅能夠省去布線等施工操作,并且配置簡(jiǎn)單,便于進(jìn)行設(shè)備的檢修和維護(hù)。無線網(wǎng)絡(luò)設(shè)備采用TEW-310APB無線網(wǎng)橋,它具有下列多種優(yōu)點(diǎn),便于進(jìn)行圖像傳輸:采用直接序列擴(kuò)頻 (DSSS)技術(shù);提供高的數(shù)據(jù)速率帶寬達(dá) 22Mbps;提供 64/128/256位有線等效保密 (WEP)編碼;瀏覽器WEB配置和 Windows的配置;通過無線用戶的MAC地址進(jìn)行訪問控制;分開的 2dBi雙極天線,更換其中任何一個(gè)天線為高增益天線即可以擴(kuò)大信號(hào)覆蓋范圍。DHCP服務(wù)支持高達(dá)100個(gè)客戶端 ;10/100Mbps自適應(yīng)快速以太網(wǎng)端口。
          1.3 服務(wù)器
          服務(wù)器中完成了多路視頻信號(hào)的采集和轉(zhuǎn)發(fā)工作,通過不同的端口與需要進(jìn)行的客戶機(jī)進(jìn)行通訊,并傳輸好的視頻數(shù)據(jù)。因此,可以選擇一般服務(wù)器計(jì)算機(jī)就能滿足要求。
          1.4 移動(dòng)終端
          移動(dòng)監(jiān)控終端我們同樣采用Sitsang開發(fā)板來進(jìn)行設(shè)計(jì)。服務(wù)器收到相關(guān)數(shù)據(jù)后可以根據(jù)要求把數(shù)據(jù)轉(zhuǎn)發(fā)給移動(dòng)終端,移動(dòng)終端通過無線網(wǎng)橋接收數(shù)據(jù)后在液晶屏上進(jìn)行相應(yīng)的顯示,這樣方便監(jiān)控人員隨時(shí)隨地了解現(xiàn)場(chǎng)發(fā)生的情況。
          硬件實(shí)現(xiàn)框圖如圖1所示:

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

          圖1 硬件構(gòu)成
          2 設(shè)計(jì)
          2.1 Linux 下開發(fā)平臺(tái)的建立
          Sitsang嵌入式開發(fā)平臺(tái)適合多種嵌入式操作系統(tǒng),本文在Sitsang開發(fā)板上構(gòu)建了基于的嵌入式Linux操作系統(tǒng),簡(jiǎn)稱Arm_Linux操作系統(tǒng),并且對(duì)Linux進(jìn)行了有效的裁剪,使其適應(yīng)本設(shè)計(jì)的要求。
          要在Linux系統(tǒng)中開發(fā)應(yīng)用程序,必須完成開發(fā)環(huán)境的建立。首先是建立交叉編譯環(huán)境,使程序能夠在PC機(jī)上進(jìn)行編譯、連接,然后下載到目標(biāo)板(Sitsang板)上運(yùn)行;其次選擇QT作為L(zhǎng)inux環(huán)境下可視化界面的開發(fā)工具,Qt是Linux下免費(fèi)的面向?qū)ο蟮拈_發(fā)環(huán)境,它具有優(yōu)良的跨平臺(tái)性能,支持絕大多數(shù)系統(tǒng)常用的API函數(shù);最后要進(jìn)行內(nèi)核的裁剪。
          2.2 Linux 內(nèi)核的裁剪和建立
          原始的linux內(nèi)核提供了較完備的系統(tǒng)資源,為開發(fā)目標(biāo)的實(shí)現(xiàn)提供了多種可行性方案的硬件支持,但是考慮到更充分的利用硬件資源和系統(tǒng)的穩(wěn)定性,就要根據(jù)所需要的資源對(duì)內(nèi)核進(jìn)行相應(yīng)的配置,增加需要的設(shè)備資源,不需要的資源可不必加載其程序。
          根據(jù)我們對(duì)這套系統(tǒng)的要求,確定了以下所用硬件:USB Host controller、USB Client、Touch Screen、LCD、FF UART、BT UART、LAN、VIDEO等設(shè)備資源以及與它們相關(guān)的一些總線設(shè)備。對(duì)于IrDA,USB鼠標(biāo)鍵盤等設(shè)備我們沒有用到,從內(nèi)核中進(jìn)行刪除。
          2.3 系統(tǒng)的實(shí)現(xiàn)
          軟件分成幾個(gè)模塊來進(jìn)行設(shè)計(jì):
          2.3.1 視頻采集處理模塊
          這是整個(gè)系統(tǒng)軟件的“底層”工作部分。它直接通過攝像頭完成現(xiàn)場(chǎng)視頻圖像的實(shí)時(shí)采集,并進(jìn)行相關(guān)的初步處理,為網(wǎng)絡(luò)發(fā)送作好準(zhǔn)備。
          2.3.2 網(wǎng)絡(luò)通訊模塊
          此模塊接收視頻采集模塊和狀態(tài)參數(shù)采集模塊提供的相關(guān)數(shù)據(jù),傳遞給監(jiān)控服務(wù)器以備下一步處理;同時(shí),它還可以轉(zhuǎn)發(fā)監(jiān)控服務(wù)器的數(shù)據(jù)給某個(gè)特定的移動(dòng)監(jiān)控終端,以便實(shí)現(xiàn)移動(dòng)監(jiān)控。
          2.3.2 視頻顯示及報(bào)警模塊
          此模塊在監(jiān)控服務(wù)器和移動(dòng)監(jiān)控終端上都存在,功能也基本相同。它可以實(shí)時(shí)的顯示接收到的視頻圖像,并在發(fā)現(xiàn)圖像異常時(shí)及時(shí)給出報(bào)警信號(hào),提醒監(jiān)控人員進(jìn)行處理。
          2.3.4 文件服務(wù)模塊
          此模塊主要是在發(fā)生報(bào)警后及時(shí)記錄相關(guān)信息,并在硬盤上存貯相關(guān)數(shù)據(jù),以備將來查閱。
          整體軟件設(shè)計(jì)框圖如下圖2所示:

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

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();