> 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" 表示存在跳变,因此对极性反转更加鲁棒。
为什么曼彻斯特编码需要两倍带宽?
由于每个比特都被编码成两个符号,曼彻斯特编码相较于原始信号大约需要两倍的带宽,这是换取自同步与错误检测能力的代价。
// 对比
| Bit | IEEE 802.3 | G.E. Thomas |
|---|---|---|
| 0 | low → high | high → low |
| 1 | high → low | low → 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。更高速的以太网改用更高效的线路编码。