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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的二次群分接器的結(jié)構(gòu)分析及實(shí)現(xiàn)

          基于FPGA的二次群分接器的結(jié)構(gòu)分析及實(shí)現(xiàn)

          作者: 時(shí)間:2009-12-07 來(lái)源:網(wǎng)絡(luò) 收藏

            4.基群信號(hào)提取

            一個(gè)二次群信號(hào)復(fù)接了四個(gè)基群信號(hào),基群信號(hào)提取是在二次群幀同步的狀態(tài)下把二次群信號(hào)按一分四的規(guī)則進(jìn)行串并轉(zhuǎn)化。因?yàn)槎蔚膹?fù)接是按bit復(fù)接,所以二次群一幀中第一位為第一個(gè)群的第一位,二次群一幀中第二位為第二個(gè)群的第一位,以此類推。VHDL語(yǔ)言代碼如下程序段:

          程序

          程序

            5.去除插入碼及負(fù)碼速調(diào)整

            去除插入碼及負(fù)碼速調(diào)整是二次群的關(guān)鍵部分,首先要去除幀頭插入的F1、F2和F3;接著去除C1、C25DC3;最后根據(jù)C1、C2和C3值來(lái)判斷第161位V否為插入碼,如果C1C2C3為:"1 11",則V是插入碼應(yīng)去除,如果C1C2C3為:"000",則V是基群的信碼,不應(yīng)去除。把去除了插入碼的信號(hào)輸入到一個(gè)FIFO,用經(jīng)過(guò)負(fù)碼速調(diào)整過(guò)的2.048MHz時(shí)鐘讀出輸出基群信號(hào)如圖3所示。

          用經(jīng)過(guò)負(fù)碼速調(diào)整過(guò)的2

            由于寫到FIF0的時(shí)鐘是不均勻的,不利于后端處理,所以必須做負(fù)碼速調(diào)整,即把2.112MHz速率調(diào)整到2.048MHz速率。的原理是根據(jù)2.112MHz速率和2.048MHz速率的有效信碼個(gè)數(shù)是一樣多的,可以根據(jù)它們的個(gè)數(shù)進(jìn)行調(diào)整。如果根據(jù)2.048MHz速率輸出的信碼少了則稍微提高2.048MH z時(shí)鐘的頻率,如果根據(jù)2.048MHz速率輸出的信碼多了則稍微降低2.048MHz時(shí)鐘的頻率。

            VHDL語(yǔ)言代碼如下程序段:一根據(jù)div的值動(dòng)態(tài)調(diào)整clk2048的頻率,實(shí)現(xiàn)負(fù)碼速調(diào)整。

          程序

          程序

            6.結(jié)論

            本文對(duì)二次群的分接處理,提出了一種基于的方案,介紹了二次群的幀結(jié)構(gòu),給出了幀頭捕獲、幀丟失告警、負(fù)碼速調(diào)整等VHDL語(yǔ)言的關(guān)鍵程序。在QUARTUSII軟件中編譯完成,資源僅占用三十多個(gè)LE,給二次群設(shè)備的設(shè)計(jì)提供了一種參考,具有很高的價(jià)值。


          上一頁(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); })();