4B5B符号化

4b/5b符号化 (4B5B, 4B/5B とも) は、シリアル通信に用いられる伝送路符号の1つ。ISO/IEC 9314-1が規定したもので、この名称は4ビットのデータを5ビットのデータに変換して転送することに由来するISO/IEC 9314-1:1989, Section 6.1. PHY-to-MAC Services。

 特徴 
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)ANSI Fiber Distributed Data Interface (FDDI) Standards (1991-08) - 光ファイバ・ツイストペアケーブルの通信。1980年代中盤に普及した。
  (Multichannel Audio Digital Interface, AES10-1991) - デジタル音声の伝送。
 ファーストイーサネット (IEEE 802.3u-1995) - 100BASE-TXによるツイストペアケーブル通信が代表的。
 USB PD (2012) - 設定データを4b/5b符号化してUSB Type-CのCCピン上にBMC プロトコルを用いて伝送する。

光ファイバ上では、 NRZIを用いて4b/5b符号を伝送する。
FDDI over copper (CDDI) や 100BASE-TX では、ツイストペアケーブル上にMLT-3を用いて4b/5b符号を伝送する。

 変換方式 
以下に変換テーブルの代表的な実装を示す。
データを表現する16種類の符号(シンボル)のほか、制御用のシンボルがFDDIやファーストイーサネットで使われているIEEE 802.3-2022, Section 24.2.2.1 Code-groups。
このビット変換に決まった法則はなく、事前に用意したテーブルによる変換が行われる。これら5ビット符号は左から順に通信路上に送られる。

+ 4b/5bによるデータ変換 データ 5b符号 十六進数  二進数0  0000  111101  0001  010012  0010  101003  0011  101014  0100  010105  0101  010116  0110  011107  0111  011118  1000  100109  1001  10011A  1010  10110B  1011  10111C  1100  11010D  1101  11011E  1110  11100F  1111  11101

+ 4b/5bの制御シンボル シンボル名 5b符号 意味 FDDI 100BASE-X H  00100  Halt (停止)     I  11111  Idle (アイドル状態)     J  11000  Start (開始1)     K  10001  Start (開始2)     L  00110  Start (開始3)     P  00000  Sleep (EEE用途)     Q  Quiet (Loss of signal)     R  00111  Reset     S  11001  Set     T  01101  Terminate (終了)    

制御シンボルを複数組み合わせて以下のように制御シーケンスとして使うことがある。

+ FDDI・イーサネットで用いる制御シーケンス シンボル名 5b 符号 用途 JK 11000 10001 開始デリミタ TT 01101 01101 終了デリミタ(FDDI) TR 01101 00111 終了デリミタ(Fast Ethernet)

+ USB PDで用いる制御シーケンスUniversal Serial Bus Power Delivery Specification rev.3.2 (2023-10), Section 5.6.1. Packet Framing シンボル名 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   終了デリミタ

 出典 

 外部リンク 
 Simulator - 4B/5B Encoder line written in Matlab

Category:伝送路符号