【4】第2層 PTP メッセージ/【5】Peer-to-Peer メカニズム/【6】2ステップクロック
BMCA で時刻基準となる 「GM」 が決定し、時刻同期をとる領域である「クロックドメイン」と時刻情報の「配信経路」が確定した。すべての条件が揃ったところで、いよいよ時刻同期がとれる。
時刻同期をとる手法は2種類ある。Peer-to-Peer(P2P)と End-to-End(E2E)だ。図1 の P2P は伝送路上の全ての通信装置と末端のノードとの「時刻同期」をとる。これに対し、図2 の E2E は途中伝送路の時刻同期は取らず通過し、末端のノードとの時刻同期をとる。Ethernet TSN は本来 の目的(第2層スイッチの時刻同期)に適した P2P を採用し、E2E はサポートしていない。
P2P 同期メカニズムは、先ず Grand Master が次段 BC の時刻同期を取り、次に時刻同期がとれた BC が更に次段 BC の時刻同期をとる。これを順次末端まで繰り返し、最終段まで時刻同期をとる。 時刻同期をとる Sync Message を BC でいったん終端し、順次リレーされるイメージだ。
E2E 同期メカニズムは、GM または上位 TC から受け取った Sync Message に内部遅延時間を追記し、次段に送信する。TC は時刻同期を取らない。
もう一つ重要なポイントは、Ethernet TSN の伝送路は「第2層」のみをサポートし、ルータでのサブ ネット分割をサポートしていないことだ。理由は、車載ネットワークや産業オートメーション分野での優先事項は、シンプル・高速・低コストだと考えているためだ。ルーティングを行うと、フレーム変換などの処理が増え複雑化するだけではなく、経路構築と経路変更に時間がかかるためリアルタイム性が損なわれるためだ。
BMCA で GM が決まり、時刻配信経路とクロックドメインが決まった段階では、GM/BC/End Node の時刻は一致していない。最上位の GM を起点に、順次下位の BC や End Node の時刻を合わせなければならない。図3 のような状態だ。2台の装置間の伝送路には、相応の伝送遅れがある。伝送路の遅れは一様ではなく、実測する以外に方法はない。一般的にメタルの伝送路は、1m当たり5ナノ秒ほどの遅れがあり、100mの UTP ケーブルでは 500ナノ秒程度の伝送遅れがある。光ファイバーでも、1m当たり3ナノ秒程度は遅れる。2000mのファイバーであれば、6マイクロ秒の遅れがある。1マイクロ秒の時間誤差を実現する上で、無視できない時間だ。
伝送路の遅れも含め、時刻を補正する方法が必要だ。ただし、図3 の送信遅延と受信遅延を個別に測定することはできないため、「送信遅延と受信遅延は同じ」とみなし時刻補正を行う方法が一般的だ。gPTP では、次の4つの Sync メッセージで時刻補正を行う。
- Sync Message
- Follow_Up Message
- Delay_Req Message
- Delay_Resp Message
図4 は gPTP がサポートする 2step PTP 同期シーケンスだ。gPTP は、4種類のメッセージと4種類の時刻を使い時刻同期をとる。マスタークロックは Sync Message をスレーブクロックに送信し、メッセージ送信時にタイムスタンプ t1 を記録する。スレーブクロックがこのメッセージを受信すると、スレーブクロックも到着時刻 t2 を記録する。マスタークロックは、記録した t1 を含む Follow_Up Message をスレーブに送信する。スレーブは Delay_Req Message をマスターに送信し、送信時刻 t3 を記録する。マスターはこのメッセージを取得すると、受信時刻 t4 を記録し、その値をDelay_Resp Message でスレーブに送り返す。スレーブクロックは、マスターに対するオフセット値(時刻ズレ)と、2つのクロック間の伝搬遅延時間を計算するために使用する4つの時刻をすべて手に入れた。t1 と t4 は上位のマスタクロック時刻で、 t2 と t3 は下位のスレーブクロック時刻だ。オフセット値と伝搬遅延時間の計算方法は、この後説明したい。
図5 は 1step PTP 同期シーケンスだ。1step と 2step の違いは、t1 時刻を送るタイミングだ
1step では Sync Message と同時に t1 時刻を送る。このためSync Message を送り出す瞬間の時刻 を記録し、送信中の Sync Message に書き込まなければならない。1step は通信回数を削減できるが、ハードウェアでの高速処理が必要になりコストアップを招く可能性がある。コストに敏感な車載ネットワークや産業分野で使用するgPTP は、実現が容易な 2step を採用した。
gPTP のような高精度時刻同期では、フレームの送受信時刻であるタイムスタンプを採取するタイミングが厳密に規定されている。gPTP のベースである IEEE1588 では、「フレームのMACヘッダの先頭が装置と回線の境界を越えた時」と規定している。送信時は図6(A)の様に、プリアンブルに続く SFD と MAC ヘッダの先頭である宛先 MAC アドレスの境界でタイムスタンプを採取する。受信時も同様に、SFD と MAC アドレスの先頭との境界が通過するタイミングでタイムスタンプを採取する(図6(B))。
1ステップクロックでは、PHY(第1層/物理層)で採取したタイムスタンプを送信中 SYC フレームの送信時刻設定領域に書き込まなければならない(図7)。処理の複雑さだけではなく処理時間も厳しい。gPTP が 1Step をサポートせず、2Step を採用した理由はここにある。
IEEE1588 では、タイムスタンプの採取タイミングを「フレームのMACヘッダの先頭が装置と回線の境界を越えた時」と規定しているが、物理層 LSI の修正が必要だ。実際は、MII 等の PHY-MAC 間インタフェースや、MAC処理層の中で採取し、物理層の出入り口までの時間を補正する方法がとられる。補正値が一定ならば、高い精度の送受信時間を得ることができる。
送信時は、フレーム処理部や PHY-MAC 間インタフェースで取得した「仮のタイムスタンプ (ta)」に実際の「送信タイムスタンプとの差分(⊿ts)」を加算することで計算できる(図8)。 受信時は逆に、フレーム処理部や PHY-MAC 間インタフェースで取得した「仮のタイムスタンプ(tb)」から実際の「受信タイムスタンプとの差分(⊿tr)」を減算することで計算できる(図9)。
オフセット値と伝搬遅延時間の計算
スレーブクロックのマスタークロックに対するオフセット時間(時間進み/遅れ)が分かると、スレーブの時刻を同期(補正)できる。マスター・スレーブ間の遅延時間が分かるとエンドノード迄の遅延時間が計算できる。図4、図5 の t1~t4 の時間で、オフセット時間と遅延時間が計算できる。
前提条件は、マスター/スレーブ間の遅れ時間は送信・受信とも同じとし(図10 : tMS=tSM )、平均値を遅延時間とする。オフセット時間計算式、オフセット時間または遅延時間を使ったスレーブの補正時刻の計算式は、下記の通りだ。
スレーブのオフセット時間は、進み方向を+、遅れ方向をーとする。 𝐭𝐌𝐒 は進み方向のオフセット、 𝐭𝐒𝐌 は遅れ方向のオフセットになる。
- 𝐭𝐌𝐒 = t2 – t1 =(遅延時間+オフセット時間)
- 𝐭𝐒𝐌 = t4 – t3 =(遅延時間ーオフセット時間)
- (𝐭𝐌𝐒 + 𝐭𝐒𝐌)/2 = ((遅延時間+オフセット時間)+(遅延時間ーオフセット時間))/2 =遅延時間
- (𝐭𝐌𝐒 – 𝐭𝐒𝐌)/2 = ((遅延時間+オフセット時間)-(遅延時間ーオフセット時間))/2 =オフセット時間
遅延時間(Delay)、オフセット時間(Offset)と補正時刻は、図10 の計算式になる。
図11 の構成例で、時刻同期の流れを説明する。GM は、1秒に1回 Sync Message とこれに続く Follow_Up Message を下位層に送信する。これらを受信した下位層の BC は、更に次段の BC や OC にメッセージを転送する。最終段である OC に到達するまで繰り返される。
図11 は GM を頂点に4つの階層で構成されるため、図12 のタイミングで同期信号は順次転送され、時刻同期を維持する。オフセット時間や遅延時間を補正する Delay_Req は、Sync/Follow_Up メッセージと同程度の頻度で起動する。gPTP では明確なサイクル時間の規定がないが、Sync Message と同程度の頻度で起動される。
表1 は、各種時刻同期パラメータ概要の一覧で、赤枠内がIEEE802,1AS(gPTP)だ。
Default | G.8265.1 | G.8275.1 | G.8275.2 | Power | IEEE802.1AS | SMPTE2059-2 | Enterprise | |
---|---|---|---|---|---|---|---|---|
規格団体 | IEEE | ITU-T | ITU-T | ITU-T | IEEE | IEEE | SMPTE | IETF |
主要用途 | ー | テレコム | テレコム | テレコム | 電力 | 産業 | 映像・放送 | 金融 |
Transport Mechanism | L2/L3 | L3 | L2 | L3 | L2 | L2 | L3 | L3 |
通信方式 | multicast | unicast | multicast | unicast | multicast | multicast | multicast | unicast/multicast |
Message Rate | ||||||||
(1)Sync & Followup | 1/秒 | 128/秒~1/16秒 | 16/秒 | 128/秒~1/秒 | 1/秒 | 1/秒 | 1/秒 | 1/秒 |
(2)Req/Res | Not Fixed | 128/秒~1/16秒 | 16/秒 | 128/秒~1/16秒 | None | Not Fixed | Not Fixed | 1/秒 |
(3)Announce | 1/2秒 | 8/秒~1/16秒 | 8/秒 | 8/秒~1/秒 | 1/秒 | 1/2秒 | 1/2秒 | 1/秒 |
PTP方式 | E2E/P2P | E2E | E2E | E2E | P2P | P2P | E2E | E2E |
Domain Number | 0 | 4~23ange | 24(24~43range) | 44(44~63range) | 0(0~127range) | 0 | 127(0~127range) | 4~127 |
Priority1 | 128 | Not used | 128 | 128 | 128(slave:255) | 128 | 128(0~255range) | 0~126 |
Priority2 | 128 | Not used | 128(1~255range) | 128(0~255range) | 128(slave:255) | 128 | 128(0~255range) | 127 |
IEEE802.1AS の Announce Message :連続2回消失でタイムアウト/Sync Message:連続3回消失でタイムアウト Delay_Req Message 送信間隔は、特に規定はないが他のプロファイルでは Sync Message と同程度
Ethernet TSN
-
3.Ethernet TSN
Ethernet TSN(1)イーサネットの歴史〜 LAN と基幹網の主役になるイーサネット・フィールドネットワークの変遷
LAN と基幹網の主役になるイーサネット イーサネットは、登場以来競争の歴史だ(図1)。1980年2月 IEEE802 規格が正式に決まり、イーサネットは始まった。IEEE802 の名称はこの会議の開催日に由来する。登場 […] -
3.Ethernet TSN
Ethernet TSN(2)Ethernet TSN の狙い
Ethernet TSN の狙いは明確だ。インターネットや各種クラウドサービスから、IoT の様々なデバイスまでをシームレスにカバーすることだ(図1 参照)。 しかし、Ethernet TSN が新たな産業用イーサネット […] -
3.Ethernet TSN
Ethernet TSN(3)キーポイント:時分割多重の概要
Ethernet TSN のキーポイントは、サイクル時間や遅延時間に敏感な制御データ、伝送帯域に敏感な映像や音声などのストリーミングデータと再送を許容できる Best Effort データの混在を実現することだ。もちろん […] -
3.Ethernet TSN
Ethernet TSN(4)時分割多重における時刻精度
【1】1マイクロ秒以下の時刻精度 時分割多重を実現するためには、スイッチなどの伝送装置や、システム構成によっては送受信ノードの時刻同期が必要だ。同じ時刻に全てのスイッチやノードが、一斉に時間帯を切り替えることで時分割多重 […] -
3.Ethernet TSN
Ethernet TSN(5)時分割多重における時刻基準と配信経路
【2】BMCA/【3】クロックドメイン 通信機器やノードの時刻同期をとる前に、必要なことが2つある。時刻同期の基準時間となる「グランドマスタ(GM)」の選択と、時刻同期の配信経路を確定しクロックドメイン(時刻同期の範囲) […] -
3.Ethernet TSN
Ethernet TSN(6)時分割多重における時刻同期メカニズム
【4】第2層 PTP メッセージ/【5】Peer-to-Peer メカニズム/【6】2ステップクロック BMCA で時刻基準となる 「GM」 が決定し、時刻同期をとる領域である「クロックドメイン」と時刻情報の「配信経路」 […] -
3.Ethernet TSN
Ethernet TSN(7)GPS 四方山話!?
カーナビでおなじみの位置情報を提供する衛星を「GPS」とか「GPS衛星」と一般的には呼んでいる。しかし、GPS は米国が打ち上げた衛星のことだ。米国はいち早く、軍用や航空機・船舶等の航法支援用として衛星を打ち上げ、サービ […] -
3.Ethernet TSN
Ethernet TSN(8)時分割多重におけるプリエンプションの概要
工場や物流現場の様々な機械やロボットを期待通りに動かすためには「ハード・リアルタイム」が欠かせない。Ethernet TSN は、ハード・リアルタイムを実現する基本的な仕組みとして、時刻同期による時分割多重を導入した。一 […] -
3.Ethernet TSN
Ethernet TSN(9)プリエンプション機能追加と従来機器との互換性
イーサネットフレームの変更は久しぶりだ。1988年に IEEE802.1Q-1988 に VLAN が追加されて以来だ。VLAN 追加での一番の懸念事項は、フレーム長が4バイト長くなり長さ制限でフレームが廃棄される恐れが […] -
3.Ethernet TSN
Ethernet TSN(10)プリエンプション機能追加と各フラグメント
プリエンプションは、分割した最初のフレームを「開始フラグメント」、その後に幾つかの「継続フラグメント」が続き、最後に「最終フラグメント」になる構造だ。開始/複数の継続/最終フラグメントを順序を含め識別するコードを埋め込み […] -
3.Ethernet TSN
Ethernet TSN(11)プリエンプション機能追加
開始フラグメント、継続フラグメントと最終フラグメントの構造はお話しした。開始フラグメントの SMD-Sx 、SMD-Cx とFragment Count の8ビットの不思議な数値について説明する。 SMD-Sx 図1 の […] -
3.Ethernet TSN
Ethernet TSN の QoS(1)IntServ(イントサーブ)
Ethernet TSN の QoS 体系での位置づけは図1 のようになっていて、優先制御と帯域制御を組み合わせることで、リアルタイム性を実現している。優先制御は SPQ(Strict Priority Queueing […] -
3.Ethernet TSN
Ethernet TSN の QoS(2)Ethernet AVB 登場
従来のアナログ AV 機器は、ほぼ全ての機器を 1対1 でケーブル接続することが常識だ。しかも、ケーブルやコネクタ規格はインタフェースごとに異なるため、オーディオ機器の背面には多くのコネクタがあり、様々なケーブルが這いま […] -
3.Ethernet TSN
Ethernet TSN の QoS(3)IEEE 802.1Qat:SRP / 配信手順
SRP(Stream Reservation Protocol:ストリーム予約プロトコル)は、ストリームの配信経路を確定し、経路上のスイッチやエンドステーション(映像表示装置など)の帯域確保と最悪時の遅延時間の確認を行う […] -
3.Ethernet TSN
Ethernet TSN の QoS(4)IEEE 802.1Qat:SRP / MSRP 動作とストリーム配信の可否判断
ネットワーク構成を単純化したモデルで、改めて MSRP の動作と Talker と Listener が送信する各種パラメータを説明したい。 図1 はMSRP 説明モデルで、次の要素からできている。全ての要素には MSR […] -
3.Ethernet TSN
Ethernet TSN の QoS(5)IEEE 802.1Qat:SRP / MSRP 属性
Asking、Advertise、Ready メッセージを交換することで、Talker/Listener 間の帯域や遅延時間などの QoS リソース確保を行うことはすでに説明した。これら以外にも、Talker/Liste […] -
3.Ethernet TSN
Ethernet TSN の QoS(6)その他時間帯の QoS:SPQ(絶対優先)
Ethernet TSN は、ハードリアルタイムが必要な工作機械などの制御データとその他のデータの時間帯を分けている。制御データが収まる「CDT専用時間帯」は、従来のフィールドバス同様に厳密なタイミングやデータ量設計を行 […] -
3.Ethernet TSN
Ethernet TSN の QoS(7)その他時間帯の QoS:Credit Based Shaper(帯域制御)
CBS( Credit Based Shaper)の基本動作原理は、リーキーバケットモデルだ。図1 の様に、蛇口から注いだ水がバケツの穴から常に一定量漏れ出すモデルだ。さらに細かく分類すれば「 Leaky bucket […] -
3.Ethernet TSN
Ethernet TSN の QoS(8)全体動作検証
Ethernet TSN は、制御データを確実に伝送する「CDT 専用時間帯」と、プロトコル制御データ(gPTP、SRP 等)、映像ストリームやファイルなどの Best Effort データを伝送する「その他時間帯」に分 […]