A在线亚洲男人的天堂国产色噜噜噜在线精品,4399好看的日本韩国电影,国产97色在线 | 日韩,免费A级毛片18禁网站

8b10b編碼基礎-云帆興燁

發表日期:2024/08/09 瀏覽次數:

8b/10b編碼的應用非常廣泛,例如:PCIE GEN1 GEN2,USB3.2 GEN1。再到現在的128b/130b (PCIE GEN3/4/5) 128b/132b (USB3.2 GEN2), 與8b/10b相比他們提升了編碼效率,這兩種編碼方式在底層邏輯上和處理的問題其實是相同的,本文從什么是8b/10b編碼、為什么要使用8b/10b編碼和如何實現8b/10b編碼三個方面來給大家介紹這項技術。

1

什么是 8b/10b 編碼



8b/10b就是把8個bit的數據加工映射成10個bit。如圖1所示,我們可以看到會把8個連續的bit分成低5位 (LSB) 和高3位 (MSB) 分別進行映射,5位通過5b/6b編碼,3位通過3b/4b編碼。

1.png
                                               圖1 8b/10b編碼映射圖

2

為什么要進行 8b/10b 編碼



那么為什么要把8個bit編碼成10個bit?為什么要浪費兩個bit,不去傳輸有用數據?原因有以下兩點:

  • 可以用多出來的bit位來傳輸一些控制信息

  • 可以通過這種方式來達到直流均衡

在這里我們就要引出第二個概念:直流平衡。直流平衡(DC-balanced)是指在編碼過程中保證信道中直流偏移為零,使信道中傳輸數據包含的1與0的個數相同。高速串行總線中,通常采用交流耦合方式,即在發送端(TX)串接電容(見圖2)。電容在電路中是呈現高通屬性的,信號頻率越高,電容阻抗越低(見公式1)。
2.png
                                公式1
3.png
                                   圖2 不同頻率的NRZ碼型通過電容
當數據位流中出現多個連續的1或0時,可以認為該時間段信號是直流的,電容的損耗變大,導致信號的幅度降低,直流信號被濾除,到最后無法識別是1還是0。且接收端收到連續的1或0時,沒有充分的定時信息,給接收端的解碼帶來了困難(見圖3)。
4.png
                                                                      圖3  連1連0信號通過電容信號失真

因此,8b/10b編碼就是把信號中的連1連0通過多加兩位的冗余,來實現映射后的信號盡量是01交替的情況,換一種說法,就是映射后的信號中盡量有相同數量的0和1。下面我們就來看一下8b/10b編碼具體是怎么把8bit映射成10bit的。


3

如何實現 8b/10b 編碼


通常會將低5位 EDCBA 按其十進制數值記為x,將高3位按其十進制數值記為y,將原始8bit數據記為D.x.y。例如8bit數“101 10101”,即十進制數181,按照上述劃分原則x=10101 (21),y=101 (5),這個數被表示為D.21.5。此外在8b/10b編碼中,還需用到12種控制字符,用來標識傳輸數據的開始、結束,傳輸空閑等狀態,按照上述規則,將控制字符記為K.x.y。8bit的數據一共有256種組合,再加上12種控制字符 一共會有268種組合,但是10bit卻可以表示成1024種組合,那我們要追求直流平衡,就要在1024種組合中挑選出0和1個數相近且0和1盡量交替出現的組合,來分配給我們提到的268種組合。


表1和表2就分別是3b/4b和5b/6b的映射關系表,通過映射后的數據是不會出現全1或者全0的。可以看到一個碼型能被編碼映射成多個碼型而且又分為RD+和RD-,這又為什么?


5.jpg

 表1 3b/4b編碼映射表

6.jpg
表2 5b/6b編碼映射表

為方便理解8b/10b的編碼原理,首先要明白兩個重要的概念:“不一致性”(disparity)和“運行不一致性”,也稱為“極性偏差”(running disparity,RD)。Disparity表示編碼后的碼型數據中“1”的個數與“0”的個數的差值。由表1,表2及表3中的編碼規則可知:Dirparity的取值只有“+2”(“0”比“1”多兩個)、“0”(“0”和“1”數量相等)和“-2”(“0”比“1”少兩個)。總結來說就是0多就是RD+,1多就是RD-,編碼中“1”和“0”數量相等的碼字稱為“完美平衡碼”。



在編碼時,RD的初始值為負,即RD-,根據當前的RD值,決定相應的編碼輸出。比如:在表1中,對于D.x.3(011),其對應的4B碼字有兩種:1100和0011,若此時RD為負,則取1100作為其對應的4B碼字作為輸出,同時檢驗此時的編碼是否為完美編碼,如果是完美編碼,則保持RD的極性不變;否則改變RD的極性。通過控制RD的極性,同時在編碼時根據RD的極性選擇相對應的編碼值,使得編碼后的數據流有更好的直流平衡特性。8b/10b編碼由3b/4b編碼和5b/6b編碼兩部分組合而成,通過傳遞RD參數來使整個編碼結果具有很好的直流平衡性。


7.png                                                                                       
                                                                                 圖4 8b/10b編碼狀態轉移圖

以上就是8b/10b編碼的相關介紹,文中沒有提及的12個控制編碼會在后續結合PCIE層結構來介紹。同時特勵達力科還有專門針對8b/10b的協議解碼軟件解決方案,主要功能包括:
  • 解碼8b/10b串行數據波形并且會在波形上進行細致的注釋,協助工程師排查問題

  • 關聯協議事件到物理波形更深入的洞察;將數據保存到磁盤方便后續進一步分析

  • 支持多通道操作,可同時查看多達四個通道

  • 協議解碼能力高達 16 Gb/s


特勵達力科的8b/10b解碼功能強大,可以協助工程師以最簡便的操作、最詳盡的細節來排查問題調試串行數據中存在的問題。

8.png
                                                                                           圖5 8b/10b解碼選件實測圖

韩国庄仕洋| 减肥上美团不瘦可获赔| 黄子韬徐艺洋睡觉前要对暗号山姆客服称水果中吃出虫是正常情况 | 心理师锐评赵露思新综艺| 马龙说全运会后还想参加比赛| 微博游戏动漫展| 张凌赫设计的竹节包什么样| 有人撤离曼德勒后仍不敢睡觉坐一宿| 在单位上班一定要沉得住气| 大克重金饰销量随金价上涨下滑| 好房子的新标准来了| 4层及以上住宅设电梯| 檀健次当评委了| 零公摊时代真的要来了吗| 男子篡改好友专升本志愿致其落榜获刑| 50万竟然买了4辆宝马| 清明档预售前三名| 耒水水质已全线恢复正常 | 中医把脉称甲亢哥没有甲亢| by2十六年后再穿出道战衣| 留学申请季| 站姐愚人节团建预告| 为什么每年都会怀念张国荣 | 金秀贤记者会最起鸡皮疙瘩的一句话 | 白敬亭 宋轶| 番茄小说崩了| 找工作不要限制于招聘app| 4月一起加油| 乘风2025四公帮唱组队征集| newjeans是高层内斗的牺牲品吗| 王文也男友求婚成功| 世界冰川日丨四川达古冰川启动三大保护行动这次用上了AI预警 | 室友电动车燃爆烧伤大学生案新进展 | 唐嫣刘学义合体直播| by2十六年后再穿出道战衣金秀贤记者会直播 | 金秀贤记者会直播| 男子发现打工养了7年的女儿非亲生| 为什么每年都会怀念张国荣| 沉浸式感受广西三月三| 乌尔善发文| 疑似沈月亚洲最美面孔脱敏训练 |