前言
前面介绍了传输介质,也就是承载信号0或者1的物理媒介,可怎样的波形代表1,怎样的波形代表0呢?我们今天一起学习数据编码技术。
1. 非归零码(NRZ)
NRZ(Non Return Zero Code)
编码
正电平表示1,负电平表示0
这是人类最容易想到的编码方式,也是最容易实现的:
可是这样的编码需要额外添加一个同步信号,很显然,如果我们不知道1个bit有多长时间,比如究竟是1纳秒还是1毫秒,我们基本无法去获得对方真实想传送的数据。
在通信领域,我们谈到同步和异步,就是很简单的,有没有一根线来同步时钟信号。
可有没有什么办法,既可以传输数据,又能够传输时钟信号呢?
自从人类开始有了这种思路,就产生了后续的编码规则。
2. 归零编码(RZ)
RZ 编码(Return-to-zero Code
)
其特点是在每个信号单元的中间均有跳变,且末尾必须归零。这么做是为接收方提供了自同步机制 —— 接收方根据该跳变对本方的时钟基准进行调整。
就像上面这张图,我们把负电压表示0,正电压表示1,可无论如何,它在表示每个0或者1的中间时,信号都会回归0V。出现两个0V,就是一个脉冲周期。当然了,事实上我们为了避免特殊情况,会采样多个周期然后取均值。
当我们认为归零编码已经很好了,此时我们发现了一个新的问题——那就是信号必须归零才能传输时钟,在工程上,0.2V算不算零呢?-0.3V呢?
所以有没有什么办法不判电压的正负与0,而是用相对的视角,去看差值就能传输呢?
3. 曼彻斯特编码 (ME、PE)
Manchester encoding
中文一般译为 “曼彻斯特编码”,又称自同步码、相位编码(phase encoding ,PE
),他用跳变表示1或0.比如:
- 从高电平到低电平的跳变代表1,而从低电平到高电平的跳变代表0(as per G.E.Tomas编码方式)
- 从高电平到低电平的跳变代表0,而从低电平到高电平的跳变代表1(as per IEEE 802.3编码方式)
是的,你没有看错,曼彻斯特编码其实是有两个规则的。所以我们无法直接通过图来判断0或1,需要结合差分曼彻斯特编码 。
个人更推荐使用 IEEE 802.3
的编码方式,因为它表示0的波形看起来很像字母Z,Z 正好是 Zero 的缩写,容易记忆。
其实,到这一步,该编码已经可用了。以太网就是使用曼彻斯特编码。但是该编码还可以更好,因为人们发现,简单传输“变”与“不变”就能代表零和一。
4. 差分曼彻斯特编码(DME)
Differential Manchester Encoding
差分曼彻斯特编码
记忆这种编码的方法很简单,中间必跳变,并以此来同步时钟。我们只需要关注每个零或一信号的开端是否连续,就能得知是1还是0。连续是1,跳变是0.
这么做有三个好处:
- 简易性可以进一步提升,即让使用者只需关注跳变,而不需要记忆跳变的方向。也就是不用记忆是高到低代表什么还是低到高代表什么。
- 抗噪声干扰能力也可以提升,比如只关注跳变就可以不用检测由高到低还是由低到高这种跳变方向。
- 只关注跳变时,由于只在乎差值,即使导线接反,也能正常工作。
5. 反向不归零码(NRZI)
Non-return-to-zero inverted
其与 NRZ(非归零码)区别很大,大就大在单词 inverted
,它表示翻转的意思。
在 NRZ-S, non-return-to-zero space
中,我们用信号电平翻转表示0,信号电平不变表示1。
因此,有人也说差分曼彻斯特的跳变为0,是沿用 NRZ-S
的传统。也就是说,如果你身处那个年代,通过结合 NRZ-S
与
PE
,可以一步步构建出 DME
。
6. 4B/5B编码
前面有两种编码都提到了“跳变”这个好工具,它帮助我们传递了时钟信号。可信号跳变的频率直接影响了电磁辐射的强度。跳变频率越高,电磁辐射越强。
4B/5B编码通过将4位数据转换为5位代码,确保了信号中有足够的跳变,但跳变率低于曼彻斯特编码。
这种编码是有对照表的,感兴趣的,可以参看《USB PD物理层使用的4B/5B编码介绍》
注:4B/5B中的B为Bit,也就是比特。在100BASE-TX快速以太网中,4B/5B编码与MLT-3编码结合使用。
7. 编码效率
最后,我们需要探讨一下编码效率的问题。也就是 信号 和 信息 之间的关系。也就是说,我们究竟用了多么复杂的信号来表示0或者1。
我们考察的基准为 不归零编码(NRZ)
,也就是最简单的,正1负0。一个信号,正好能对应一个0或者1。
所以,存在跳变的曼彻斯特编码和差分曼彻斯特编码,都是因为有电平高低变化,所以只能是50%。另外,4B/5B编码,使用5个bit去表示4个比特的数据,故编码效率为 4 5 = 80 % \frac{4}{5}=80\% 54=80%
好的,我们总结一下。
编码方法 | 编码效率 | 主要应用 | 优点 | 缺点 |
---|---|---|---|---|
不归零编码(NRZ) | 100% | 串行通信 | 简单,易于实现 | 可能出现直流分量,时钟恢复困难 |
曼彻斯特编码 | 50% | 以太网,RFID | 自同步,抗干扰能力强 | 带宽效率低 |
差分曼彻斯特编码 | 50% | 令牌环网 | 自同步,抗干扰能力强 | 带宽效率低 |
4B/5B编码 | 80% | 快速以太网(100BASE-TX),FDDI | 提供足够的信号跳变,时钟恢复可靠 | 增加了25%的冗余,降低了有效数据传输速率 |
MLT-3编码 | 100% | 快速以太网(100BASE-TX) | 降低信号频率,减少电磁辐射 | 实现相对复杂 |
直流分量是指信号中不随时间变化或变化非常缓慢的部分
修改记录
更新日期 | 修改内容 |
---|---|
2025年4月3日 | 完成初稿 |