李倩 發表於 2018-03-22 16:11:45
前言
通信線路的編碼就像商品的包裝,商品包裝的目的是使商品更適合運輸,在運輸過程中不受損,同樣,線路編碼的目的就是使編碼後的二進位數據更適合線路傳輸。
物理層的編碼分類:
一類是和物理介質相關,常用的光接口碼型有NRZ、NRZI;電接口碼型有HDB3、BnZS、CMI、Manchester、MLT-3。
另一類和物理介質無關,比如百兆乙太網用的4B/5B編碼,千兆乙太網用的8B/10B編碼,萬兆乙太網用的64B/66B編碼。本文不再描述。
物理介質相關編碼如下
NRZ碼:
NRZ即Non-Return to Zero Code, 非歸零碼,光接口STM-NO、1000Base-SX、1000Base-LX採用此碼型。NRZ是一種很簡單的編碼方式,用0電位和1點位分別二進位的「0」和「1」,編碼後速率不變,有很明顯的直流成份,不適合電接口傳輸。
NRZI碼:
NRZI即Non-Return to Zero Inverted,非歸零反轉碼,光接口100Base-FX使用此碼型。編碼不改變信號速率。NRZI編碼規則:1).如果下一個輸入二進位位是「1」,則下一個編碼後的電平是當前電平跳變後的電平;2).如果下一個輸入二進位位是「0」,則編碼後的電平與當前保持一致。
NRZ和NRZI都是單極性碼,即都只有正電平和零電平,沒有負電平,所以NRZ和NRZI碼中有很多直流成份,不適合電路傳輸,並且NRZ和NRZI編碼本身不能保證信號中不包含長連「0」或長連「1」出現,不利於時鐘恢復。
MLT-3碼
MLT-3即Multi-Level Transmit -3,多電平傳輸碼,MLT-3碼跟NRZI碼有點類型,其特點都是逢「1」跳變,逢「0」保持不變,並且編碼後不改變信號速率。如NRZI碼不同的是,MLT-3是雙極性碼,有」-1」、「0」、「1」三種電平,編碼後直流成份大大減少,可以進行電路傳輸,100Base-TX採用此碼型。MLT-3編碼規則:1).如果下一輸入為「0」,則電平保持不變;2).如果下一輸入為「1」,則產生跳變,此時又分兩種情況。 (a).如果前一輸出是「+1」或「-1」,則下一輸出為「0」; (b).如果前一輸出非「0」,其信號極性和最近一個非「0」相反。
AMI碼
AMI即Alternate Mark Inversion,信號交替反轉碼,典型的雙極性碼,AMI類型的編碼有HDB3、B3ZS、B8ZS等。AMI編碼規則:輸入的「0」仍然是0,輸入的「1」交替的變換為+1、-1。AMI編碼如下圖所示:
AMI能保證編碼後無直流分量,但AMI本身無法保長連「0」和長連「1」出現。這就出現HDB3、B3ZS、B8ZS,這三種編碼成功彌補了AMI碼的這種缺陷。
HDB3碼
HDB3即High Density Bipolar of order 3 code,三階高密度雙極性碼。
編碼規則:1).當原碼沒有四個以上連「0」串時,AMI碼就是HDB3碼。2).當出現四個以上連「0」串時,將第四個「0」變成與其前面一非「0」同極性的符號,由於這個符號破壞了極性交替反轉的規則,因此叫做破壞符號,用V符號表示(+1為+V,-1為-V),相鄰的V符號也需要極性交替。3).當V符號之間有奇數個非「0」時,是能滿足交替的,如為偶數,則不能滿足,這時再將該小段的第一個「0」變成「+B」或「-B」,B符號與前一個非「0」符號相反,並讓後面的非「0」符號從V符號開始交替變化。HDB3碼如下圖所示:
換一種更好記的方法:兩V碼之間原始碼非「0」個數為為奇數時,用000V代替0000,為偶數時,用B00V代替0000,B00V之後,原始極性碼必須與V碼極性相反。如下圖所示:
B3ZS碼
B3ZS即Bipolar with three-zero substitution,三階雙極性碼,T3線路用此編碼。編碼規則與HDB3相同,只是編碼後能允許最多連「0」的個數從HDB3的三個減小到兩個。B3ZS碼如下所示:
B8ZS碼
B8ZS即Bipolar with eigth-zero substitution,八階雙極性碼,如果源碼中沒有8個或以上連「0」串時,這時AMI碼就是B8ZS碼,如果有8個或以上連「0」時,將8個「0」替換成「000VB0VB」,其他規則同HDB3碼。T1線路採用此編碼。如下所示:
CMI碼
CMI即Code Mark Inversion,信號反轉碼。編碼規則:輸入的「1」交替用-1和+1表示,「0」用電平從-1到+1的跳變表示,也就是一個上升沿。E4和SMT-1e線路採用此編碼,編碼後信號速率被提高,其實是以犧牲帶寬來換取傳輸特性。如下圖所示:
Manchester碼
使用電平從+1到-1的變化表示「0」,使用電平從-1到+1的變化表示「1」,編碼效率低,只有50%,同CMI一樣,是拿帶寬換取傳輸特性,10Base-T使用此編碼。
如下圖所示:
各種鏈路與碼型對應表:
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴