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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > DM642無線圖像傳輸?shù)腡S流傳輸新技術

          DM642無線圖像傳輸?shù)腡S流傳輸新技術

          作者: 時間:2011-12-23 來源:網絡 收藏

          2.3 ping-pong操作的改進
          由于原來程序McBSP通過EDMA到ping或pong中,在EDMA完成中斷的過程中還需要復制數(shù)據(jù)(memcpy)到公共緩沖區(qū)。復制數(shù)據(jù)是一個很費時的過程,但程序不宜停留在中斷的時間過長,故而希望EDMA能直接傳到公共緩沖區(qū)中。

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

          e.jpg


          如圖4所示,在建立McBSP和EDMA通信時,將ping目的地址改變成公共緩沖池的首地址,將pong目的地址變?yōu)榫彌_池下一個緩沖區(qū)的首地址。再在EDMA完成中斷的過程中改變上一次用的PaRAM的目的地址,即ping完成,則中斷改變ping的目的地址。這樣對原程序改變較小,并且占用的參數(shù)RAM也較少。但要求ping,pong通道必須處在同一優(yōu)先級隊列中。當重新轉載其中一個時,才不會影響另一個通道。

          3 測試結果
          圖5是用連續(xù)自增的數(shù)在32 Mb/s的速度下以McBSP方式在FPGA的SignalTap II中看到的時序。

          f.jpg


          圖6是時鐘為9 MHz時輸出任務在FPGA的SignalTap II中看到的流時序。實測中,輸入任務在接收板DSP接收到流數(shù)據(jù),數(shù)據(jù)率為9 MB/s,數(shù)據(jù)有效(Dvalid)上升沿來時,得同步頭0x47。
          TS流在SDRAM存放的基地址為0x804DBC88,前4個字節(jié)(即0x47 0x40 0x45 0x10)是TS包的包頭,從包頭的定義規(guī)范可以看到,第1個字節(jié)0x47為TS包的同步字節(jié);第2個字節(jié)0x40說明這個TS包包含1個PES包的包頭,它傳輸?shù)膬?yōu)先級為0級,在這個包中不存在傳輸錯誤;第2個字節(jié)和第3個字節(jié)表明這個TS包的PID是0x45,是這個設計中的視頻包的PID;第4個字節(jié)說明在這個TS包中僅有有效載荷,沒有自適應區(qū)。188字節(jié)后再次出現(xiàn)同步字節(jié)0x47,0x00表示不是第1個TS包,PID也是0x45。再過188個字節(jié)還是同步字節(jié)0x47??梢姡琓S流的輸入輸出任務都較好地實現(xiàn)了它們的功能。

          結語
          本文介紹了一種基于和EP3C55F484的視頻傳輸系統(tǒng)的實現(xiàn)方式,并就TS流傳輸進行了討論。測試結果證明,項目中提出的McBSP和GPIO結合EDMA方式都成功實現(xiàn)了TS流的輸入和輸出傳輸,GPIO方式速度較快,信道中直接采用GPIO的方式要比模擬McBSP接口簡單得多,并用改進的乒乓方式提高程序運行效率。

          pid控制相關文章:pid控制原理



          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();