4B5B符号化
From Wikipedia, the free encyclopedia
特徴
1つの通信路上でクロックとデータを同時に送信する際、受信側が正しくクロックを同期するには一定の期間内に必ず遷移が起こる必要がある。
例えばNRZなどで 0000 のような連続する4ビットは、伝送路の物理量が Low を出力し続け High への遷移を含まないため、同期に失敗する恐れがある。
この対策のために、4b/5bでは、5ビット中に最低2回の遷移が起こるようなものに変換して送る。
副作用として、4ビットをそのまま送るよりも多くのビットが必要となる。 利点として、5ビットで表現できるビット列の中にはデータとして使われないものがあるため、規格によってはこのようなビット列を制御用に定義したり、不使用なパターンを受信したらリンク上の不具合として検出したりもできる。
一般に4b/5b という名称はFDDIによる実装を指すが、他の実装として群符号化記録 (GCR) による4b/5b符号もある。 また、4b/5b符号と同様の目的のものとして、8b/10bやスクランブラ(擬似乱数)を使う方法がある。
用例
4b/5b は以下の規格で採用されている。
- FDDI (ANSI X3T12)[2] - 光ファイバ・ツイストペアケーブルの通信。1980年代中盤に普及した。
- MADI (Multichannel Audio Digital Interface, AES10-1991)[3] - デジタル音声の伝送。
- ファーストイーサネット (IEEE 802.3u-1995)[4] - 100BASE-TXによるツイストペアケーブル通信が代表的。
- USB PD (2012)[5] - 設定データを4b/5b符号化してUSB Type-CのCCピン上にBMC プロトコルを用いて伝送する。
光ファイバ上では、 NRZIを用いて4b/5b符号を伝送する。 FDDI over copper (CDDI) や 100BASE-TX では、ツイストペアケーブル上にMLT-3を用いて4b/5b符号を伝送する[2][4]。
変換方式
以下に変換テーブルの代表的な実装を示す。 データを表現する16種類の符号(シンボル)のほか、制御用のシンボルがFDDIやファーストイーサネットで使われている[2][6]。 このビット変換に決まった法則はなく、事前に用意したテーブルによる変換が行われる。これら5ビット符号は左から順に通信路上に送られる。
制御シンボルを複数組み合わせて以下のように制御シーケンスとして使うことがある。
| シンボル名 | 5b 符号 | 用途 |
|---|---|---|
| JK | 11000 10001 |
開始デリミタ |
| TT | 01101 01101 |
終了デリミタ(FDDI) |
| TR | 01101 00111 |
終了デリミタ(Fast Ethernet) |
| シンボル名 | 5b 符号 | 用途 |
|---|---|---|
| JJJK | 11000 11000 11000 10001 | SOP (Start Of Packet) |
| JJLL | 11000 11000 00110 00110 | SOP' |
| JLJL | 11000 00110 11000 00110 | SOP" |
| JSSL | 11000 11001 11001 00110 | SOP'_Debug |
| JSLK | 11000 11001 00110 10001 | SOP"_Debug |
| RRRS | 00111 00111 00111 11001 | ハードウェアリセット |
| RJRL | 00111 11000 00111 00110 | ケーブルリセット |
| T | 01101 | 終了デリミタ |