編碼 | 解碼 | 壓縮

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

其他語言