热门问题
时间线
聊天
视角
8b/10b
来自维基百科,自由的百科全书
Remove ads
8b/10b編碼把8位元的子元轉換成10位元的子元。目的是以便在串行傳輸中達到直流平衡(DC Balance),明晰邊界,並提供足夠的狀態改變來利於時鐘恢復。目標是至少在20位元「1」的個數與「0」的個數的差距不超過2個,並且沒有連續的5個「1」或「0」。
8b/10b編碼是1983年由IBM的 Al Widmer 與 Peter Franaszek 所提出,應用於ESCON,後來申請成專利。目前廣受串列匯流排所採用。例如:IEEE 1394b、SATA、PCI Express、Infini-band、Fiber Channel、RapidIO等匯流排,都是採用8b/10b編碼。2008年推出的USB 3.0規格書亦明言採用了8b/10b編碼。
8b/10b編碼的提出即是因應光纖的傳輸技術,8b/10b技術是將8個位元經過某種對映的機制轉化為10個位元的字碼,分兩個部位分別進行對映的處理,分別是 5B/6B 與 3B/4B 的處理,另外「D.a.b」是資料碼(D即是Data),「K.a.b」指控制碼(K即是Key),a與b表示輸入的原始資料。
Remove ads
工作原理
8b/10b編碼輸出位元數目總共是10個位元,但只有「+2」「+0」「-2」三種組合。其中「+2」是指4個位元0,與6個位元1;「+0」是指5個位元「0」,與5個位元「1」;「-2」是指6個位元「0」,與4個位元「1」,利用這種「不均等性— Disparity」的特性而具有強大的直流平衡(DC Balance)功能,可使得傳送的「0」、「1」數量保持一致,連續的「1」或「0」基本上不超過5位。
(Disparity = number of "1" - number of "0")
8b/10b編碼將一組8位元資料分成兩組,一組3位元,一組5位元,經過編碼後形成一組4位元和一組6位元,故送發時是一組10位元的資料,解碼時再將10位元的資料變換得到8位元資料。編碼過程中低位5位元的資料會進行5B/6B編碼,高位3位元的資料則進行3B/4B編碼。
例如一組8位元的資料是 10110101:
首先,分成兩組 101 與 10101
a=10101(21) b=101(5),符號為 D21.5,在下表中的位序為HGFEDCBA,a(EDCBA)經過5B/6B編碼為abcdei,b(HGF)經過3B/4B編碼為fghj。
RD = Running Disparity.
Remove ads
† Same code is used for K.x.7
Remove ads
5b/6b 與 3b/4b 表可能導致下列 12 控制符號(control symbols)允許被傳送,K.28.1, K.28.5, K.28.7 是逗號(,)序列:
Remove ads
與 8b/10b 相關技術
目前IBM的專利已過期,此方案已成為大眾化的技術。
8B/10B 編碼的應用如下
- PCI Express 1.0/2.0
- IEEE 1394b
- Serial ATA
- SAS
- SSA
- Gigabit Ethernet
- 光纖通道
- InfiniBand
- XAUI
- Serial RapidIO
- DVI和HDMI(最小化傳輸差分訊號)
- DVB Asynchronous Serial Interface(ASI)
- DisplayPort Main Link
- HyperTransport
- Common Public Radio Interface(CPRI)
- USB 3.0
重要的應用面:
- Digital Audio Tape
- Digital Compact Cassette (DCC).
用於 audio 與 data CDs:
與 128b/13xb 相關技術
128b/13xb編碼的應用如下:
- PCI Express 3.0/4.0(128b/130b)
- USB 3.1 Gen2(128b/132b)
- SAS 4
- DisplayPort 2.0
- NVLink
外部連結
- Original paper by Franaszek and Widmer(頁面存檔備份,存於網際網路檔案館).
- 美國專利第4,486,739號(於2002年6月30日失效)
Template:位編碼
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads