上文說(shuō)完了8B/10B之后,我們?cè)賮?lái)說(shuō)說(shuō)貌似更復(fù)雜的64B/66B編碼凭迹。很多人可能在想村象,8B/10B編碼主要作用的優(yōu)化直流平衡咽安,從8bit中插2個(gè)bit進(jìn)去,這樣的話最終效果能夠使長(zhǎng)0或者長(zhǎng)1的位數(shù)不超過(guò)5位迁客,達(dá)到很好的效果。那64B/66B編碼方式呢?在從64個(gè)bit中僅加入2個(gè)bit柜与,能夠很好的解決長(zhǎng)0長(zhǎng)1的問(wèn)題嗎?作用似乎只是杯水車(chē)薪嵌灰,2個(gè)bit相對(duì)于64個(gè)bit太少了弄匕。但是這種64B/66B的編碼方式流行至今,肯定是有它自己的優(yōu)勢(shì)所在沽瞭,其實(shí)它和8B/10B編碼還是有原理上和算法上的區(qū)別的迁匠。
當(dāng)然,如果僅靠這2個(gè)bit來(lái)實(shí)現(xiàn)8B/10B的作用顯然不太現(xiàn)實(shí)驹溃。其實(shí)上城丧,這兩個(gè)bit只是起一個(gè)同步頭的作用,主要用于接收端的數(shù)據(jù)對(duì)齊和接收數(shù)據(jù)位流的同步豌鹤。這兩個(gè)bit有“10”和“01”兩種同步表征方式亡哄,“01”表征后面的64個(gè)bit都是數(shù)據(jù)bit,“10”表示后面的64bit是數(shù)據(jù)和控制信息的混合布疙,其他的“00”或者“11”都表征為錯(cuò)誤信息蚊惯。數(shù)據(jù)bit用“D”表示,每個(gè)數(shù)據(jù)碼是8bit灵临;控制bit用“Z”表示截型,每個(gè)數(shù)據(jù)碼是7bit。其中在“10”這種數(shù)據(jù)控制信息混合的情況下儒溉,后8個(gè)bit劃分為表征類(lèi)型域宦焦,其后的56bit才是真正的控制信息或數(shù)據(jù)控制兩者的混合。另外“S”表示包開(kāi)始傳送,“T”表示包傳送結(jié)束赶诊,值得注意的是“S”只能在第0和第4字節(jié)出現(xiàn)笼平。“T”可以出現(xiàn)在任何的字節(jié)舔痪。結(jié)構(gòu)圖如下所示:
“S”字節(jié)
一個(gè)傳輸?shù)睦尤缦拢?/p>
那按照上面說(shuō)的寓调,新加的2個(gè)bit只是作為同步,那后面的數(shù)據(jù)可以如何優(yōu)化呢锄码?這里有一項(xiàng)區(qū)別于8B/10B編碼的技術(shù)——擾碼夺英。
所謂擾碼,就是一種將數(shù)據(jù)重新排列或者進(jìn)行編碼以使其最優(yōu)化的方法滋捶。怎么才能最優(yōu)化呢痛悯?就是使數(shù)據(jù)bit的“0”和“1”最大程度的達(dá)到隨機(jī)分布,進(jìn)一步減輕了抖動(dòng)的碼間串?dāng)_重窟,提高了數(shù)據(jù)傳輸?shù)目煽啃栽孛取谋举|(zhì)上說(shuō),擾碼就是為了達(dá)到這個(gè)目的而在傳輸數(shù)據(jù)進(jìn)入信道傳輸之前巡扇,對(duì)其進(jìn)行的比特層的隨機(jī)化處理過(guò)程扭仁。它的方法就是使用上面prbs碼型所說(shuō)到的多項(xiàng)式,關(guān)于多項(xiàng)式的選擇通常是基于擾碼的特性厅翔,包括生成數(shù)據(jù)的隨機(jī)度乖坠,以及打亂連0和連1的能力。從prbs多項(xiàng)式的角度說(shuō)刀闷,其實(shí)就是重新生成偽隨機(jī)碼型的過(guò)程熊泵。64B/66B的擾碼使用的多項(xiàng)式是1+X39+X58。按照前期說(shuō)的prbs生成器甸昏,得到該擾碼器的框圖如下所示:
就是前幾期prbs說(shuō)的第39和第58位的異或運(yùn)算顽分,然后通過(guò)移位寄存器輸出的碼型結(jié)果。當(dāng)然施蜜,前面說(shuō)了怯邪,64B/66B編碼的這種擾碼方式目標(biāo)是使數(shù)據(jù)的“0”和“1”最大程度的隨機(jī)分布,減小連續(xù)出現(xiàn)的情況花墩,因此它可能并不能適用于所有的碼型悬秉,不像8B/10B編碼一樣對(duì)所有的bit組合都有出色的表現(xiàn),具體還要看接收器的能力冰蘑。但是無(wú)可否認(rèn)和泌,它最大的好處是效率比較高,傳輸冗余的bit只有2位祠肥,不像8B/10B編碼需要20%的開(kāi)銷(xiāo)武氓。這方面在更高速的傳輸環(huán)境下更具有優(yōu)勢(shì)。