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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的視頻傳輸流發(fā)送系統(tǒng)設(shè)計方案

          基于FPGA的視頻傳輸流發(fā)送系統(tǒng)設(shè)計方案

          作者: 時間:2011-01-13 來源:網(wǎng)絡(luò) 收藏

            以字節(jié)同步的方式接收MPEG-2傳送包,接收的參考時鐘是采用固定的27MHz的時鐘頻率。接著,對字節(jié)進行8B/10B編碼,對出現(xiàn)的每一個8bit字節(jié)產(chǎn)生一個10bit的字,使這些10bit字通過以固定輸出比特率270Mbps工作的并/串轉(zhuǎn)換。

            將8B/10B編碼劃分為3個模塊實現(xiàn),較好地反映了8B/10B編碼的特點,實現(xiàn)流程清楚,容易編寫代碼。具體實現(xiàn)步驟為: ① 判斷是特殊字符還是數(shù)據(jù); ② 若是特殊字符(3B4B),根據(jù)RD極性直接取值; ③ 若是數(shù)據(jù),根據(jù)RD極性和前一個10bit模塊的編碼情況確定當前6 bit的取值; ④ 根據(jù)當前6 bit編碼值確定當前4 bit的編碼取值。⑤ 將當前6 bit編碼和當前4bit編碼組成當前10bit編碼輸出。

            3.4 并串轉(zhuǎn)換模塊

            在完成8B10B編碼以后,將信號送至并串轉(zhuǎn)換模塊轉(zhuǎn)換為串行數(shù)據(jù)流,通過270MHz時鐘將串行信號送出,ASI接口采用兩線差分方式進行串行數(shù)據(jù)。

          4 測試結(jié)果

            首先對ASI進行功能仿真,仿真平臺為ModelSim6.0,本中,ASI的輸入輸出的仿真波形如下圖所示:

          ASI發(fā)送系統(tǒng)的仿真波形

          圖 2 ASI系統(tǒng)的仿真波形

            仿真結(jié)果表明,輸入信號與編碼信號之間順序相差一個碼元周期,輸出抖動被完全消除。

            本文中的ASI接口測試由Honeywell公司的攝像頭、自行研制的MPEG2編碼板(壓縮芯片為MB86391)、MPEG2解碼器、顯示器構(gòu)成,如圖3所示。

          系統(tǒng)組成

          圖 3 系統(tǒng)組成

            ASI發(fā)送測試為:Honeywell公司的攝像頭和自行研制的MPEG2編碼板輸出符合MPEG2標準的TS流,通過標準SPI口送給本文的ASI轉(zhuǎn)換系統(tǒng)的SPI輸入,而經(jīng)SPI到ASI的轉(zhuǎn)換,通過BNC接頭的有線電纜送給解碼器的ASI口輸入,解碼后的輸出送給顯示器,連續(xù)播放數(shù)十小時,圖像清晰且顯示正常無誤。

            實驗結(jié)果證明,采用本文方法的ASI發(fā)送系統(tǒng),符合標準ASI接口規(guī)范,能有效可靠的實現(xiàn)SPI-ASI的編碼功能和高速串行數(shù)據(jù)流的發(fā)送功能。

            5 結(jié)語

            本文作者創(chuàng)新點: 在分析ASI發(fā)送系統(tǒng)機理的基礎(chǔ)之上,提出一種使用完成ASI發(fā)送系統(tǒng)的實現(xiàn),并使用VHDL語言在Altara的上實現(xiàn)了硬件電路,仿真結(jié)果和實際測試完全正確。該層次分明、結(jié)構(gòu)簡潔、編碼速度快、輸出抖動小,與現(xiàn)有的使用專用芯片CY7B923的方法相比,具有更大的靈活性,為高速ASI數(shù)傳的應(yīng)用前端提供了條件。


          上一頁 1 2 下一頁

          評論


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