8b/10b
[Wikipedia|▼Menu]

8b/10bはIBMが開発した高速シリアル転送方式である。10b/8bとも。8ビットのデータを10ビットのデータに変換して転送することから、こう呼ばれる。

シリアル・データの転送にはデータと、そのデータを拾うタイミングを作るクロックの存在が欠かせない。8b/10b方式はシリアル・データの中にクロックを埋め込むことで、データとクロックの転送を同じ配線で行うことが特徴である。

生のシリアル・データは、LowやHighの状態が長期間、或いは不定期に渡って続く可能性があるため、そこからクロックを取り出す事が出来ない。8b/10bでは、どのようなデータであっても、Low又はHigh状態の期間が4クロック以下になるように変換を行う。これによって、帯域の20%をロスする代わりに、データとクロックを同じ配線で同時に送受信する事が可能になる。

現在のシリアル転送方式の主流であり、イーサネットファイバーチャネルIEEE 1394PCI Express 2.0、Serial ATAUSB 3.0などがこの方式を採っている。PCI Express 3.0では128b/130bが採用されている。
変換方式

8ビットのデータを HGF EDCBA の3ビット/5ビットに分け、それぞれを abcdei fghjの6ビット/4ビットに変換する。このビット変換に決まった法則はなく、完全なテーブルによる変換で行われ、シンボル Dxx.x と表記される。00h?FFhの8ビットデータはD00.0?D31.7のいずれかのシンボルで表現される。

さらに各シンボルは、+/-の2種類存在するものがある。+/-はディスパリティと呼ばれ、直前のランニング・ディスパリティ(RD)が+であれば次は-のシンボルを、逆にRDが-なら次は+のシンボルを送出する。"1"の数と"0"の数が同じであれば、RDの極性は継続される。この性質を用いて極性の違反を検出することにより、それ以前の送信データにエラーが含まれていることを検出できる。RDの初期値は-である。したがって最初に送出されるシンボルは"1"または"0"の数が5個のシンボルでRD-を継続するか、"1"が6個含まれるシンボルでRD+に反転させることから始まる。

以下に変換テーブルの一部を示す。

Name8bitcurrentRD-currentRD+
D00.000h100111 0100011000 1011
D01.001h011101 0100100010 1011
D02.002h101101 0100010010 1011
D03.003h110001 1011110001 0100
D04.004h110101 0100001010 1011
D05.005h101001 1011101001 0100
?
D30.7FEh011110 0001100001 1110
D31.7FFh101011 0001010100 1110


これらのシンボルはDコードと呼ばれ、文字通りデータを示すが、これ以外にKコードと呼ばれる制御用のシンボルも存在する。

同一のシンボルが長時間連続して送出されると、周期的な電気変動を誘発して、ボード上でノイズの発生源となる場合がある。これを防ぐためにPCI Expressでは、8ビットデータにスクランブリングを掛けてから8b/10b変換を行う方法が採用されている。つまり、シリアル伝送路上には、常にランダムなビットパターンが送出され続けることになる。
外部リンク

Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code(米国特許庁)


更新日時:2017年7月20日(木)02:09
取得日時:2020/10/10 12:37


記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:3555 Bytes
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef