【基礎(chǔ)】高速總線設(shè)計(jì)的編碼類型總結(jié)【轉(zhuǎn)發(fā)】
2017-06-30 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
編者注:編碼是通信系統(tǒng)中一個(gè)基本的步驟,但是對(duì)于電子工程師來講,往往就變得比較難以理解。隨著速率的提升,高速串行信號(hào)幾乎都有采用了各種編碼方式,比如4b5b,8b10b,PAM4等等。本文介紹了一些基本的編碼方式,其它的依此類推,大同小異。
通信線路的編碼就像商品的包裝,商品包裝的目的是使商品更適合運(yùn)輸,在運(yùn)輸過程中不受損,同樣,線路編碼的目的就是使編碼后的二進(jìn)制數(shù)據(jù)更適合線路傳輸。
物理層的編碼可以分為兩類。一類是和物理介質(zhì)相關(guān),常用的光接口碼型有NRZ、NRZI;電接口碼型有HDB3、BnZS、CMI、Manchester、MLT-3。另一類和物理介質(zhì)無關(guān),比如百兆以太網(wǎng)用的4B/5B編碼,千兆以太網(wǎng)用的8B/10B編碼,萬兆以太網(wǎng)用的64B/66B編碼。
(1)物理介質(zhì)相關(guān)編碼
NRZ碼:
NRZ即Non-Return to Zero Code,非歸零碼,光接口STM-NO、1000Base-SX、1000Base-LX采用此碼型。NRZ是一種很簡單的編碼方式,用0電位和1點(diǎn)位分別二進(jìn)制的“0”和“1”,編碼后速率不變,有很明顯的直流成份,不適合電接口傳輸。
NRZI碼:
NRZI即Non-Return to Zero Inverted,非歸零反轉(zhuǎn)碼,光接口100Base-FX使用此碼型。編碼不改變信號(hào)速率。
NRZI編碼規(guī)則:
1).如果下一個(gè)輸入二進(jìn)制位是“1”,則下一個(gè)編碼后的電平是當(dāng)前電平跳變后的電平;
2).如果下一個(gè)輸入二進(jìn)制位是“0”,則編碼后的電平與當(dāng)前保持一致。
NRZ和NRZI都是單極性碼,即都只有正電平和零電平,沒有負(fù)電平,所以NRZ和NRZI碼中有很多直流成份,不適合電路傳輸,并且NRZ和NRZI編碼本身不能保證信號(hào)中不包含長連“0”或長連“1”出現(xiàn),不利于時(shí)鐘恢復(fù)。
MLT-3碼:
MLT-3即Multi-Level Transmit -3,多電平傳輸碼,MLT-3碼跟NRZI碼有點(diǎn)類型,其特點(diǎn)都是逢“1”跳變,逢“0”保持不變,并且編碼后不改變信號(hào)速率。如NRZI碼不同的是,MLT-3是雙極性碼,有”-1”、“0”、“1”三種電平,編碼后直流成份大大減少,可以進(jìn)行電路傳輸,100Base-TX采用此碼型。
MLT-3編碼規(guī)則:
1).如果下一輸入為“0”,則電平保持不變;
2).如果下一輸入為“1”,則產(chǎn)生跳變,此時(shí)又分兩種情況。
(a).如果前一輸出是“+1”或“-1”,則下一輸出為“0”;
(b).如果前一輸出非“0”,其信號(hào)極性和最近一個(gè)非“0”相反。
AMI碼:
AMI即Alternate Mark Inversion,信號(hào)交替反轉(zhuǎn)碼,典型的雙極性碼,AMI類型的編碼有HDB3、B3ZS、B8ZS等。
AMI編碼規(guī)則:輸入的“0”仍然是0,輸入的“1”交替的變換為+1、-1。
AMI編碼如下圖所示:
AMI能保證編碼后無直流分量,但AMI本身無法保長連“0”和長連“1”出現(xiàn)。
這就出現(xiàn)HDB3、B3ZS、B8ZS,這三種編碼成功彌補(bǔ)了AMI碼的這種缺陷。
HDB3碼:
HDB3即High Density Bipolar of order 3code,三階高密度雙極性碼。
編碼規(guī)則:
1).當(dāng)原碼沒有四個(gè)以上連“0”串時(shí),AMI碼就是HDB3碼。
2).當(dāng)出現(xiàn)四個(gè)以上連“0”串時(shí),將第四個(gè)“0”變成與其前面一非“0”同極性的符號(hào),由于這個(gè)符號(hào)破壞了極性交替反轉(zhuǎn)的規(guī)則,因此叫做破壞符號(hào),用V符號(hào)表示(+1為+V,-1為-V),相鄰的V符號(hào)也需要極性交替。
3).當(dāng)V符號(hào)之間有奇數(shù)個(gè)非“0”時(shí),是能滿足交替的,如為偶數(shù),則不能滿足,這時(shí)再將該小段的第一個(gè)“0”變成“+B”或“-B”,B符號(hào)與前一個(gè)非“0”符號(hào)相反,并讓后面的非“0”符號(hào)從V符號(hào)開始交替變化。HDB3碼如下圖所示:
換一種更好記的方法:兩V碼之間原始碼非“0”個(gè)數(shù)為為奇數(shù)時(shí),用000V代替0000,為偶數(shù)時(shí),用B00V代替0000,B00V之后,原始極性碼必須與V碼極性相反。如下圖所示:
B3ZS碼:
B3ZS即Bipolar with three-zero substitution,三階雙極性碼,T3線路用此編碼。
編碼規(guī)則與HDB3相同,只是編碼后能允許最多連“0”的個(gè)數(shù)從HDB3的三個(gè)減小到兩個(gè)。B3ZS碼如下所示:
B8ZS碼:
B8ZS即Bipolar with eigth-zero substitution,八階雙極性碼,如果源碼中沒有8個(gè)或以上連“0”串時(shí),這時(shí)AMI碼就是B8ZS碼,如果有8個(gè)或以上連“0”時(shí),將8個(gè)“0”替換成“000VB0VB”,其他規(guī)則同HDB3碼。T1線路采用此編碼。如下所示:
CMI碼:
CMI即Code Mark Inversion,信號(hào)反轉(zhuǎn)碼。
編碼規(guī)則:輸入的“1”交替用-1和+1表示,“0”用電平從-1到+1的跳變表示,也就是一個(gè)上升沿。E4和SMT-1e線路采用此編碼,編碼后信號(hào)速率被提高,其實(shí)是以犧牲帶寬來換取傳輸特性。如下圖所示:
Manchester碼:
使用電平從+1到-1的變化表示“0”,使用電平從-1到+1的變化表示“1”,編碼效率低,只有50%,同CMI一樣,是拿帶寬換取傳輸特性,10Base-T使用此編碼。
如下圖所示:
各種鏈路與碼型對(duì)應(yīng)表:
(2)物理介質(zhì)無關(guān)編碼
什么是4B/5B編碼?
4B/5B編碼是百兆以太網(wǎng)(即快速以太網(wǎng))中線路層編碼類型之一,就是用5bit的二進(jìn)制數(shù)來表示4bit二進(jìn)制數(shù),映射方式如下表所示:
為什么要進(jìn)行4B/5B編碼?
在通信網(wǎng)絡(luò)中,接收端需要從接收數(shù)據(jù)中恢復(fù)時(shí)鐘信息來保證同步,這就需要線路中所傳輸?shù)亩M(jìn)制碼流有足夠多的跳變,即不能有過多連續(xù)的高電平或低電平,否則無法提取時(shí)鐘信息。
Manchester(曼切斯特)編碼可以保證線路中碼流有充分的跳變,因?yàn)樗怯秒娖綇摹?1”到“+1”的跳變來表示“1”,用電平從“+1”到“-1”的跳變來表示“0”,但是這種編碼方式的效率太低,只有50%,相當(dāng)于用線路的有效帶寬來換取信號(hào)的跳變,十兆以太網(wǎng)就是使用Manchester編碼,雖然線路的有效帶寬只有10Mbps,但實(shí)際帶寬卻是20Mbps。
百兆以太網(wǎng)用的4B/5B編碼與MLT-3編碼組合方式,發(fā)送碼流先進(jìn)行4B/5B編碼,再進(jìn)行MLT-3編碼,最后再上線路傳輸;千兆以太網(wǎng)用的是8B/10B編碼與NRZ編碼組合方式;萬兆以太網(wǎng)用的是64B/66B編碼;PCIE 3.0用的是128B/130B編碼。
4B/5B編碼規(guī)則有哪些?
4B/5B編碼其實(shí)就是用5bit的二進(jìn)制碼來代表4bit二進(jìn)制碼。此編碼的效率是80%,比Manchester碼高。4B/5B編碼的目的在前面已經(jīng)說過了,就是讓碼流產(chǎn)生足夠多的跳變。4位二進(jìn)制共有16種組合,5位二進(jìn)制共有32種組合,如何從32種組合種選取16種來使用呢?這里需要滿足兩個(gè)規(guī)則:
1).每個(gè)5比特碼組中不含多于3個(gè)“0”;
2).或者5比特碼組中包含不少于2個(gè)“1”;
此規(guī)則是怎么來的?這就要從MLT-3碼的特點(diǎn)來解釋了。MLT-3碼的特點(diǎn)簡單的說就是:逢“1”跳變,逢“0”不跳變。為了讓4B/5B編碼后的碼流中有足夠多的跳變就需要編碼后的碼流中有盡量多的“1”和盡量少的“0”。
這種編碼的特點(diǎn)是將欲發(fā)送的數(shù)據(jù)流每4bit作為一個(gè)組,然后按照4B/5B編碼規(guī)則將其轉(zhuǎn)換成相應(yīng)5bit碼。5bit碼共有32種組合,但只采用其中的16種對(duì)應(yīng)4bit碼的16種,其他的16種或者未用或者用作控制碼,以表示幀的開始和結(jié)束、光纖線路的狀態(tài)(靜止、空閑、暫停)等。
三種應(yīng)用實(shí)例是FDDI、100BASE-TX和100BASE-FX.
8B/10B編碼與4B/5B的概念類似,例如在千兆以太網(wǎng)中就采用了8B/10B的編碼方式。
在通信系統(tǒng)中,通信速度與線路傳輸中的調(diào)制速率,所謂調(diào)制速率是指單位時(shí)間內(nèi)線路狀態(tài)變化的數(shù)目,以波特(baud)為單位。如果采用曼徹斯特編碼,在每個(gè)調(diào)制時(shí)間間隔內(nèi)跳動(dòng)兩次,則數(shù)據(jù)傳送速率是波特率將的二分之一。在快速以太網(wǎng)中,數(shù)據(jù)傳輸速率為100Mbps,如果采用曼徹斯特編碼,波特率將達(dá)200Mbps,對(duì)傳輸介質(zhì)和設(shè)備的技術(shù)要求都將提高,增大了傳輸成本。如果使用4B/5B編碼,在傳輸速率為100Mbps的情況下,其調(diào)制速率為:100M÷(4/5)=125M(baud)。即波特率為125M baud,大大低于曼徹斯特編碼時(shí)的200M baud,這樣就在快速以太網(wǎng)中使用非屏蔽雙絞線成為可能。
轉(zhuǎn)自微信公眾號(hào):信號(hào)完整性
相關(guān)標(biāo)簽搜索:【基礎(chǔ)】高速總線設(shè)計(jì)的編碼類型總結(jié)【轉(zhuǎn)發(fā)】 ansysem電磁培訓(xùn)班 ansys SIwave培訓(xùn)課程 ansys maxwell hfss培訓(xùn)和分析 ansysem在線視頻教程 pcb 封裝分析仿真 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn)