8B/10B

基本介紹

  • 中文名:8B/10B
  • 也叫:8比特/10比特
  • 也叫:8b10b
  • 最初發明:IBM公司
簡介,特點,

簡介

8B/10B,也叫做8比特/10比特或8b10b。8b/10b方式最初由IBM公司於1983年發明並套用於ESCON(200M互連繫統),由Al Widmer和Peter Franaszek在IBM的刊物“研究與開發”上描述。
8b/10b編碼的特性之一是保證DC 平衡,採用8b/10b編碼方式,可使得傳送的“0”、“1”數保持基本一致,連續的“1”或“0”不超過5位,即每5個連續的“1”或“0”後必須插入一位“0”或“1”,從而保證信號DC平衡,它就是說,在鏈路逾時時不致發生DC失調。通過8b/10b編碼,可以保證傳輸的數據串在接收端能夠被正確復原,除此之外,利用一些特殊的代碼( 在PCI-Express匯流排中為K碼) ,可以幫助接收端進行還原的工作,並且可以在早期發現數據位的傳輸錯誤,抑制錯誤繼續發生。
8b/10b編碼是將一組連續的8位數據分解成兩組數據,一組3位,一組5位,經過編碼後分別成為一組4位的代碼和一組6位的代碼,從而組成一組10位的數據傳送出去。相反,解碼是將1組10位的輸入數據經過變換得到8位數據位。數據值可以統一的表示為DX.Y或KX.Y,其中D表示為數據代碼,K表示為特殊的命令代碼,X表示輸入的原始數據的低5位EDCBA,Y 表示輸入的原始數據的高3位HGF。
8b/10b編碼是目前許多高速串列匯流排採用的編碼機制,如 USB3.0、1394b、Serial ATA、PCI Express、Infini-band、Fibre Channel(光纖通道)、RapidIO等匯流排或網路等。

特點

光線通道上,告訴比特流串列傳輸僅有傳送和接受兩條物理線路,不存在單獨的線路來實現時鐘同步,只能通過編碼技術,將時鐘“嵌入”比特流內部,故在串列傳輸中對所傳送的比特進行編碼十分重要。對數據進行編碼,不但可以提高接收機實現時鐘回復和比特同步,而且易於檢測和和糾正數據錯誤。
管線通道FC-1層採用8B/10B編碼算法,通道上傳送的信息以每8比特為一組被編碼為一個10比特的傳送自負,接收端收到數據後再將10比特字元解碼還原為8比特代碼。
8B/10B編碼算法是由IBM公司的A.X.Widmer和P.A.Franaszer在20世紀80年代初期提出。該算法的基本思想是將一個8位位元組劃分為5位和3位兩部分,對5位部分進行5B/6B編碼,對3位部分進行3B/4B編碼。相對於一次編碼一個8位位元組,分為兩部分進行編碼使得硬體上能更有效地對更小的子塊進行編解碼。通過兩部分分別編碼,最終8位位元組被編碼為10位位元組。編碼後的10位中所有1或0的個數不會超過6個,並且連續的1或0的個數不會超過4個。
8B/10B編碼通過檢測前一個字元的不均衡型來決定後一個字元的編碼選擇。如果前一個字元是正不均衡性字元,則後一個就應該選擇負不均衡性。這種連續不均衡機制使得整個比特流中儘量保持了0和1的平衡。
10位傳送代碼可以支持所有的256種8位組合,並且光線通道利用剩餘組合中的一些編碼構成特定的控制碼。K28.5是光線通道中使用的控制碼。在兩位相同的二進制數據後緊跟著五位與前兩位不同的二進制連續串,這種特殊的格式使其與一般的數據編碼區分開。
將原本8位的位元組用10位來表示,會使8B/10B編碼的頻寬利用率並不高。8B/10B編碼不只套用於光纖通道,目前在許多高速串列匯流排。

相關詞條

熱門詞條

聯絡我們