新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 高速串行接口的編碼技術(shù)

高速串行接口的編碼技術(shù)

作者: 時(shí)間:2012-01-17 來(lái)源:網(wǎng)絡(luò) 收藏
串行互連接口的速率在過(guò)去幾年里得到了顯著提高,每線的速率從2.5Gbit/s提高到10Gbit/s,而每個(gè)接口可以容納1到32線。8B10B作為互連接口的一種,設(shè)計(jì)簡(jiǎn)單、性能出眾,因此成為應(yīng)用最廣泛的技術(shù)。然而,它的系統(tǒng)開(kāi)銷(xiāo)高達(dá)25%,問(wèn)題突出。為了解決這個(gè)問(wèn)題,設(shè)計(jì)者們一直在探尋改進(jìn)的方法。本文就將介紹一些低開(kāi)銷(xiāo)的,并討論它們的優(yōu)勢(shì)與存在的問(wèn)題。

基礎(chǔ)理論

  目前,高速接口正在被廣泛應(yīng)用于包括SATA、SAS、高速PCI等多種標(biāo)準(zhǔn)中。這些接口的速率甚至可以達(dá)到并超過(guò)每線10Gbits/s。同時(shí),所有主流ASIC和FPGA平臺(tái)也都支持這些高速接口技術(shù)。從結(jié)構(gòu)上看,這些高速接口主要包括三個(gè)組成部分:

  電路部分(串行/解串行)
  物理部分(實(shí)現(xiàn)編碼)
  鏈路與協(xié)議部分(高層)

  支持多速率、多協(xié)議的串行/解串行器已經(jīng)實(shí)現(xiàn)。以O(shè)IF(光互聯(lián)論壇)為例,他們已經(jīng)為兩組速率制定了電路規(guī)范,分別為5Gbits/s-6.375Gbits/s和10Gbits/s-11Gbits/s。OIF同樣為兩種應(yīng)用距離制定了規(guī)范,分別為短距離(采用一個(gè)連接器,8英寸)和長(zhǎng)距離(采用兩個(gè)連接器,40英寸)。串行/解串行器還可以被設(shè)計(jì)用來(lái)滿足更多的規(guī)范,包括不同的速率、距離、電路規(guī)格等等。

  物理部分的主要任務(wù)是對(duì)數(shù)據(jù)進(jìn)行編碼,以保證串行/解串行器的正常運(yùn)行。這些編碼的目的包括:確保必須的變換(“1”到“0”和“0”到“1”的變換),保證穩(wěn)定的直流均衡(“0”碼與“1”碼的個(gè)數(shù)相當(dāng)),以及滿足其它標(biāo)準(zhǔn)的要求(最大化信道帶寬利用率,提高對(duì)誤差的容忍能力等等)。

  以MancheSTer編碼為例,這種編碼技術(shù)被廣泛應(yīng)用于10Mbit/s以太網(wǎng)連接中。它的編碼方式非常簡(jiǎn)單,就是將“1”編碼為“01”,將“0”編碼為“10”。從編碼原理我們可以推斷出:

  最大相同連續(xù)字符數(shù)為2(正常情況下連續(xù)出現(xiàn)兩個(gè)以上連續(xù)“0”或“1”是不可能的)。

  保證穩(wěn)定的直流均衡(“0”的個(gè)數(shù)與“1”的個(gè)數(shù)總是相同的)。

  具備1bit誤碼糾錯(cuò)能力(“00”或者“11”是無(wú)效碼)。

  高達(dá)100%的系統(tǒng)開(kāi)銷(xiāo)。

  擾碼技術(shù)是串行鏈路常用的另一種編碼技術(shù)。這種技術(shù)將偽隨機(jī)序列與原始碼流混合,以實(shí)現(xiàn)轉(zhuǎn)換、直流均衡等目的。偽隨機(jī)發(fā)生器由線性反饋移位寄存器產(chǎn)生的最長(zhǎng)序列(m序列)構(gòu)成1。此序列的周期為2n,其中n為線性反饋移位寄存器特征多項(xiàng)式的最高階。例如SONET/SDH的特征多項(xiàng)式為x7+x6+1,它的序列長(zhǎng)度為27-1,即127。

  擾碼器包括兩種類型,分別為邊擾碼器與自同步擾碼器。通常,邊擾碼器的寄存器狀態(tài)與發(fā)送數(shù)據(jù)異或構(gòu)成它的下一個(gè)狀態(tài),這需要在輸入與輸出之間“重置/同步”擾碼器狀態(tài)。自同步擾碼器直接將輸入數(shù)據(jù)作為擾碼器狀態(tài),不需要重置和同步過(guò)程。

8B10B編碼技術(shù)

  8B10B是應(yīng)用最廣泛的編碼技術(shù)。它被用于串行連接SCSI、串行ATA、光纖鏈路、吉比特以太網(wǎng)、XAUI(10吉比特接口)、PCI Express總線、InfiniBand、Seria RapidIO、HyperTransport總線以及IEEE1394b接口(火線)技術(shù)中。

  8B10B2將8bit代碼組合編碼成10bit代碼,代碼組合包括256個(gè)數(shù)據(jù)字符編碼和12個(gè)控制字符編碼(如表1所示)。通過(guò)仔細(xì)選擇編碼方法可以獲得不同的優(yōu)化特性。這些特性包括滿足串行/解串行器功能必須的變換;確保“0”碼元與“1”碼元個(gè)數(shù)的一致,又稱為直流均衡;確保字節(jié)同步易于實(shí)現(xiàn)(在一個(gè)比特流中找到字節(jié)的起始位);以及對(duì)誤碼率有足夠的容忍能力和降低設(shè)計(jì)復(fù)雜度。

  8B10B中所有的編碼都具備3到10種變換。每個(gè)碼字確保:

  在一行中不會(huì)產(chǎn)生超過(guò)四個(gè)連“1”或連“0”;

  “1”與“0”的不平衡度(不平衡度指“0”的個(gè)數(shù)減去“1”的個(gè)數(shù))不會(huì)超過(guò)2個(gè)碼字(5個(gè)“1”/5個(gè)“0”,4個(gè)“1”/6個(gè)“0”或4個(gè)“0”/6個(gè)“1”)。

  8B10B采用一種簡(jiǎn)單的方法保證了編碼的直流平衡。在不平衡時(shí),采用兩個(gè)10bit字符表示一個(gè)8bit字符,其中一個(gè)稱為RD-,表示“1”的個(gè)數(shù)比“0”多2個(gè),另一個(gè)稱為RD+,表示“1”的個(gè)數(shù)比“0”少2個(gè)。選取合適的RD字符可以保證不平衡度不大于1。同時(shí),采用只有在控制字符(K28.5,K28.1,K28.7)中才有的特殊字符可以保證同步定位的準(zhǔn)確。

  8B10B借助總共268個(gè)字符及它們的反轉(zhuǎn)碼,還可以檢測(cè)任何可能破壞不平衡的誤碼。但是,即使接收機(jī)接收到了正確的碼字,有時(shí)它們也有可能因?yàn)椴黄胶庑远鴮?dǎo)致誤碼,這種現(xiàn)象被稱為誤碼復(fù)制。8B10B編碼技術(shù)將8bit數(shù)據(jù)分成3bit和5bit兩組,因此可以看作是3B4B和5B6B編碼技術(shù)的組合。

  改進(jìn)傳統(tǒng)8B10B編碼技術(shù)的一種方法是,在編碼之前增加擾碼過(guò)程。有證據(jù)證明,特殊的模式3或差分群時(shí)延可能會(huì)導(dǎo)致重復(fù)模式產(chǎn)生不可預(yù)測(cè)的誤碼。解決這個(gè)問(wèn)題最直接的辦法就是在編碼之前對(duì)數(shù)據(jù)進(jìn)行擾碼。

  以上這些特點(diǎn)保證了8B10B編碼成為使用最廣泛的編碼技術(shù)。它最主要的缺點(diǎn)只有一個(gè),就是高達(dá)25%的系統(tǒng)開(kāi)銷(xiāo)。

低開(kāi)銷(xiāo)編碼

  最近,人們提出了幾種降低8B10B編碼技術(shù)系統(tǒng)開(kāi)銷(xiāo)的改進(jìn)方法。這些改進(jìn)主要基于以下兩個(gè)基礎(chǔ):一是隨著鏈路速率與數(shù)量的增加,25%系統(tǒng)開(kāi)銷(xiāo)的問(wèn)題顯得越來(lái)越突出;二是集成技術(shù)的進(jìn)步,使得硬件復(fù)雜度不再像過(guò)去那樣重要。

  在這些低開(kāi)銷(xiāo)的改進(jìn)技術(shù)中,有四個(gè)非常相似的技術(shù)脫穎而出,受到人們的廣泛關(guān)注:

  64B66B編碼技術(shù),應(yīng)用于10G以太網(wǎng)4;
  OIF CEIP5;
  10GBase-KR6,應(yīng)用于10GbE背板連接;
  Interlaken7。

  這些技術(shù)的共同點(diǎn)是,都以提高硬件設(shè)計(jì)復(fù)雜度(門(mén)數(shù)目)為代價(jià),換取了較低的系統(tǒng)開(kāi)銷(xiāo)。

  64B66B編碼技術(shù)。這種技術(shù)應(yīng)用于10G以太網(wǎng)(10GBase-R),是一種編碼與擾碼相結(jié)合的技術(shù)。首先,數(shù)據(jù)被分成8個(gè)字節(jié)一組(總共64比特)。然后,這些字節(jié)采用自同步擾碼實(shí)現(xiàn)隨機(jī)化,其特征多項(xiàng)式為x58+x39+1。最后,如果這些8字節(jié)組是數(shù)據(jù)字符,那么會(huì)加上“01”標(biāo)識(shí);如果有一個(gè)或多個(gè)字節(jié)是控制字符,那么就會(huì)加上“10”標(biāo)識(shí)。


表1. 主要標(biāo)準(zhǔn)中的控制碼字使用


  在此編碼技術(shù)中,將8個(gè)字節(jié)的字符(由8B10B編碼定義,可能是數(shù)據(jù)或控制字符)編碼為64比特長(zhǎng)字符的過(guò)程通常被稱為轉(zhuǎn)換代碼。GFP-T8為組合8B10B的8比特為64比特字符提供了標(biāo)準(zhǔn)方法。而10GbE為10G以太網(wǎng)和10Gbit/s光纖鏈路提供了相關(guān)子集的映射表。用于同步定位的“01”和“10”比特不參與擾碼過(guò)程。這是因?yàn)槠渌忍卦跀_碼后可能取任何值,只有同步比特“01”和“10”在經(jīng)歷長(zhǎng)途傳輸后基本保持不變。同步比特還可以保證每隔66比特至少會(huì)發(fā)生一次轉(zhuǎn)換。

  CEI-P編碼技術(shù)。這種技術(shù)由OIF定義。它的系統(tǒng)開(kāi)銷(xiāo)與64B66B編碼相等,大約為3%。當(dāng)然,它還有很多不同之處。

  CEI-P采用邊擾碼,特征多項(xiàng)式為x17+x14+1。這樣做的優(yōu)點(diǎn)是可以有效防止誤碼復(fù)制的產(chǎn)生(擾碼的狀態(tài)不會(huì)受之前產(chǎn)生的誤碼影響),缺點(diǎn)是需要在發(fā)送與接收之間同步擾碼狀態(tài)。

  當(dāng)邊擾碼與線路誤碼無(wú)關(guān)時(shí),如果發(fā)送數(shù)據(jù)與擾碼值相同(或恰好相反),那么擾碼器會(huì)輸出非常長(zhǎng)的“1”或“0”序列。而這種非常長(zhǎng)的擾碼輸出序列比短的序列對(duì)誤碼的容忍能力更強(qiáng)。

  CEI-P編碼采用幀同步取代定位同步。64B66B采用同步比特實(shí)現(xiàn)定位,而CEI-P將24個(gè)64比特碼字看作一幀,這樣用1個(gè)比特就可以實(shí)現(xiàn)數(shù)據(jù)或控制字符的判定。附加的24比特用于誤碼校驗(yàn)與信令。其中誤碼校驗(yàn)使用20比特,采用fire-code技術(shù),可以糾正長(zhǎng)達(dá)7比特的突發(fā)誤碼串。

  10GBase-KR編碼技術(shù)。這種技術(shù)的系統(tǒng)開(kāi)銷(xiāo)與CEI-P一致,都是3%,主要的不同在于幀的長(zhǎng)度是32個(gè)碼字,而不是24個(gè)碼字。這樣一來(lái)糾錯(cuò)碼長(zhǎng)度就是32比特,可以糾正比CEI-P更長(zhǎng)的突發(fā)誤碼串。而它采用的擾碼規(guī)則與10GbE相似。只不過(guò)它的擾碼多項(xiàng)式與10GBase-R一致,寄存器采用的初始序列為“010101……”,而且每一幀重置一次。

  Interlaken PHY編碼技術(shù)。Interlaken編碼技術(shù)的系統(tǒng)開(kāi)銷(xiāo)為4.5%(64/67)。它的碼字基于64比特。與其它低開(kāi)銷(xiāo)編碼技術(shù)相比,Interlaken的主要不同之處在于:

  同步信號(hào)為3個(gè)比特,其中兩個(gè)比特用于區(qū)分?jǐn)?shù)據(jù)與控制,一個(gè)比特用于標(biāo)識(shí)數(shù)據(jù)是否轉(zhuǎn)化。數(shù)據(jù)轉(zhuǎn)化比特的目的與8B10B類似,都是為了保證直流平衡;

  Interlaken采用與10GbE相同的邊擾碼特征多項(xiàng)式實(shí)現(xiàn)擾碼。這樣可以避免因采用自同步擾碼器所導(dǎo)致的誤碼復(fù)制問(wèn)題。一個(gè)同步碼字用于傳遞擾碼器狀態(tài),而且它非常長(zhǎng)的擾碼長(zhǎng)度保證不會(huì)出現(xiàn)很長(zhǎng)的連“0”或者連“1”;

表2. 編碼技術(shù)的對(duì)比

  整個(gè)鏈路采用CRC32循環(huán)冗余校驗(yàn)方式保證誤碼校驗(yàn)。

  表2對(duì)比了以上討論的幾種編碼技術(shù)的異同,主要包括以下幾點(diǎn):
  實(shí)際采用情況;
  系統(tǒng)開(kāi)銷(xiāo);
  轉(zhuǎn)換密度與直流平衡;
  同步定位;
  誤碼(保護(hù)、校驗(yàn)、復(fù)制);
  硬件復(fù)雜度(門(mén)數(shù)目)。

  雖然8B10B編碼行之有效,而且被廣泛采用,但是它高達(dá)25%系統(tǒng)開(kāi)銷(xiāo)的缺點(diǎn)在未來(lái)數(shù)百吉比特鏈路與系統(tǒng)應(yīng)用中顯得越來(lái)越突出?,F(xiàn)在已經(jīng)有若干種低開(kāi)銷(xiāo)的編碼技術(shù),它們具備不同的優(yōu)勢(shì)與缺點(diǎn)。但是到目前為止,還沒(méi)有哪種低開(kāi)銷(xiāo)技術(shù)能夠脫穎而出,成為繼8B10B之后被廣泛采用的首選技術(shù)。不過(guò),本文所提到的幾種技術(shù)都以提高硬件復(fù)雜度為代價(jià),以滿足低開(kāi)銷(xiāo)的要求。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉