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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > USB3.0中8b/10b編解碼器的設(shè)計(jì)

          USB3.0中8b/10b編解碼器的設(shè)計(jì)

          作者: 時(shí)間:2011-11-05 來源:網(wǎng)絡(luò) 收藏

          摘要:為了在USB 3.0中實(shí)現(xiàn)數(shù)據(jù)的8 b/10 b編解碼,采用了查找表法和組合邏輯相結(jié)合的方法,把8b/編解碼分解成5 b/6 b編解碼和3 b/4 b編解碼,用Verilog HDL語言實(shí)現(xiàn)了算法的描述,并通過了Modelsim仿真,然后在FPGA上實(shí)現(xiàn)了具體的硬件電路。采用500 MHz的時(shí)鐘信號(hào),經(jīng)過測(cè)驗(yàn)滿足了USB 3.0的傳輸速率5 Gb/s。該創(chuàng)新方法使用了少量邏輯,實(shí)現(xiàn)了8 b/10 b,并且滿足USB 3.0高速數(shù)據(jù)傳輸?shù)囊蟆?br />關(guān)鍵詞:USB 3.0;8 b/10 b編解碼;RTL設(shè)計(jì);仿真驗(yàn)證

          0 引言
          8 b/10 b是目前許多高速串行總線采用的編碼機(jī)制,如USB 3.0,1394b,Serial ATA,PCI Express,Infini-band,F(xiàn)iber Channel,RapidIO等總線或網(wǎng)絡(luò)。8 b/10 b編碼方式最初由IBM公司于1983年發(fā)明并應(yīng)用于ESCON(200M互連系統(tǒng)),發(fā)表Al Widmet和Peter Franaszek IBM刊物的“研究與開發(fā)”。8 b/10 b編解碼之所以能得到廣泛的運(yùn)用,主要有以下優(yōu)點(diǎn):采用嵌入式時(shí)鐘,可保持DC平衡;能夠更加有效地檢測(cè)錯(cuò)誤;隔離數(shù)據(jù)碼元和控制碼元。

          1 USB 3.0中的8 b/10 b編解碼原理
          在USB 3.0分層結(jié)構(gòu)中,發(fā)送端先對(duì)數(shù)據(jù)或者控制字(K)加擾,然后把加擾后的8 b數(shù)據(jù)編碼成發(fā)送出去;接收端先把接收到的數(shù)據(jù)進(jìn)行解碼得到8 b數(shù)據(jù),然后再解擾得到原始數(shù)據(jù)。
          8 b/10 b編碼包含對(duì)256個(gè)數(shù)據(jù)字符和12個(gè)控制字符的編碼。數(shù)據(jù)字符和控制字符分別用Dx,y和Kx,y表示,其中x表示與8 b的低5位(EDCBA)對(duì)應(yīng)的十進(jìn)制數(shù)值;y表示與8 b的高3位(HGF)對(duì)應(yīng)的十進(jìn)制數(shù)值。發(fā)送端在編碼時(shí),根據(jù)編碼表將低5位變成6位,高3位變成4位。編碼完成后,將10 b的并行字符轉(zhuǎn)換成串行發(fā)送出去。接收端在解碼時(shí)先進(jìn)行串并轉(zhuǎn)換得到10 b字符,再將該字符分解成6 b和4 b,根據(jù)相應(yīng)編碼表看是否有效,最后完成解碼。編解碼轉(zhuǎn)換流程如圖1所示。

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

          a.jpg


          不平衡度disp(disparity)表示編碼后1個(gè)碼字中“1”數(shù)目與“0”的數(shù)目差。“1”用+1表示,“0”用-1表示,碼字中的所有“+1”與“-1”之和就是disp。8 b/10 b編碼的disp取3種狀態(tài):“+2”(6個(gè)1與4個(gè)0),“0”(5個(gè)0與5個(gè)1),“-2”(6個(gè)0與4個(gè)1)。而運(yùn)行不一致RD(Running Disparity)是一個(gè)二進(jìn)制參數(shù),只有正、負(fù)2種狀態(tài),用于編碼模式控制。在8 b/10 b編碼表中,10 b字符分為2種碼表(RD-和RD+)。編碼過程中,通過對(duì)RD值正負(fù)的判斷來選擇對(duì)應(yīng)碼表,如果當(dāng)前RD為負(fù)(RD-),編碼器會(huì)在RD-編碼表中選擇對(duì)應(yīng)值輸出,并且檢測(cè)對(duì)應(yīng)輸出的10 b值的disp,如果disp=0,則RD不變保持RD-,否則RD值變?yōu)镽D+;如果當(dāng)前RD為正(RD+),則在RD+編碼表中選擇對(duì)應(yīng)值輸出,并且檢測(cè)輸出值對(duì)應(yīng)的disp,如果disp=0,則RD不變保持RD+,否則RD變?yōu)樨?fù)RD-??傊?,在disp為正或者負(fù)時(shí),RD發(fā)生交替變換,這種方法是為了使0和1分布更均勻,減小差分信號(hào)的直流分量。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: USB3 10b 編解碼器

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