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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT91RM9200的嵌入式網(wǎng)絡(luò)攝像機設(shè)計

          基于AT91RM9200的嵌入式網(wǎng)絡(luò)攝像機設(shè)計

          作者: 時間:2016-11-14 來源:網(wǎng)絡(luò) 收藏

            隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展, 通過網(wǎng)絡(luò)遠程實時監(jiān)控重要場所已倍受人們關(guān)注, 在此背景下產(chǎn)生, 并成為人們關(guān)注的焦點。要將高清晰度的實時視頻信息通過互聯(lián)網(wǎng)傳送到監(jiān)控終端, 因其信息量巨大, 所以必須壓縮。通常人們采用DSP 與MPEG- 4 算法相結(jié)合的方案來實現(xiàn), 不僅編程工作量大, 而且產(chǎn)品的成本高。本文所介紹的采用專用的MPEG- 4 壓縮芯片、以嵌入式Linux 作為操作系統(tǒng), 不僅開發(fā)便捷、成本低廉, 而且實時性好, 適用范圍廣。

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

            系統(tǒng)總體設(shè)計

            系統(tǒng)總體設(shè)計包括硬件設(shè)計和軟件設(shè)計兩部分。硬件設(shè)計模塊主要包括微控制器模塊、壓縮編碼模塊、網(wǎng)絡(luò)接口模塊和相機控制模塊四部分。微控制器模塊主要由主控芯片、DataFlash 和SDRAM(1)組成。其中, 主控芯片是整個控制系統(tǒng)的核心, 它負責(zé)整個系統(tǒng)的調(diào)度工作。DataFlash 里固化了嵌入式Linux 內(nèi)核、及其文件系統(tǒng)、應(yīng)用軟件和系統(tǒng)配置文件。SDRAM(1)作為內(nèi)存供系統(tǒng)運行使用。壓縮編碼模塊由視頻數(shù)據(jù)采集芯片、MPEG- 4 壓縮編碼芯片、SDRAM(2)組成,負責(zé)將視頻流轉(zhuǎn)化為MPEG- 4 碼流。網(wǎng)絡(luò)接口模塊主要是配合主控芯片傳送MPEG- 4 碼流。相機的控制模塊主要由串口芯片組成, 其完成轉(zhuǎn)發(fā)控制相機命令的功能。當(dāng)系統(tǒng)啟動時, 微控制器通SPI( Serial PeripheralInterface, 串行外設(shè)接口) 將Linux 內(nèi)核轉(zhuǎn)入SDRAM( 1) 中, 系統(tǒng)從SDRAM( 1) 中啟動。系統(tǒng)啟動后, 微控制器通過HPI(Host Peripherial Interface, 主機接口)控制MPEG- 4 編碼模塊。統(tǒng)結(jié)構(gòu)如圖1 所示。

            

           

            軟件設(shè)計部分主要包括嵌入式Linux 移植、MPEG- 4 壓縮編碼模塊、CGI 控制程序和MPEG- 4 解碼程序四部分。嵌入式Linux 系統(tǒng)存放到由 控制的DataFlash 里,它負責(zé)整個系統(tǒng)軟件的調(diào)度工作。MPEG- 4 壓縮編碼模塊主要負責(zé)模擬視頻流的采集, 并將數(shù)字視頻流壓縮為MPEG- 4 數(shù)據(jù)流。CGI 控制程序主要負責(zé)對攝像機的控制和對MPEG- 4 視頻流的相關(guān)設(shè)置。MPEG- 4 解碼程序主要負責(zé)對通過網(wǎng)絡(luò)得到的MPEG- 4 數(shù)據(jù)流的解碼工作。'

            硬件設(shè)計

            微控制器模塊

            微控制器是本系統(tǒng)的核心部件, 選用的是ATMEL公司的。它是一款基于ARM920T 核的32位微控制器。其主頻為180MHz, 處理速度快, 功能強, 性價比高, 能很好滿足嵌入式Linux 系統(tǒng)的需求。它在系統(tǒng)中的主要作用是在系統(tǒng)上電時配置其他芯片的功能寄存器, 在正常工作狀態(tài)下調(diào)度控制整個系統(tǒng)工作, 通過片內(nèi)以太網(wǎng)控制器控制物理層芯片發(fā)送碼流。

             通過片內(nèi)的SPI 總線和SDRAM控制器實現(xiàn)對外圍DataFlash 和SDRAM的控制, 利用片內(nèi)的USART 實現(xiàn)對串口芯片的控制, 通過片內(nèi)的以太網(wǎng)控制器對片外網(wǎng)絡(luò)芯片進行控制。其控制原理圖如圖2 所示。

            

           

            壓縮編碼模塊

            壓縮編碼模塊包括模擬視頻采集模塊和MPEG- 4壓縮模塊。視頻采集芯片采用TI 公司的TVP5150, 數(shù)據(jù)壓縮芯片采用映佳公司的MPG440。TVP5150 輸入端可是兩種混合視頻信號也可是S- Video 端子的視頻信號, 支持NTSC、PAL、SECAM等3 種制式, 其輸出的數(shù)據(jù)色彩格式可以為8bit 4: 2: 2 數(shù)字信號或者8bit 同步ITU- R BT.656 數(shù)字信號。MPG440 芯片具有符合工業(yè)標準的16b/32b 的雙向主機接口, 分別用來與視頻采集芯片和微控制器芯片通信。同時, 具有移動偵測、防偽水印、動態(tài)調(diào)整IP 畫格比率、動態(tài)調(diào)整圖像質(zhì)量等特性, 支持D1、VGA、CIF、QVGA、QCI 等五種分辨率模式。微控制器通過主機接口實現(xiàn)MPG440 的初始配置, 也由此接收MPEG- 4 碼流。壓縮編碼模塊的硬件設(shè)計原理如圖3 所示。

            

           

            TVP5150 的AI 模擬輸入口與模擬攝像頭輸出端連接, 向視頻處理芯片傳送模擬視頻信號。模擬信號經(jīng)過采樣處理之后通過YOUT0~YOUT7 引腳送到MPG440, 采樣數(shù)據(jù)在PCLK 的上升沿有效, MPG440的VIDEO_CLK 在收到PCLK 的上升沿時獲得YOUT的信號。TVP5150 分場同步脈沖和行同步脈沖, 分別對應(yīng)其輸出端VSYNC、HSYNC。MPG440 正是根據(jù)與之相連的VSYNC 和HSYNC 信號線來實現(xiàn)圖像的場同步和行同步操作。MPG440 的視頻輸入數(shù)據(jù)線DATA_TV0 ~DATA_TV7 與TVP5150 的YOUT0 ~YOUT7 相連。MPG440 在接收數(shù)據(jù)的同時, 將其得到的數(shù)據(jù)流傳送給MPEG- 4 壓縮編碼單元, 編碼后的MPEG- 4 數(shù)據(jù)流暫存到SDRAM(2)中。MPG440 片內(nèi)PDMA 控制器根據(jù)配置寄存器的設(shè)置準確發(fā)起對SDRAM(2)訪問, 同時將得到的數(shù)據(jù)流輸送往HPI(主機總線接口,Host Peripherial Interface) , 以等待AT91RM9200 通過DMA 通道將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)。

            MPG440 通過HPI 與AT91RM9200 通信,AT91RM9200 將MPG440 的寄存器、存儲空間等資源作為其本身內(nèi)存尋址訪問。MPG440 由AT91RM9200選通線NCS4 來選通, 其在AT91RM9200 尋址空間中的地址段為0X50000000 到0X5FFFFFFF。通過對MPG440 一系列寄存器的設(shè)置, 可以訪問MPG440 系統(tǒng)存儲空間。MPG440 中斷信號RSC_INT0 從通用I/O引腳的PB29 輸入, 當(dāng)緩沖器填滿時, RSC_INT0 引腳置低提示AT91RM9200 通過DMA 通道提取MPEG- 4數(shù)據(jù)流。編碼后視頻數(shù)據(jù)讀取過程和MPG440 與主機通信過程由AT91RM9200 讀信號CFRD 和寫信號CFWE 控制。



          評論


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