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条规则的,不是数学逻辑转换关系,应不必寻求对应公式,按对应表转换即可)

Name4b5bSymbol Description
0000011110hex data 0
1000101001hex data 1
2001010100hex data 2
3001110101hex data 3
4010001010hex data 4
5010101011hex data 5
6011001110hex data 6
7011101111hex data 7
8100010010hex data 8
9100110011hex data 9
A101010110hex data A
B101110111hex data B
C110011010hex data C
D110111011hex data D
E111011100hex data E
F111111101hex data F
Sync-1K-code11000Startsynch #1
Sync-2K-code10001Startsynch #2
RST-1K-code00111Hard Reset #1
RST-2K-code11001Hard Reset #2
EOPK-code01101EOP End of Packet
ReservedError00000Shall Not be used
ReservedError00001Shall Not be used
ReservedError00010Shall Not be used
ReservedError00011Shall Not be used
ReservedError00100Shall Not be used
ReservedError00101Shall Not be used
Sync-3K-code00110Startsynch #3
ReservedError01000Shall Not be used
ReservedError01100Shall Not be used
ReservedError10000Shall Not be used
ReservedError11111Shall Not be used
  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值