標籤:4b-5b編碼
4B/5B編碼原理
什麼是4B/5B編碼?
4B/5B編碼是百兆乙太網路以及工業乙太網路中PHY層編碼類別型之一,就是用5bit的位元來表示4bit位元
為什麼要進行4B/5B編碼?
在通訊網路中,接收端需要從接收資料中恢複時鐘資訊來保證同步,這就需要線路中所傳輸的二進位碼流有足夠多的跳變,即不能有過多連續的高電平或低電平,否則無法提取時鐘資訊。
Manchester(曼切斯特)編碼可以保證線路中碼流有充分的跳變,因為它是用電平從“-1”到“+1”的跳變來表示“1”,用電平從“+1”到“-1”的跳變來表示“0”,但是這種編碼方式的效率太低,只有50%,相當於用線路的有效頻寬來換取訊號的跳變,十兆乙太網路就是使用Manchester編碼,雖然線路的有效頻寬只有10Mbps,但實際頻寬卻是20Mbps。
百兆乙太網路用的4B/5B編碼與MLT-3編碼組合方式,發送碼流先進行4B/5B編碼,再進行MLT-3編碼,最後再上線路傳輸;千兆乙太網路用的是8B/10B編碼與NRZ編碼組合方式;萬兆乙太網路用的是64B/66B編碼;PCIE 3.0用的是128B/130B編碼。
4B/5B編碼規則有哪些?
4B/5B編碼其實就是用5bit的二進位碼來代表4bit二進位碼。此編碼的效率是80%,比Manchester碼高。4B/5B編碼的目的在前面已經說過了,就是讓碼流產生足夠多的跳變。4位二進位共有16種組合,5位二進位共有32種組合,如何從32種組合種選取16種來使用呢?這裡需要滿足兩個規則:
1). 每個5位元碼組中不含多於3個“0”;
2). 或者5位元碼組中包含不少於2個“1”;
此規則是怎麼來的?這就要從MLT-3碼的特點來解釋了。MLT-3碼的特點簡單的說就是:逢“1”跳變,逢“0”不跳變。為了讓4B/5B編碼後的碼流中有足夠多的跳變就需要編碼後的碼流中有盡量多的“1”和盡量少的“0”。
這種編碼的特點是將欲發送的資料流每4bit作為一個組,然後按照4B/5B編碼規則將其轉換成相應5bit碼。5bit碼共有32種組合,但只採用其中的16種對應4bit碼的16種,其他的16種或者未用或者用作控制碼,以表示幀的開始和結束、光纖線路的狀態(靜止、空閑、暫停)等。三種應用執行個體是FDDI、100BASE-TX和100BASE-FX8B/10B編碼與4B/5B的概念類似,例如在千兆乙太網路中就採用了8B/10B的編碼方式。
4B/5B編碼是在百兆位快速乙太網路的光纖分布式資料介面(FDDI,Fiber Distributed Data Interface)中採用的資訊編碼方案。這種編碼的特點是將欲發送的資料流每4bit作為一個組,每四位二進位代碼由5位編碼錶示,這5位編碼稱為編碼組(code group),並且由NRZI方式傳輸。
4B/5B編碼是在百兆位快速乙太網路的光纖分布式資料介面(FDDI,Fiber Distributed Data Interface)中採用的資訊編碼方案。這種編碼的特點是將欲發送的資料流每4bit作為一個組,每四位二進位代碼由5位編碼錶示,這5位編碼稱為編碼組(code group),並且由NRZI方式傳輸。
在通訊系統中,通訊速度與線路傳輸中的調製速率,所謂調製速率是指單位時間內線路狀態變化的數目,以傳輸速率(baud)為單位。實用4B/5B碼的最大優點是能夠在很大程度上降低線路傳輸中的調製速率降低調製速率,從而可以降低對線路的要求。
例如:如果採用曼徹斯特編碼,在每個調製時間間隔內跳動兩次,則資料傳送速率是傳輸速率將的二分之一。在快速乙太網路中,資料轉送速率為100Mbps,如果採用曼徹斯特編碼,傳輸速率將
達200Mbps,對傳輸介質和裝置的技術要求都將提高,增大了傳輸成本。如果使用4B/5B編碼,在傳輸速率為100Mbps的情況下,其調製速率為:100M÷(4/5)=125M(baud)。即傳輸速率為125M baud,大大低於曼徹斯特編碼時的200M baud,這樣就在快速乙太網路中使用非屏蔽雙絞線成為可能。
4B/5B編碼錶如下所示:
學習完成
http://1.baidu.com/?invite_code=X4RNFN25
4B-5B編碼原理