精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

對高速信號8B/10B編碼的初步認識

454398 ? 來源:一博科技 ? 作者:黃剛 ? 2021-04-01 12:04 ? 次閱讀

在高速鏈路中導致接收端眼圖閉合的原因,很大部分并不是由于高頻的損耗太大了,而是由于高低頻的損耗差異過大,導致碼間干擾嚴重,因此不能張開眼睛。針對這種情況,前面有講過可以通過CTLE和FFE(包括DFE)均衡進行解決,原理無非就是衰減低頻幅度或者抬高高頻幅度,從而達到在接收端高低頻均衡的效果。

隔了一段時間,不知道大家還記得我們這個約定嗎?不管你們記不記得,本人肯定沒有忘記哈。現(xiàn)在就把這個關子拿出來講講,也就是今天要說的編碼方式。說到針對于NRZ數據的編碼方式,本人聽過的有4B/5B,8B/10B,64B/66B,64/67B,128B/130B,128B/132B編碼(可能各位還有其他吧),不同的編碼方式針對于不同的信號協(xié)議,當然效率也是不一樣的。

什么叫效率?在數據包傳送的術語叫開銷,意思就是除了實際需要的數據之外的一些數據bit,例如冗余校驗等。那大家看上面的編碼的數值比就知道了,例如8B/10B,要把8bit的實際數據擴展為10B,那開銷就是20%,效率就只有80%了,更通俗來說就是增加了20%的非實際數據的傳輸 。所以一個好的編碼方式,除了看它本身的算法優(yōu)化情況外,還要注重效率高不高。

本人將用兩期的篇章主要介紹下8B/10B和64/66B編碼方式,其他的主要都是由他們擴展開來的。那介紹完前面總體的情況后,進入本期的主題,8B/10B編碼。

首先,為什么要編碼?原來的碼型有什么不好的地方嗎?其中最主要的原因用下面這個圖來進行解釋:

pIYBAGBlRjiAPFjAAAIf6V-FkpM871.png

大家看明白了吧,由于我們的串行鏈路中會有交流耦合電容,我們知道理想電容的阻抗公式是Zc=1/2πf*C,因此信號頻率越高,阻抗越低,反之頻率越低,阻抗越高。因此上面的情況,當碼型是高頻的時候,基本上可以不損耗的傳輸過去,但是當碼型為連續(xù)“0”或者“1”的情況時,電容的損耗就很大,導致幅度不斷降低,帶來的嚴重后果是無法識別到底是“1”還是“0”。因此編碼就是為了盡量把低頻的碼型優(yōu)化成較高頻的碼型,從而保證低損耗的傳輸過去。

上面解釋了原因,下面就介紹下這種8B/10B的編碼方式的算法。

18-gscx-03.png

如上圖,關于8B/10B編碼算法有下面幾點需要理解:

1, 低5位(ABCDE)中間加一位,進行5B/6B編碼,高三位(FGH)中間加一位,進行3B/4B編碼;

2, 編碼后的bit僅會出現(xiàn)這三種情況:5個“0”與5個“1”、4個“0”與6個“1”、6個“0”與4個“1”;

3, 有兩個術語要知道:不均等性(disparity)和極性偏差(running disparity,RD)。

不均等性是指編碼后的碼型數據是“1”多還是“0”多,如果是“1”多,則極性偏差RD為-RD,如果是“0”多則為+RD。那定義+-RD有什么意義呢?+-RD代表著同一個碼型的兩種編碼方式。我們本身就是編碼的目標就是為了緩解長“0”或長“1”的影響,因此在編碼后如果“1”多的話,我們下一次的編碼就要把這種碼型做一個修正,因此從-RD碼型變成+RD碼型。如果是“0”和“1”一樣多,極性則不用變,如下圖:

18-gscx-04.png

4, 我們怎么知道編碼后映射成什么碼型呢?因此會有一個專門的編碼表,我們只需要在上面找到我們的原始碼型,然后就一目了然了。編碼表如下所示(部分截圖):

18-gscx-05.png

說了那么多,還不如舉個例子更直觀。

我們以上面的D3.0碼型進行仿真驗證:

18-gscx-06.png

原始的碼型如下:

18-gscx-07.png

仿真得到8B/10B編碼后的碼型如下:

18-gscx-08.png

對照上面的編碼表,結果完全相同,從RD-的模型出發(fā),編碼后RD-的碼型“1”比較多,因此極性變成RD+的編碼碼型,接著RD+的編碼碼型“0”比較多,極性又變回RD-,因此碼型就是RD-和RD+之間循環(huán)下去。

通過上面的介紹,大家對8B/10B編碼有一個初步的認識了吧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 阻抗
    +關注

    關注

    17

    文章

    941

    瀏覽量

    45834
  • 編碼
    +關注

    關注

    6

    文章

    935

    瀏覽量

    54771
  • 高速信號
    +關注

    關注

    1

    文章

    223

    瀏覽量

    17677
  • 耦合電容
    +關注

    關注

    2

    文章

    154

    瀏覽量

    19796
收藏 人收藏

    評論

    相關推薦

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

    為了在USB 3.0中實現(xiàn)數據的8 b/10 b編解碼,把8b/10b編解碼分解成5
    發(fā)表于 11-30 11:38 ?3246次閱讀
    USB3.0中<b class='flag-5'>8b</b>/<b class='flag-5'>10b</b>編解碼器的設計

    8b10b編碼verilog實現(xiàn)

    8b/10b編碼是一種用于減少數據線上的低效能時鐘信號傳輸的技術,通過在數據流中插入特殊的控制字符,來同步數據和時鐘。在Verilog中實現(xiàn)8b
    發(fā)表于 03-26 07:55

    Aurora 8b/10b IP核問題

    小弟最近在調用Aurora 8b/10b IP模塊時,在用modelsim功能仿真時,一切正常。 但是直接使用了例化后的example,并將Tx和Rx形成了回路下到FPGA板子上
    發(fā)表于 03-09 10:58

    8b/10b編解碼的控制字問題

    8b/10b編碼用的控制字是K28.5,但是解碼時用非K28.5的控制字能把數據解碼出來嗎?
    發(fā)表于 01-02 14:47

    淺析64B//66B編碼

    作者:黃剛上文說完了8B/10B之后,我們再來說說貌似更復雜的64B/66B編碼。很多人可能在想,8B
    發(fā)表于 07-19 07:35

    收發(fā)器向導中啟用8b/10b編碼器的方法是什么?

    親愛的先生,我正在使用Vivado 2015.4。我想在收發(fā)器向導中使用通道綁定,但CB在手冊中是灰色的。另外,我找不到在收發(fā)器向導中啟用8b / 10b編碼器的方法。如果你能給我一些建議,我將不勝感激。問候,泰迪王
    發(fā)表于 08-04 08:32

    如何使用Aurora 8B / 10B建立僅傳輸?

    你好,我正在嘗試使用Aurora 8B / 10B建立僅傳輸(流媒體)。現(xiàn)在使用Vivado 2014.4進行模擬階段。我知道GTXE2_COMMON原語需要在設計中使用以包含一個QUAD PLL
    發(fā)表于 08-14 08:49

    怎么禁用Aurora IP Core 8B / 10B中的時鐘補償功能?

    大家好,我使用的是Vivado 2016.4和Virtex 7 XC7VX485T FPGA。我需要知道是否有一個選項可以禁用Aurora IP Core 8B / 10B中的時鐘補償功能。我可以看到IP核心文件,但它們都是只讀的。謝謝,馬諾
    發(fā)表于 08-18 09:43

    高速接口8B/10B的作用?

    一、高速接口8B/10B的作用? 在數字通信中編碼和加擾的作用是不同的。編碼通常有信源編碼和信道
    發(fā)表于 01-18 06:16

    基于FPGA的8B10B編解碼設計

    摘要:為提高8B10B編解碼的工作速度和簡化邏輯方法,提出一種基于FPGA的8B10B編解碼系統(tǒng)設計方案。與現(xiàn)有的8B
    發(fā)表于 05-26 11:08 ?3804次閱讀
    基于FPGA的<b class='flag-5'>8B</b>/<b class='flag-5'>10B</b>編解碼設計

    基于PRBS的8B/10B編碼器誤碼率為0設計

    基于減少8B/10B編碼器占用的邏輯資源和保證該編碼器誤碼率為0的目的,采用查表法和組合邏輯實現(xiàn)相結合的方法設計實現(xiàn)了符合嵌入式互連規(guī)范Rapidl0協(xié)議的
    發(fā)表于 11-06 17:04 ?7次下載
    基于PRBS的<b class='flag-5'>8B</b>/<b class='flag-5'>10B</b><b class='flag-5'>編碼</b>器誤碼率為0設計

    基于Virtex-6 的Aurora 8B/10B,PCIe2.0,SRIO 2.0三種串行通信協(xié)議分析

    針對較為常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三種協(xié)議進行了測試及對比分析。首先搭建了基于Virtex-6 FPGA的高速串行協(xié)議測試
    發(fā)表于 11-18 01:00 ?1.2w次閱讀
    基于Virtex-6 的Aurora <b class='flag-5'>8B</b>/<b class='flag-5'>10B</b>,PCIe2.0,SRIO 2.0三種串行通信協(xié)議分析

    淺談高速信號的64B/66B編碼方式

    很多人可能在想,8B/10B編碼主要作用的優(yōu)化直流平衡,從8bit中插2個bit進去,這樣的話最終效果能夠使長0或者長1的位數不超過5位,達到很好的效果。那64
    的頭像 發(fā)表于 04-01 12:01 ?8484次閱讀
    淺談<b class='flag-5'>高速</b><b class='flag-5'>信號</b>的64<b class='flag-5'>B</b>/66<b class='flag-5'>B</b><b class='flag-5'>編碼</b>方式

    高速串行通信常用的編碼方式-8b/10b編碼/解碼解析

    ? 論序 8b/10b編碼/解碼是高速串行通信,如PCle SATA(串行ATA),以及Fiber Channel中常用的編解碼方式。在發(fā)送端,編碼
    的頭像 發(fā)表于 09-26 09:56 ?8721次閱讀
    <b class='flag-5'>高速</b>串行通信常用的<b class='flag-5'>編碼</b>方式-<b class='flag-5'>8b</b>/<b class='flag-5'>10b</b><b class='flag-5'>編碼</b>/解碼解析

    一文詳解8b/10b編碼

    8b/10b最常見的是應用于光纖通訊和LVDS信號的。由于光模塊光模塊只能發(fā)送亮或者不亮,也就是0或者1這兩種狀態(tài)這種單極性碼,那么這會存在一個問題,如果傳輸中出現(xiàn)較長的連0或者連1(例如
    的頭像 發(fā)表于 11-12 15:47 ?1.4w次閱讀