> 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。更高速的乙太網路改用更高效的線路編碼。