基礎から学ぶ車載 Ethernet 技術(5)「10BASE-T1S」 4B5B/DME/PAM2 変換 / フレーム構造

4B5B/DME/PAM2 変換

汎用 Ethernet の 10BASE5/2/-T は、伝送路上のフレーム間ギャップは無信号状態になっている。これは、1本の伝送路を複数ノードで共有する方式のため、信号の衝突を避けるためにはデータを送信していない期間を無信号にしなければならないからだ。

車載 Ethernet の 10BASE-T1S も同じようにフレーム間ギャップが無信号になっている。1本の伝送路を複数ノードで共有する「マルチドロップ(バス構造)」を実現するためには、データの衝突を回避できる無信号にしなければならないからだ。また、放射妨害波を減らし、省エネルギー化を図るためにも、フレーム間ギャップを無信号にした方が有利だ。

4B5B 符号変換であれば、 100BASE-TX の様にフレーム間ギャップを「1」の連続信号にすることもできる。フレーム間ギャップを「1」の連続信号に設定することは、スクランブラを解除する上で必須の処理だ。しかし、 10BASE-T1S はスクランブラが無いため、フレーム間ギャップで「1」の連続信号を送る必要はない。

汎用 Ethernet の 10BASE5/2/-T では、フレームの開始をプリアンブル信号で検出し、プリアンブルの最後に付加される SFDStart Frame Delimiter)でフレーム有効データの先頭を知ることができる。無信号に変わることでフレームの終了を検出する。

10BASE-T1S では、 4B5B 符号変換によりフレームの開始と終了を 4B5B 制御コードで検出する方式に変えた。この検出方法は、汎用 Ethernet の 100BASE-TX と同じだ。フレーム有効データの先頭を SFD で検出する方法は変わらない。

4B5B 変換は 4ビットデータを5ビットシンボルに変換する方式だ。この5ビットシンボルの中には少なくとも1個の「1」と「0」があり、4ビット以上「0」が連続しない。この特性は「埋込クロック同期」や「AC結合」に都合がよく、技術的にも確立しているため 10BASE-T1S でも採用された。また、この5ビットシンボルは、「1」や「0」が数個連続するように設計され「1010101010」の様な周波数が高くなるようなパターンを避けている。この点でも、限られた周波数帯域の撚対線に都合が良い方式だ(「表1 4B5B 符号変換表」参照) 。

4B5B 変換は、汎用 Ethernet の 100BASE-TX でも採用されたお馴染みの符号変換方式(100BASE-TX と同じ)でもある。

表1 4B5B 符号変換表
表1 4B5B 符号変換表

4B5B 変換は、オリジナルの 4 ビットデータを 5 ビットに変換することで、置き換え候補が 2 倍に増える。この中から適切なコードを選択することで、「1」や「0」の過度な連続を防ぎ、適度に信号反転が起きるコードを選ぶことができる。半面、データ量が増えるため伝送周波数が高くなる欠点がある。

4B5B 符号変換では、 4 ビットデータの 0000 ~1111 までを 5 ビットの「データコード」に変換する。「データコード」以外に「制御コード」がある。

制御コードは次の 7 種類がある。

I(SILENCE):フレーム間ギャップ、実際は無信号になる
J(SYNC):フレーム開始符号の先頭
K(SSD):フレーム開始符号の2番目
T(ESD):フレーム終了符号の先頭
R(ESDOK):フレーム正常終了符号
H(ESD):フレームエラー終了符号
N(BEACON):PLCA 制御ビーコン

図1 DME/PAM2 変換例」は、 送信時の DME/PAM2 変換例だ。フレーム間ギャップの無信号状態から、フレーム開始を示す J/K コードを送信し、再びフレーム間ギャップの無信号状態に戻る例だ。 この例では、最初は SSD のため MAC からの受信はなく、PHY で J/K コードを作る。次に、プリアンブルを PHY で追加した後、MAC から MII サイクル毎に 4 ビットデータを受け取る。この 4 ビットデータは 4B5B 変換され 5ビットデータになる。送信時の DME/PAM2 変換は次のような手順になる。

図1 DME/PAM2 変換例
図1 DME/PAM2 変換例

送信データは LSB から順次送信する。「送信データ」は右端が LSB 表記のため、反転したように見える。MII では 1 ビット当たりの伝送速度は 10MHz だが、4B5B 変換のため伝送路上では 1.25 倍(5 ÷ 4=1.25)の 12.5MHz で送信される。「送信データ bit 列」は、DME 変換される。DME 変換ルールは次のようになっている。

  • 「0」は DME サイクル内で変化せず、サイクル終了時点で反転。
  • 「1」は DME サイクル内で変化(立上り/立下り)。サイクル終了時点で反転。直前の状態が High ならば立下り、直前の状態が Low であれば立ち上がり。
  • DME 変換はサイクル毎に信号反転が発生するため、埋込クロックとしては理想的な符号化方式。
  • DME サイクル周波数は 12.5MHz。「1」が連続した場合が最も周波数が高い。

DME 変換されたデータは PAM2 に変換される。PAM2 変換ルールは次のようになっている。

  • 信号レベルは「+1V」と「-1V」の 2 値データ。
  • 信号の High/Low に意味はなく、サイクル内の反転が無い場合は「0」、反転がある場合は「1」。

最終的に PAM2 信号を作るためには、12.5MHz の 2 倍の周波数(25MHz)が必要になる。

フレーム構造

図2 10BASE-T1S 物理層フレーム構造」の様に、送信時にプリアンブルの最初の 8ビットを「表1 4B5B 符号変換表」の J/K コードペア( 11000 10001)に置き換えることで、フレーム先頭(プリアンブル開始)を検出できるように変えた。 J/K コードペアを SSDStart of Stream Delimiter)と呼ぶ。これに続くプリアンブルは SSD 追加により 1 バイト短くなる。その後は、フレーム本体の 4 ビット(ニブル)データを、5ビットの「データコードグループに」に順次置き換える。フレーム末尾 FCS の送信が完了すると、フレームの終わりを示す T/R コードペア( 01101 00111)を挿入する。 T/R コードペアを ESDEnd of Stream Delimiter)と呼ぶ。エラーフレームを送信する場合は、フレームの終わりを示す T/H コードペア( 01101 00100)を挿入する。

図2 10BASE-T1S 物理層フレーム構造
図2 10BASE-T1S 物理層フレーム構造

受信ノードは J/K コードペアでフレームの開始を検出し、 T/R コードペア(または T/H コードペア)を受信することで、フレームの終了を知ることができる。T/R コードペア送信後から次の送信フレームが検出されるまで の間は IFGInter Frame Gap:フレーム間ギャップ)で無信号状態になる。 ESD と無信号期間を合わせた長さは 12バイト(96ビット)以上で、従来の 10BASE5/2/-T の最小ギャップ長と同じ長さになる。

基礎から学ぶ車載 Ethernet

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。