8B/10B 符号化
10ビットデータに変換する際に、 1/0 連続数を制限し確実な信号反転を発生させることと 1/0 個数の差を制限制限範囲内に収める必要がある。1/0 連続数制限は、1/0 の連続数が 4 個以内に収まるコードを選択することで実現している(一部の制御コードが4を超える)。もう一つの課題である 1/0 個数差の制限については、理想的な個数差を 0 に制限することは 8B/10B 符号化ではできない。これを実現するためには 10 ビットよりさらに大きなシンボルが必要になる。そこで、1/0 個数累積差を一定範囲内に収める方法になっている。
ビット列の 1/0 の個数差をディスパリティ (disparity:不均衡性)、送信した全データのディスパリティ累計値をランニングディスパリティ( running disparity)と呼ぶ。8B/10B 符号化では、ランニングディスパリティを常に -1~ +1 の範囲に収まるように変換候補を選ぶ仕組みだ。
8B/10B 符号化では、 8ビットデータを HGF EDCBA の上位3ビットと下位5ビットに分割する。H が最上位ビット(MSB:Most Significant Bit)で、A が最下位ビット(LSB: Least Significant Bit)になる(図1)。上位3ビットを4ビットに変換する 3B/4B 変換と、 下位5ビットを6ビットに変換する 5B/6B 変換を組み合わせて 8B/10B 変換を実現している。上位3ビットをグループy、下位5ビットをグループx と呼び、8ビットデータを10ビット変換したデータコードは Dx.y と表記する。 00 hex ~ FF hex の 8 ビットデータは D00.0~D31.7 のいずれかのシンボルに変換される。 IDLE コードや区切りコードなどの制御コードは Kx.y と表記し、12個の制御コードがある。

8B/10B 符号化はシンプルなテーブル変換になっている。8ビットのテーブル変換では、 256 個の変換テーブルが必要になるが、3ビットと5ビットに分割することで40 個 (8+32)の変換テーブルで済む。
図2 の様に、8B/10B 符号化では上位3ビットの HGF は 4ビットの fghj に、下位5ビッ トの EDCBA は6ビットの abcdei に変換される。変換結果は abcdei fghj の配列になり、順序が入れ替わっているので注意が必要だ。ネットワークには矢印の順(abcdei fghj)で 送信される。a が先頭で j が末尾になる。この変換に規則性はなく完全なテーブル変換になっている。変換順序は、先ず下位5ビット(xグループ)が 5B/6B 変換テーブルで変換される。次に上位3ビット(yグループ)が 3B/4B 変換テーブルで変換される。

図2 の 5B/6B 変換テーブル(後半)の様に、6ビット符号化シンボルは +/- の2つが割り当てられている。緑色部分は +/- が同じコードでかつ「1」と「0」の数が同じになっている。 1/0 の差がないコードを「ニュートラルディスパリティ」と呼ぶ。ニュートラルディスパリティでは、 +/- に同じコードが配置される。これ以外の 1/0 の数に差があるコードを「非ニュートラルディスパリティ」と呼ぶ。非ニュートラルディスパリティでは、「1」の数が2つ多い「正」コードがー側に、「1」の数が2つ少ない「負」コードが+側に配置される。3B/4B 変換テーブルも基本構造は変わらないが一部に例外がある(黄色)。 +/- の2つのコードはランニングディスパリティの計算に使用する。
図2 は、D17.2(51 hex)を10ビットコードに変換した例だ。下位5ビットが「5B/6B 変 換テーブル(後半)」で6ビットに変換され、次に上位3ビットが「3B/4B 変換テーブル」で4ビットに変換される。これれを組み合わせて10ビットデータが作られる。何れの変換もニュートラルディスパリティのため、ランニングディスパリティの計算はまだ登場しない。
ランニングディスパリティ(RD)計算
RD 計算を変換開始時の RD が-1 の場合で説明する。
RD=-1 の場合
新たに8ビットデータを受け取ると、まず下位5ビットが「5B/6B 変換テーブル」で6 ビットに変換される。選択された「6ビット符号化シンボル」がニュートラルディスパリティの場合、「1」と「0」の数に差がないため「RD=-1」の状態は変化しない。
選択された「6ビット符号化シンボル」が非ニュートラルディスパリティの場合、「1」の数が2つ多い 「正」コードを選択する。RD に2が加算され「RD=+1」 (RD=-1+2=+1)に変化する。「負」コードを選択すると、RD=-3 となり制限範囲を超えることになる。
次に上位3ビットが「3B/4B 変換テーブル」で4ビットに変換される。選択された「4 ビット符号化シンボル」がニュートラルディスパリティの場合、RD は変化しない。
選択された「4ビット符号化シンボル」が非ニュートラルディスパリティの場合、 5B/6B 変換後の RD 値により動作が変わる。RD=-1 の場合、「正」コードを選択する。RD に2が加算され「RD=+1」(RD=-1+2=+1)に変化する。RD=+1 の場合、「負」コードを選択する。RD から2が減算され「RD=-1」(RD=+1-2=-1)に変化する。
つまり、RD の計算は計算結果が常に -1/+1 のいずれかになるため、直前の RD がマイナスの場合は「正」コードを選択し、RD がプラスの場合は「負」コードを選択する。図3 の例は RD=-1 の状態で始まる D16.4(90 hex)の変換例だ。初期値が RD=-1 のため、5B/6B 変換テーブルで「正」コードを選択し RD=+1 に変化する。次に 3B/4B変換テーブルでは「負」コードを選択し RD=-1 になる。 RD の初期値は「-1」で始まり表1 に従いディスパリティを選択するため、常に -1/+1 の何れかになる。


5B/6B 変換テーブルと 3B/4B 変換テーブルのシンボルコードの配列に違和感を持つ方がいるはずだ。「正」コードが符号化シンボル⊖に、「負」コードが符号化シンボル⊕に配置されている。これは、直前の RD がマイナスの場合は「シンボルコード ⊖」を選択し、直前の RD がプラスの場合は「シンボルコード⊕」を選択することで RD を計算することができるための仕掛けになっている。RD 計算結果が -1/+1 以外 ならば、エラーが発生していることになる。
B/10B 変換コードは、表2 ~表12 を参照いただきたい。
8B/10B 符号化後、10ビットパラレルデータをシリアル変換し NRZ 符号に変換する。NRZ 符号を基に光信号が作られる。

米国 IBM 社が開発した特許だ。当時は磁気テープやディスク装置などの記録装置向けに開発された。 1982年に特許を申請し1984年に特許を取得している( U.S Patent 4,486,739)。米国特許の有効期限は通常20年で、現在は権利期間が終了している。その後、ファイバーチャネル、SONET/SDH、ギガビットイーサネット(1000BASE-X)やIEEE1394 等で採用され、高速シリアルインタフェースの符号化方式の主流の一つだ。PCI Express 2.0 や USB 3.0 でも採用されている。一世代前の技術だが、8B/10B 符号化 特許の権利期間が終了したこともあり、FPGA 等でも広く使われている。
8B/10B 符号化技術は、コンピュータ文化と通信文化がクロスオーバーした技術の代表例だ。通信順序が一般的な通信とは逆向きに見える。これも2つの異なる文化が交わった結果ではないかと思う。この技術は様々な特許侵害問題を引き起こした特許でもある。当時の半導体ベンダーや機器ベンダーとの間で特許問題が起きたとの噂があった。
8B10B 変換テーブル





イーサネットの物理層
-
2-5.Ethernetの物理層
イーサネットの物理層(1)概要・物理層のトレンド・物理層基礎技術
イーサネットを底辺で支えているのが物理層だ。物理層の基本機能は、0と1で表現されるデジタルデータを電気信号や光パルスに変換し媒体を介して通信することだ。OSI 階層では最下層に相当する。第2層以上の論理層と最下層の物理層 […] -
2-5.Ethernetの物理層
イーサネットの物理層(2)物理層基礎技術 パラレル通信とシリアル通信 / クロック同期方式
パラレル通信とシリアル通信 コンピュータ間通信方式はパラレル通信とシリアル通信に大別することができる。パラレル( parallel:並列)通信は、複数データを並列に同時送信するため高速通信が可能だが、複数のデータ線が必要 […] -
2-5.Ethernetの物理層
イーサネットの物理層(3)物理層基礎技術 クロック同期方式 共通クロック(Common Clock)同期 / 送信元クロック(Source Clock)同期
共通クロック(Common Clock)同期 プリント基板内での半導体デバイス間同期や、比較的低速な PCI などのパラレルバスで使用されている方式だ。歴史も古く事例も多い。名前のように送信側と受信側が、共通クロックに同 […] -
2-5.Ethernetの物理層
イーサネットの物理層(4)物理層基礎技術 クロック同期方式 埋込クロック(Embedded Clock)同期 / 非同期(調歩同期)
埋込クロック(Embedded Clock)同期 「埋込クロック同期」は、送信データに送信クロックを埋め込む方式だ。受信側は受信データからクロックを抽出しデータを読み込むマスタークロックとして使用する。送信元クロック同期 […] -
2-5.Ethernetの物理層
イーサネットの物理層(5)物理層基礎技術 DC結合・AC結合
装置間、基板間や基板内回路の電気信号接続には2つの方法がある。直流成分を送ることができる「DC 結合」と、直流成分をカットして交流成分のみを送る「AC 結合」がある。直流成分の除去にはコンデンサやパルストランスを使用する […] -
2-5.Ethernetの物理層
イーサネットの物理層(6)全体階層構造
Ethernet TSN は第2層(データリンク層)を主に機能強化している。同時に、車載ネットワークを意識した第1層(物理層)にも新たな規約を策定した。車載ネットワークでは省スペースと重量削減が大きな課題で、これに対応す […] -
2-5.Ethernetの物理層
イーサネットの物理層(7)xMII
MII は 10Mbps/100Mbps 専用のインタフェースとして登場した。イーサネットの速度アップに伴い、 MII を基に RMII/GMII/RGMII/SGMII/QSGMII/XGMII などの新たな規格が登場 […] -
2-5.Ethernetの物理層
イーサネットの物理層(8)MIIのデータインターフェイス/管理インターフェイス
オリジナルの MII は、データインタフェースと管理インタフェースの2つのインタフェースで構成される。データインタフェースは、更に送信用と受信用の2つの独立したチャンネルに分かれる。各チャンネルにはそれぞれ独自のデータ、 […] -
2-5.Ethernetの物理層
イーサネットの物理層(9)xMII RMII / GMII
RMII RMII(Reduced Media-Independent Interface )は、PHY/MAC 間接続の信号線を削減するために作られた規格だ。データインタフェース信号線の総数は16本から半分の8本に削減 […] -
2-5.Ethernetの物理層
イーサネットの物理層(10)xMII RGMII / SGMII
RGMII RGMII( Reduced Gigabit Media-Independent Interface )は、 GMII の PHY/MAC 間接続の信号線を削減するために作られた規格だ。信号線の総数は24本か […] -
2-5.Ethernetの物理層
イーサネットの物理層(11)物理層規格の概要
イーサネットは40年以上に渡り規格が追加・修正された歴史がある。10Mbps の 10BASE5 から始ま り、400Gbpsまで拡張されている。今回は、IoT や車載ネットワークでの直近の使用が想定される 10Mbps […] -
2-5.Ethernetの物理層
イーサネットの物理層(12)物理層規格 10BASE5/2/-T
オフィスでも家庭でも、10BASE5/2/-T 規格の製品に出会うことはまずない。オフィスや家庭での有線イーサネットの主役は 100Mbps か 1000Mbps だ。10BASE5/2/-T 規格は歴史の彼方に消えてい […] -
2-5.Ethernetの物理層
イーサネットの物理層(13)個別規格 10BASE5/2/-T 符号化/マンチェスタ符号
符号化 物理層の基本機能は、1と0で表現されるデジタルデータを電気信号に変換しケーブルに流すことだ。最も簡単な変換は、「1」を電圧のハイレベル(例えば5V)に、「0」を電圧のローレベル(例えば 0V)に変換すれば、信号を […] -
2-5.Ethernetの物理層
イーサネットの物理層(14)個別規格 100BASE-TX
100BASE-TX は、10BASE-T の次世代規格として1995年に登場した。家庭やオフィス LAN の主役は WiFi や 1000BASE-T に変わったが、今でも広く使われている。100BASE-TX は19 […] -
2-5.Ethernetの物理層
イーサネットの物理層(15)個別規格 100BASE-TX 4B5B変換 / Parallel to Serial 変換
4B5B 変換 従来の 10BASE5/2/-T は、伝送路上のフレーム間ギャップは無信号状態になっている。これは、1本の伝送路を複数ノードで共有する方式のため、信号の衝突を避けるためにはデータを送信していない期間を無信 […] -
2-5.Ethernetの物理層
イーサネットの物理層(16)個別規格 100BASE-TX スクランブラ / NRZ → NRZI → MLT3 変換
100BASE-TX スクランブラ スクランブラは、100BASE-TX が動作時にコネクタやケーブルから放射する妨害波(EMI)を抑えるために実装された機能だ。「埋込クロック同期」や「AC 結合」のための機能ではない。 […] -
2-5.Ethernetの物理層
イーサネットの物理層(17)個別規格 100BASE-FX
100BASE-FX 100BASE-FX は、1995年に IEEE802.3u で標準化された。光ファイバーを伝送路として2本のファイ バーケーブルを使用する。信号源に1300nm波長帯を使い、マルチモードファイバー […] -
2-5.Ethernetの物理層
イーサネットの物理層(18)個別規格 1000BASE-T 概要
1000BASE-T は、10BASE-T/100BASE-TX の後継規格として 1999年に IEEE 802.3ab として標準化された。伝送媒体はカテゴリ5以上の撚対線を使用し、最大伝送距離は 100m だ。当時 […] -
2-5.Ethernetの物理層
イーサネットの物理層(19)個別規格 1000BASE-T 物理層 / 8B1Q4/4D-PAM5 / スクランブラ
1000BASE-T 1000BASE-T 物理層 1000BASE-T は 8ビット幅を持ち 125MHz(8ナノ秒サイクル)で動作する GMII で上位層と繋がっている。つまり、1000BASE-T の物理層は、8ナ […] -
2-5.Ethernetの物理層
イーサネットの物理層(20)個別規格 1000BASE-T 畳み込み符号 / 4D-PAM5 符号 / フレーム構造
1000BASE-T 畳み込み符号 送信データのスクランブル後、8ビットデータに1ビット付加し9ビットにする。変換テーブルに 2倍の冗長性を持たせることと、変換テーブルでデータを拡散し電磁妨害波を抑えることが 1 ビット […] -
2-5.Ethernetの物理層
イーサネットの物理層(21)個別規格 1000BASE-X 概要
伝送媒体に光ファイバーを使用する 1000BASE-X は、撚対線を使用する 1000BASE-T より1年早く1998年に標準化を完了している。同時にギガビットイーサに対応する GMII の標準化も完了した。1000B […] -
2-5.Ethernetの物理層
イーサネットの物理層(22)個別規格 1000BASE-X 8B/10B 符号化 / 8B10B 変換
8B/10B 符号化 10ビットデータに変換する際に、 1/0 連続数を制限し確実な信号反転を発生させることと 1/0 個数の差を制限制限範囲内に収める必要がある。1/0 連続数制限は、1/0 の連続数が 4 個以内に収 […]