编码 | 解码 | 压缩

> manchester | 01 10 | line <

// 曼彻斯特编码 —— 用于数字传输的自同步线路编码

[自同步]

时钟恢复

每个比特周期内都保证有电平跳变,便于接收端进行时钟同步。

[错误检测]

错误检测

缺失的跳变可以立即暴露传输错误。

[直流平衡]

无直流分量

高电平与低电平时间对称,可消除传输链路中的直流偏置。

>> 技术说明

曼彻斯特编码如何工作:

曼彻斯特编码将每一位比特表示为一个时钟周期内的电平跳变。在 IEEE 约定中,"0" 编码为低到高的跳变(01),"1" 编码为高到低的跳变(10)。这样可以保证每个比特周期都有跳变,用于时钟恢复。

常见编码约定:

IEEE 802.3(以太网): 0 → 01(上升沿跳变) 1 → 10(下降沿跳变) Thomas(G.E. Thomas): 0 → 10(下降沿跳变) 1 → 01(上升沿跳变)

曼彻斯特编码的典型应用:

  • >以太网网络
  • >RFID 通信
  • >NFC 协议
  • >磁条卡
  • >红外遥控

>> 常见问题

什么是曼彻斯特编码?

曼彻斯特编码是一种将时钟信号与数据信号合并的线路编码方式。每一位比特都通过比特周期中间的跳变来表示,因此信号本身具有自时钟特性。

IEEE 与 Thomas 约定有什么区别?

在 IEEE 802.3(以太网)中,0 使用低到高跳变(01)表示,1 使用高到低跳变(10)表示;Thomas 约定则相反。大多数现代系统采用 IEEE 约定。

什么是差分曼彻斯特编码?

差分曼彻斯特编码根据比特边界处是否存在跳变来表示数据。"0" 表示没有跳变,"1" 表示存在跳变,因此对极性反转更加鲁棒。

为什么曼彻斯特编码需要两倍带宽?

由于每个比特都被编码成两个符号,曼彻斯特编码相较于原始信号大约需要两倍的带宽,这是换取自同步与错误检测能力的代价。

// 对比

BitIEEE 802.3G.E. Thomas
0low → highhigh → low
1high → lowlow → high

// 计算示例

Data      1 0 1 1
IEEE 802.3 (1 = low->high mid-bit):   01 10 01 01
G.E. Thomas (1 = high->low mid-bit):  10 01 10 10
Each bit = 2 half-bits, always one transition in the middle (self-clocking)
Signal rate = 2 x bit rate  (10 Mbit/s Ethernet -> 20 MHz on the wire)
Diff. Manchester: a transition at bit START = 0, none = 1 (Token Ring)

>> 更多问题

问:IEEE 802.3 与 G. E. Thomas 用哪种约定?

答:两种都在使用,且互为相反。IEEE 802.3(10 Mbit/s 以太网)以由高到低表示 0、由低到高表示 1;G. E. Thomas 则相反。收发双方必须采用同一约定。

问:曼彻斯特编码为什么能自同步?

答:每个比特中间都有一次电平跳变,接收端可由此恢复时钟,无需单独时钟线,连续相同比特也不会失步。

问:代价是什么?

答:每个比特占两个信号状态,符号速率翻倍:10 Mbit/s 以太网需要 20 MHz。更高速的以太网改用更高效的线路编码。

其他语言