4B/5B 编码
4B/5B 编码是一种用于数字数据传输的编码方案,它的基本思想是将 4 位的输入数据转换为 5 位的编码输出。该编码技术主要用于确保数据传输的信号频率有足够的变化,以便实现可靠的时钟同步,同时避免长时间的电平不变,从而避免了直流偏移问题。
4B/5B 编码是一种基带编码方案,广泛应用于局域网(如Fast Ethernet)、光纤通道和其他高速串行通信系统中。
一、4B/5B 编码的基本原理
4B/5B 编码的基本思想是将每 4 位的原始数据(数据单元)映射为 5 位的编码。这是通过一个查找表来完成的,确保了每个 4 位的数据都有一个唯一且合适的 5 位表示。
- 输入:4 位数据。
- 输出:5 位编码。
该编码方案的核心目的是保持一定的信号频率,以便接收端能够进行同步,同时避免任何可能的长时间信号无变化的情况。
编码规则:
- 每 4 位输入数据(即 4-bit)被映射成 5 位输出数据(即 5-bit)。
- 编码保证输出的 5 位中至少有一个“1”,避免长时间连续为“0”的情况,防止直流偏移。
- 编码表设计考虑了特定的传输特性,如最大不连续零(Maximum run length)和一定数量的“1”或“0”,确保信号频率的变化。
二、4B/5B 编码的编码表
下面是一个典型的 4B/5B 编码表:
4 位输入数据 | 5 位输出编码 |
---|---|
0000 | 11110 |
0001 | 01001 |
0010 | 10100 |
0011 | 10101 |
0100 | 01010 |
0101 | 01011 |
0110 | 01110 |
0111 | 01111 |
1000 | 10010 |
1001 | 10011 |
1010 | 10110 |
1011 | 10111 |
1100 | 11010 |
1101 | 11011 |
1110 | 11100 |
1111 | 11101 |
三、4B/5B 编码的特点
-
时钟同步:
- 4B/5B 编码提供了足够频繁的信号变化,使得接收端能够更容易地进行时钟同步。由于每个编码的 5 位中至少有一个“1”,即使输入数据中有连续的“0”,输出也会包含足够的高电平,避免了长时间信号无变化的问题。
-
无直流偏移:
- 4B/5B 编码通过避免连续的“0”序列,避免了直流偏移的问题。在每个编码输出中,至少有一个“1”位,这样可以保持信号的高低电平切换,防止了直流成分的积累。
-
带宽效率:
- 4B/5B 编码的带宽效率是 4/5,即每 4 位输入数据需要 5 位编码。虽然它比原始的 4 位数据需要更多的带宽,但它通过增加信号的变化性,确保了可靠的数据传输和时钟同步。
-
简化的错误检测:
- 由于编码表的设计,某些不允许的编码(例如某些特定的 5 位组合)不会出现在传输的比特流中。因此,可以通过检查接收到的编码是否符合编码表来进行基本的错误检测。
四、4B/5B 编码的应用
-
以太网:
- 4B/5B 编码被广泛应用于**Fast Ethernet(100BASE-TX)**标准中,它用于将 4 位数据转换为 5 位传输数据,保证数据传输的可靠性和时钟同步性。
-
光纤通道:
- 光纤通道(Fibre Channel)协议中也使用了 4B/5B 编码来确保信号的可靠传输,同时满足带宽和时钟同步要求。
-
其他高速串行通信系统:
- 除了以太网和光纤通道外,4B/5B 编码还被用于其他一些高速串行接口和通信协议中,确保信号质量和同步。
五、4B/5B 编码的优缺点
优点:
-
防止直流偏移:
- 通过保证每个 5 位编码中至少有一个“1”,4B/5B 编码可以避免连续“0”的序列,进而避免了直流偏移的问题。
-
保证时钟同步:
- 由于每个 5 位编码中都至少包含一个“1”,使得信号频率保持足够变化,有助于时钟同步。
-
错误检测:
- 编码表的设计可以帮助进行基本的错误检测,接收端可以检测到是否收到非法编码。
缺点:
-
带宽效率较低:
- 由于每 4 位数据需要 5 位编码,4B/5B 编码的带宽效率为 80%(即每 4 位数据需要传输 5 位),相对于直接传输 4 位数据,带宽效率降低了 20%。
-
编码复杂度:
- 相较于一些简单的编码方式,4B/5B 编码需要查找和映射表,因此它在实现上要比某些传统的编码方式复杂一些。
六、总结
- 4B/5B 编码通过将每 4 位数据映射为 5 位编码,保证了信号频率的足够变化,从而支持可靠的时钟同步和防止直流偏移。
- 它的带宽效率是 80%,适用于那些对时钟同步和直流偏移有高要求的高速串行通信系统。
- 虽然它的带宽效率相对较低,但它在保证数据传输可靠性和同步性方面表现出色,广泛应用于如 Fast Ethernet、光纤通道等高速通信系统中。