热门问题
时间线
聊天
视角
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