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

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于EDA的數(shù)據(jù)傳輸系統(tǒng)的HDB3編碼器

          基于EDA的數(shù)據(jù)傳輸系統(tǒng)的HDB3編碼器

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

          2.2 插“B”模塊的實(shí)現(xiàn)

          插“B”模塊的建模思路是當(dāng)相鄰“V”符號(hào)之間有偶數(shù)個(gè)非0符號(hào)時(shí),把后一小段的第1個(gè)“0”變換成一個(gè)“B”符號(hào)。可用一個(gè)4位的移位寄存器來(lái)實(shí)現(xiàn)延遲,這樣經(jīng)插“V”處理過(guò)的碼元,可在同步時(shí)鐘的作用下同時(shí)進(jìn)行是否插“B”的判決,等到碼元從移位寄存器里出來(lái)的時(shí)候,就可以決定是應(yīng)該變換成“B”符號(hào),還是照原碼輸出。輸出端用“11”表示符號(hào)“V”,“01”表示“1”碼, “00”表示“0”碼,“10”表示符號(hào)“B”。其模型如圖3所示,VHDL的結(jié)構(gòu)代碼如artb:

          2.3 單極性變雙極性的實(shí)現(xiàn)

          根據(jù)編碼規(guī)則, “B”符號(hào)的極性與前一非零符號(hào)相反,“V”極性符號(hào)與前一非零符號(hào)一致。因此,可對(duì)“V”單獨(dú)進(jìn)行極性變換(“V”已經(jīng)由“11”標(biāo)識(shí),相鄰“V”的極性是正負(fù)交替的),余下的“1”和“B”看成一體進(jìn)行正負(fù)交替,從而完成的編碼。

          因?yàn)榻?jīng)過(guò)插“B”模塊后, “V”、 “B”、“1”已經(jīng)分別用雙相碼“11”、 “10”、 “01”標(biāo)識(shí)。“0”用“00”標(biāo)識(shí)。而在實(shí)際應(yīng)用中,CPLD或FPGA端口的輸出電壓只有正極性電壓,且在波形仿真中也只有“+1”和“0”,而無(wú)法識(shí)別“-1”。所以要得到所需編碼的結(jié)果,需定義“00”、“01”、“10”來(lái)分別表示“0”、 “-1”、 “+1”??蓪⒉?ldquo;B”模塊后輸出的“00”、“01”、“10”、“11”組合轉(zhuǎn)換為“00”、“01”、 “10”組合,再通過(guò)“00”、 “01”、“10”控制四選一數(shù)字開(kāi)關(guān)的地址來(lái)選擇輸出通道,就可以實(shí)現(xiàn)0、-B、+B。本設(shè)計(jì)使用CC4052的一組通道作為四選一數(shù)字開(kāi)關(guān),從而將CPLD或FPGA目標(biāo)芯片的標(biāo)識(shí)性輸出轉(zhuǎn)換成雙極性信號(hào),最終實(shí)現(xiàn)非歸零編碼。CC4052的接線如圖4所示,所實(shí)現(xiàn)的地址控制器的模型如圖5所示。其VHDL結(jié)構(gòu)代碼如artd:



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();