• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > USB3.0中8b/10b編解碼器的設計

    USB3.0中8b/10b編解碼器的設計

    作者: 時間:2011-11-05 來源:網絡 收藏

    摘要:為了在USB 3.0中實現數據的8 b/10 b編解碼,采用了查找表法和組合邏輯相結合的方法,把8b/編解碼分解成5 b/6 b編解碼和3 b/4 b編解碼,用Verilog HDL語言實現了算法的描述,并通過了Modelsim仿真,然后在FPGA上實現了具體的硬件電路。采用500 MHz的時鐘信號,經過測驗滿足了USB 3.0的傳輸速率5 Gb/s。該創新方法使用了少量邏輯,實現了8 b/10 b,并且滿足USB 3.0高速數據傳輸的要求。
    關鍵詞:USB 3.0;8 b/10 b編解碼;RTL設計;仿真驗證

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

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

    本文引用地址:http://www.czjhyjcfj.com/article/202419.htm

    a.jpg


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


    上一頁 1 2 3 下一頁

    關鍵詞: USB3 10b 編解碼器

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 泰和县| 平凉市| 防城港市| 海门市| 论坛| 汤阴县| 米泉市| 类乌齐县| 大安市| 晋江市| 崇义县| 明水县| 辉南县| 睢宁县| 正宁县| 剑河县| 大化| 上高县| 东光县| 乳源| 西青区| 大英县| 沁源县| 屏南县| 洛阳市| 潢川县| 尉犁县| 塔城市| 乌什县| 伊吾县| 吉隆县| 漳平市| 富平县| 紫金县| 石林| 全南县| 钦州市| 乌拉特中旗| 溧水县| 咸丰县| 靖边县|