4B5B符号化
電気通信において、4B5B 符号化とはデータ通信におけるブロックコーディング法の一つである。NRZ 伝送路符号を用いる際、受信側が正しくクロックを同期するには一定の期間内に必ず遷移が起こる必要がある。例えば、0000 の様な一続きの 4 ビットは遷移を含まず、クロック問題を引き起こしうる。4B/5B では、この問題を 4 ビットを対応する 5 ビットワードに割り当てることにより解決する。その 5 ビットワードは、ブロックごとに最低 2 回の遷移が起こるように選ばれ、あらかじめ辞書に定義される。
この符号化の副作用として、4 ビットをそのまま送るよりも多くのビットが必要となる。4B5B 符号化の代替として、スクランブラーを使う方法がある。標準や規格によっては「不使用」キャラクタが定義されている場合があり、この場合はデータストリーム中の「不使用」キャラクタを検知することにより、リンク上の不具合を検出することも可能である。
4B5B は1980年代中盤に fiber distributed data interface (FDDI) により普及し、後に以下の規格に採用された。
- 1995年に IEEE 802.3u として定義された 100BASE-TX 標準
- AES10-2003 Multichannel Audio Digital Interface (MADI)
4B5B という名前は一般的に、 FDDI バージョンを意味して使われる。他の 4 ビット から 5 ビットへの符号化としては、磁気記録に用いられる群符号記録 (GCR) が挙げられる。
光ファイバー上では、 4B5B 出力はNRZI伝送路符号を用いる。 FDDI over copper (CDDI) では、100 BASE-TX と同様の MLT-3 伝送路符号を代わりに用いる。
4B5B 符号化は、USB Power Delivery 通信にも CC ピン上の BMC プロトコルを通じて用いられている。
4B5B 符号化テーブル 編集
データ | 4B5B 符号 | |
---|---|---|
16進数 | 2進数 | |
0 | 0000 | 11110 |
1 | 0001 | 01001 |
2 | 0010 | 10100 |
3 | 0011 | 10101 |
4 | 0100 | 01010 |
5 | 0101 | 01011 |
6 | 0110 | 01110 |
7 | 0111 | 01111 |
8 | 1000 | 10010 |
9 | 1001 | 10011 |
A | 1010 | 10110 |
B | 1011 | 10111 |
C | 1100 | 11010 |
D | 1101 | 11011 |
E | 1110 | 11100 |
F | 1111 | 11101 |
コマンドキャラクタ 編集
次のキャラクタセットがコマンドキャラクタとして用いられることもある。
コントロールキャラクタ | 5b シンボル | 目的 |
---|---|---|
JK | 11000 10001 | 同期、開始区切り文字 |
II | 11111 11111 | |
TT | 01101 01101 | FDDI 終端区切り文字 |
TS | 01101 11001 | |
IH | 11111 00100 | SAL |
TR | 01101 00111 | 100BASE-TX 終端区切り文字 |
SR | 11001 00111 | |
SS | 11001 11001 | |
HH | 00100 00100 | HDLC0 |
HI | 00100 11111 | HDLC1 |
HQ | 00100 00000 | HDLC2 |
RR | 00111 00111 | HDLC3 |
RS | 00111 11001 | HDLC4 |
QH | 00000 00100 | HDLC5 |
QI | 00000 11111 | HDLC6 |
00000 00000 | HDLC7 |
(HDLC = High-Level Data Link Control)