USB PD物理层使用的4B/5B编码介绍

1. 什么是4B/5B编码

就是用5bit的一个二进制数来表示一个4bit二进制数.

2. 目的

为了保证物理层通信的同步(一般数字电路实现),线路中传输的码流需要有足够多的跳变.
显然正常的方式如:00000000(0)~11111111(255)在大部分情况下是没有足够跳变的。
曼彻斯特编码有足够跳变,但效率低,这里不进一步讨论了。
因此就有了4B/5B编码,用一个5bit表示一个4bit,效率应在80%,它为什么有足够多的跳变呢?
5bit(32种组合)中挑选一些有足够跳变的来表示4bit(16种组合)

3. 编码基本规则

每个5bit码组中不多于3个"0"
或者5bit码组中不少于2个"1"

附:USB PD3.0中4B/5B对应表

表格来自:USB_PD_R3_0 V2.0 20190829 + ECNs 2020-02-07 Redline.pdf
P70,Table 5-1 4b5b Symbol Encoding Table

(如0~F的对应,显然遵循上面的2条规则的,不是数学逻辑转换关系,应不必寻求对应公式,按对应表转换即可)

Name 4b 5b Symbol Description
0 0000 11110 hex data 0
1 0001 01001 hex data 1
2 0010 10100 hex data 2
3 0011 10101 hex data 3
4 0100 01010 hex data 4
5 0101 01011 hex data 5
6 0110 01110 hex data 6
7 0111 01111 hex data 7
8 1000 10010 hex data 8
9 1001 10011 hex data 9
A 1010 10110 hex data A
B 1011 10111 hex data B
C 1100 11010 hex data C
D 1101 11011 hex data D
E 1110 11100 hex data E
F 1111 11101 hex data F
Sync-1 K-code 11000 Startsynch #1
Sync-2 K-code 10001 Startsynch #2
RST-1 K-code 00111 Hard Reset #1
RST-2 K-code 11001 Hard Reset #2
EOP K-code 01101 EOP End of Packet
Reserved Error 00000 Shall Not be used
Reserved Error 00001 Shall Not be used
Reserved Error 00010 Shall Not be used
Reserved Error 00011 Shall Not be used
Reserved Error 00100 Shall Not be used
Reserved Error 00101 Shall Not be used
Sync-3 K-code 00110 Startsynch #3
Reserved Error 01000 Shall Not be used
Reserved Error 01100 Shall Not be used
Reserved Error 10000 Shall Not be used
Reserved Error 11111 Shall Not be used

你可能感兴趣的:(USB)