基礎から学ぶ車載 Ethernet 技術(6)「10BASE-T1S」 PLCA

PLCA

10BASE-T1S のマルチドロップ環境(Mixing Segment)では、複数ノードが半 2重通信でバス接続される。複数のノードが同時に通信を開始しようとした場合に衝突回避のため、衝突回避機能 PLCAPHY Level Collision Avoidance)を実装している。PLCA は従来の CSMA/CD や TDM(時分割多重)と比較し帯域を有効に活用することが狙いだ。

PLCA はオプションのため実装されないことがある。この場合は、従来型の CSMA/CD で衝突を回避する仕組みになっている。 Mixing Segment は、25m の伝送路と最大 8台までのノード接続をサポートしている。

PLCA 機能は、MDIO 等の管理インタフェースを介して上位の管理デバイスが各ノードに固有の「ID」を設定し、「ID」に基づいて送信機会を順番に与える制御を行う。つまり、Mixing Segment 動作開始前に「ID」を確定し、動作を開始する。稼働中に、動的に「ID」の追加削除変更を行うことはできない。

各ノードの送信機会はラウンドロビン方式で決まり、「ID」 0→1→2 ——– →N→0 の順序で送信権が循環する仕組みだ。各ノードは自分自身が送信権を持っているときのみ送信を開始するることができる( 「図1 送信権循環」 )。

全体を制御する Coordinator(マスターとも言う)には「ID」 0 が与えられ、送信機会は「ID=0」の Coordinator から始まる。

図1 送信権循環
図1 送信権循環

Coordinator は、Beacon と呼ばれる全ノードへの同期信号を送信しタイマー( TO_TIMER )をリセットし PLCA サイクルを開始する。PLCA サイクルは Beacon に続く 0→1→2 ——– →N→0 の順序で各 2μ秒(20 クロックサイクル)の時間幅が設定される。各ノードは自分自身の「ID」と一致する時間帯に送信を開始することができる。 Coordinator は巡回時間を設定するため、事前に全ノード数を知っている必要がある。このノード数も管理インタフェース経由で事前に Coordinator に設定する。 Drop node は全ノード数を知る必要はなく、自分自身の「ID」がわかっているだけでよい。

送信機会を得たノードはフレーム送信を開始する。もちろん、Ethernet は可変長フレームのため送信時間は一定ではない。送信が完了するまでの間、他のノードはタイマー(TO_TIMER)を停止し送信が完了すると再度タイマーを動かすことで時間ずれを防止している。

送信機会を得たがすぐフレーム送信を開始できない場合は、「Commit 信号」を送り他ノードのタイマーを止め、待たせることもできる。

送信機会を得たが送信データがない場合は、特別な動作をせず割り当てられた時間帯をやり過ごす(スキップ)ことになる。この処置を「Yield:ゆずる」と呼ぶ。

TO_TIMER

Transmit Opportunity Timer 送信制御の基準時計

図2 PLCA サイクル例」は 2つの PLCA サイクルの例だ。

図2 PLCA サイクル例
図2 PLCA サイクル例
  • PLCA サイクル n
    • Coordinator(ID=0)が Beacon を送信しサイクルを開始
    • ID=0 から ID=N までの全てのノードは送信データがない(Yield)
  • サイクル n+1
    • Coordinator(ID=0)が Beacon を送信しサイクルを開始
    • ID=0 は送信データがない(Yield)
    • ID=1 は送信権を得て、即座にフレーム送信
    • ID=2 および ID= 4~n は送信データがない(Yield)
    • ID=3 は、Commit で待たせた後、フレーム送信

図3 タイムスロットとバスサイクル」の様に、PLCA の最小タイムスロットは 2マイクロ秒(20 クロックサイクル)で最大タイムスロットは Commit と最大 Ethernet フレーム送信時間の和になる。Ethernet 最大長フレームは物理層付加部を加えると 1542 バイト(= 12,336 ビット)で 1.2336 ミリ秒になる。

図3 タイムスロットとバスサイクル
図3 タイムスロットとバスサイクル

最小バスサイクルは、Beacon + (最小タイムスロット)×(ノード数)になり、18マイクロ秒になる。最大バスサイクルは、Beacon + (最大タイムスロット)×(ノード数)で、約 9.9ミリ秒になる。

PLCA サイクル時間は、送信フレーム大きさと数に大きく変動する方式だ。

図14 PLCA 動作例」の上図は、定期的に BEACON が送信され PLCA サイクルが始まるが、送信デバイスが居ない状態だ。BEACON 間は Silence が続く。下図は、1台のノードが送信権を使い送信した例だ。この例では ARP Packet を送信している。

図14 PLCA 動作例(出典:TELEDYNE LECROY teledynelecroy.com/doc/10base-t1s-auto-ethernet-tech-brief)
図14 PLCA 動作例(出典:TELEDYNE LECROY teledynelecroy.com/doc/10base-t1s-auto-ethernet-tech-brief)

PLCA は送信権が巡回し確実に送信権をとることができる。しかし、送信権の巡回時間は 18マイクロ秒~ 9.9ミリ秒とばらつきが大きい。リアルタイム性があるとはいいがたい。このばらつきが、過去の Token 方式敗退の原因だ。方や CSMA/CD は初期モデルからアルゴリズムは変わっていないが、遅延時間が大きく変わっている。オリジナルの 10BASE5 では、伝送路が 2500m あり、ノード間の最大遅延時間は 46.38マイクロ秒ある。これに対し 10BASE-T1S の伝送路は 25m しかなく、1/100 に過ぎない。ノード間の最大遅延時間も約 約 1/100 になる。当然、衝突確率も 1/100 程度になる。10BASE-T1S の衝突は起きにくく、意外と性能は良いのではないかと思う。衝突が起きなければ、ネットワーク使用効率やレスポンスは PLCA より優れている。今後の自動車業界の動向を注視したいと思う。

PLCA はリアルタイムか?

PLCA の送信権巡回時間は、最小で 18µ秒、最大で 9.8708m秒と約 3 桁の違いがある。果たしてこれほどのバラツキがある巡回時間を「リアルタイム」と呼ぶのだろうか?

かなり難解で複雑な仕組みを導入した割には、お粗末な結果ではないだろうか? かつて、 同じような送信権巡回アルゴリズムの Token Ring が敗退し、 100VG-Any LAN も敗退した理由はこの辺りにもあった。

30年以上前に、私は 100VG-Any LAN 機器開発と国内の販促責任者だった。複雑で難解な仕組みの割には、リアルタイム性がなく訴求しきれないところがあった。

歴史は繰り返さなければいいがと危惧している。

基礎から学ぶ車載 Ethernet

この記事を書いた人

岩崎 有平

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