曼徹斯特編碼(Manchester Encoding),也叫做裂相碼、同步碼、相位編碼( 相位 Encode,簡寫PE),是一種用電平跳變來表示1或0的編碼方法。每個碼元均用兩個不同相位的電平信號表示,0碼和1碼的相位正好相反。由于曼徹斯特碼在每個時鐘位都必須有一次變化,因此,其編碼效率僅可達到50%左右,被物理層使用來編碼一個同步位流的時鐘和數據。它在以太網媒介系統中的應用屬于數據通信中的兩種位同步方法里的自同步法(另一種是外同步法),即接收方利用包含有同步信號的特殊編碼從信號自身提取同步信號來鎖定自己的時鐘脈沖頻率,達到同步目的。
曼徹斯特編碼,常用于局域網傳輸。曼徹斯特編碼將時鐘和數據包含在數據流中,在傳輸代碼信息的同時,也將時鐘同步信號一起傳輸到對方。由于曼徹斯特編碼的每一個碼元都被調制成兩個電平,所以數據傳輸速率只有調制速率的1/2。
原理
用于數字基帶傳輸的碼型種類較多,Manchester碼是其中常用的一種。Manchester碼是一種用跳變沿(而非電平)來表示要傳輸的二進制信息(0或1),一般規定在位元中間用下跳變表示”1″,用上跳變表示”0″.曼徹斯特編碼被被認為是一種自定時碼自定時意味著數據流的精確同步是可行的。每一個比特都準確的在一預先定義時間時期的時間中被傳送。
曼徹斯特編碼提供了一種簡單的方法在長時間段內沒有電平跳變的情況下,仍然能夠對任意的二進制序列進行編碼,并且防止在這種情況下同步時鐘信號的丟失以及防止低通模擬電路中低頻直流飄移所引起的比特錯誤。如果保證傳送的編碼交流信號的直流分量為零并且能夠防止中繼信號的基線漂移,那么很容易實現信號的恢復和防止能量的浪費。曼徹斯特碼具有豐富的位定時信息。
表示約定
對于以上電平跳變觀點有歧義:關于曼徹斯特編碼電平跳變,雷振甲編寫的《網絡工程師教程》中對曼徹斯特編碼的解釋為:從低電平到高電平的轉換表示1,從高電平到低電平
的轉換表示0,清華大學的《計算機通信與網絡教程》《計算機網絡(第4版)》采用如下方式:曼徹斯特編碼從高到低的跳變是1從低到高的跳變是0,在維基百科網站中從低到高是0,從高到低是1,國外的網站有明確的表示方法。
第一種G. E. Thomas, Andrew S. Tanenbaum1949年提出的,它規定0是由低-高的電平跳變表示,1是高-低的電平跳變。
第二種IEEE 802.4(令牌總線)和低速版的IEEE 802.3(以太網)中規定,按照這樣的說法,低-高電平跳變表示1,高-低的電平跳變表示0。
由于有以上兩種不同的表示方法,所以有些地方會出現歧異。當然,這可以在差分曼徹斯特編碼(Differential Manchester encoding)方式中克服。
應用
曼徹斯特編碼已經被許多高效率且被廣泛使用的電信標準所采用,例如以太網電訊標準.曼徹斯特編碼是一種超越傳統數字傳輸的信道編碼技術,由于其具有隱含時鐘、去除了零頻率信號的特性使得它在石油鉆探測井中也得到廣泛的應用。
流程
1.首先I/O口輸出高電平。
2.檢查數據是否發送完成,如果是,跳到步驟7。
3.檢查下一個數據位的值。
4.如果是“1”,調用發送1的函數ManchesterOne(T)。
5.如果是"0",調用發送0的函數ManchesterZero(T)。
6.返回到步驟2。
7.I/O輸出為高電平并返回。
解碼步驟
1.獲取數據流的波特率(或者已知數據流的波特率)。
2.同步數據流的時鐘信號(實質是區分位幀邊沿和半位幀邊沿)。
3.根據上面兩步對數據流進行解碼。
優點
曼徹斯特編碼方法主要具有以下的優點:1個比特的中間有一次電平跳變,兩次電平跳變的時間間隔可以是T/2或T;利用電平跳變可以產生收發雙方的同步信號;曼徹斯特編碼是一種自同步的編碼方式,即時鐘同步信號就隱藏在數據波形中。在曼徹斯特編碼中,每一位的中間有一跳變,該跳變既可作為時鐘信號,又可作為數據信號。因此,發送曼徹斯特編碼信號時無須另發同步信號。
特點
曼徹斯特編碼特點如下:
(1)傳輸流的速率是原始數據流的兩倍,要占用較寬的頻帶。
(2)信號恢復簡單,只要找到信號的邊緣進行異步提取即可。
(3)10Mb/s以太網(Ethernet)采用曼徹斯特碼。
差分曼徹斯特編碼
差分曼徹斯特編碼也是一種雙相碼,和曼徹斯特碼不同的是,這種編碼的碼元中間的電平轉換邊只作為定時信號,而不表示數據。數據的表示在與每一位開始處是否有電平轉換,有電平轉換表示0,無電平轉換表示1。差分曼徹斯特碼用在令牌環網中??。
這兩種雙相碼的每一個碼元都要調制為兩個不同的電平,因而調制速率是碼元速率的2倍。這無疑對信道的帶寬提出了更高的要求,所以實現起來更困難也更昂貴。但由于其良好的抗噪聲特性和自定時能力因此在局域網中仍被廣泛應用??。
參考資料 >