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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 利用FPGA實現(xiàn)HDB3編解碼功能

          利用FPGA實現(xiàn)HDB3編解碼功能

          作者: 時間:2010-03-16 來源:網(wǎng)絡(luò) 收藏

          摘要:(三階高密度雙極性)碼具有無直流分量、低頻成分少、連零個數(shù)不超過3個、便于提取時鐘信號等特點。通過對原理進行分析和研究,提出一種基于實現(xiàn)方法,給出Verilog HDL語言的實現(xiàn)方法和仿真波形,完成硬件電路的設(shè)計和測試,采用該方法設(shè)計的HDB3器已應(yīng)用于相關(guān)實驗設(shè)備中。
          關(guān)鍵詞:HDB3編碼;HDB3解碼;;Verilog HDL

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


          1 引言
          數(shù)字通信系統(tǒng)的某些應(yīng)用可對基帶信號不載波調(diào)制而直接傳輸,其中傳輸線路對碼型的要求如下:信碼中不宜有直流分量,低頻分量應(yīng)盡可能的少,碼型要便于時鐘信號提取。根據(jù)這些要求,ITU-T(國際電聯(lián))在G.703建議中規(guī)定,對于2 MHz、8 MHz、32 MHz速率的數(shù)字接口均采用HDB3(三階高密度雙極性)碼。HDB3碼具有無直流分量,低頻成分少,連零個數(shù)不超過3個等特點,便于時鐘信號的提取和恢復(fù),適合在信道中直接傳輸。這里利用Verilog HDL語言設(shè)計用于數(shù)字通信系統(tǒng)中的HDB3編解碼器。

          2 HDB3編碼模塊設(shè)計
          要設(shè)計一個實用的編碼模塊,首先要深入研究其編碼規(guī)則及其特點,然后根據(jù)編碼規(guī)則設(shè)計符合電路特性的編碼流程。HDB3碼的編碼規(guī)則包括:①將消息代碼變換成AMI碼,AMI碼的編碼規(guī)則是對碼流中的非“0”符號進行正負(fù)交替;②檢查AMI碼中的連零情況,當(dāng)連零的個數(shù)小于4個時,保持AMI的形式不變;當(dāng)連零的個數(shù)達到4個或超過4個時,則將非零碼后的第4個“0”替換成V碼,其中V碼的極性與前一非零碼(+1或-1)的極性保持一致,例如,前面的非零碼是+1,則將V碼記為+V;③完成插V操作后,檢查2個相鄰V碼之間非零碼的個數(shù)是否為偶數(shù),若為偶數(shù),則再將相鄰2個V碼中后一個V碼的前一非零碼后的第一個“0”變?yōu)锽碼,B碼的極性與前一非“0”碼的極性相反,同時B碼后面的非“0”碼極性再次進行交替變換,保證極性交替反轉(zhuǎn)特性。
          編碼規(guī)則中出現(xiàn)的V碼、B碼只是作為標(biāo)識符,最終的電路實現(xiàn)還是“0”和“1”這兩種邏輯電平,因此需要采用二進制編碼對“1”、“0”、V、B進行編碼,“00”表示“0”、“0l”表示“1”,“10”表示B,“11”表示V。根據(jù)編碼規(guī)則和利用實現(xiàn)的特點,將編碼過程:首先插入V碼,然后插入B碼,最后是單雙極性變換。如果按照編碼規(guī)則的順序設(shè)汁.應(yīng)該首先進行單雙極性變換,在完成插V和插B后,還需根據(jù)編碼規(guī)則變換當(dāng)前B碼之后的非零碼的極性,這需要大量的寄存器來保存當(dāng)前數(shù)據(jù)的狀態(tài),導(dǎo)致電路非常復(fù)雜,占用大量的FPGA內(nèi)部邏輯單元,實現(xiàn)難度大,且成本高。HDB3編碼過程示意圖如圖l所示。


          上一頁 1 2 3 4 5 下一頁

          關(guān)鍵詞: FPGA HDB3 編解碼

          評論


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