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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的視頻圖像分割技術(shù)設(shè)計與應(yīng)用

          基于FPGA的視頻圖像分割技術(shù)設(shè)計與應(yīng)用

          作者: 時間:2013-07-15 來源:網(wǎng)絡(luò) 收藏


          通過實驗得到另一個結(jié)論:在內(nèi)部是用DMA來搬運視頻數(shù)據(jù)到顯示bu仃er的相應(yīng)位置。對于數(shù)據(jù)量相對較大的“數(shù)據(jù)塊”來說,DMA所耗費的系統(tǒng)性能是非常接近的。由此,筆者設(shè)計出第2種換面合成方式,如圖4所示。這樣做可以簡化邏輯設(shè)計,節(jié)約資源,提高項目開發(fā)速度。

          2 系統(tǒng)設(shè)計

          2.1 硬件設(shè)計部分

          圖5是相關(guān)部分硬件框圖,可以看到,16路視頻數(shù)據(jù)由4片TW2815芯片輸入到,經(jīng)過分割合成處理后送入。由于視頻數(shù)據(jù)速度高、數(shù)據(jù)量大,所以采用兩片DDR SDRAM進行緩存。主時鐘為133 MHz,配置電路采用從串和JTAG模式,前者用于系統(tǒng)運行時由MCU進行配置,后者用于系統(tǒng)調(diào)試。FPGA芯片選用Xilinx公司Spaaen3A系列

          XC3SD3400A芯片。系統(tǒng)由ATX電源供電,內(nèi)部各電平由電源芯片產(chǎn)生。內(nèi)存為兩片HY5DU561622ETP型DDR SDRAM。


          2.2 軟件功能架構(gòu)

          圖6為軟件設(shè)計功能框圖,它由多個功能模塊組成。各模塊功能如下:

          1,INPUT DEMUX:接收視頻數(shù)據(jù),根據(jù)視頻解碼芯片的工作模式將信號分解成ITU-RBT.656數(shù)據(jù)送入下級模塊。

          2,VII)IN:檢測SAV、EAV信號,提取有效視頻數(shù)據(jù)(DI、CIF、QCIF),然后放入FIFO中暫存。

          3,WRITE DMA:按照設(shè)計中對內(nèi)存的劃分,將不同通道的有效數(shù)據(jù)寫入設(shè)定的內(nèi)存空間。

          4,READ DMA:按照一定的格式讀取內(nèi)存空間中的數(shù)據(jù)。

          5,MEM ARB:仲裁對內(nèi)存的讀寫操作,協(xié)調(diào)讀寫模塊工作。

          6,DDR SDRAM Controller:用Xilinx內(nèi)存接口生成器(MIG)生成,實現(xiàn)FPGA與DDR接口

          7,VID OUT:在輸出視頻數(shù)據(jù)中添加通道號等輔助信息,便于DSP識別。

          8,12C_SLAVE:模擬12c從模塊工作方式,外部MCU通過該接口對內(nèi)部寄存器進行配置,以實現(xiàn)不同功能。


          整個系統(tǒng)基于同步邏輯設(shè)計,使用Verilog HDL語言進行代碼編寫,仿真使用ModelSim,圖7是其中典型一次寫突發(fā)過程模塊的仿真波形。



          關(guān)鍵詞: DSP FPGA 視頻編碼器

          評論


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