9.1 概要
1. SpaceWire-PTPを用いたSubnetwork serviceは、以下のサービスを提供可能である。
(a) Packet Service
(b) Synchronization Serviceに必要な時刻情報の配信
2. SpaceWire-PTPを用いたSubnetwork serviceでは送達確認、再送制御、セグメンテーショ ンは実施しない。これらの機能が必要な場合は、SpaceWire-RによるSubnetwork serviceを 採用するか、上位層(SM&C層等)で別途規定すること。
3. データ伝送のリアルタイム性保証、パケット転送の遅延時間の最悪値保証が必要な場合は、
TimeCodeを用いた時分割制御(§4)を下位の層として利用すること。
4. Memory Access Serviceは提供しない。Memory Access Serviceが必要な場合は、 SpaceWire-RMAPを用いたSubnetwork serviceを利用するか、上位層で通信手順を規定すること。
5. SpaceWire ネットワークのトポロジとリンクレートを設計する際は、各機器から送出され
るCCSDS Space Packetのデータ量を十分に伝送可能な通信経路と帯域を確保すること。
9.2 Packet Service
SpaceWire-PTPを用いたPacket Serviceでは、SpaceWire-PTPの規定に基づいてCCSDS Space Packet をSpaceWireパケットにカプセル化し、ノード間で SpaceWireパケットとして伝送する。
9.2.1 Packet Service の規定
1. 伝送するデータ形式はCCSDS Space Packetとすること。
2. CCSDS Space Packetを送出する機器は、上位アプリケーションからの要求に基づいてCCSDS Space Packetを、指定された宛先情報(SpaceWireパスアドレスとロジカルアドレス)を付与 してSpaceWireパケット化し、送出すること。
補足 名称が似ているが、「SpaceWire-PTPで規定されるCCSDS Packet Transfer Service(適 用文書4の§5.2)」を利用して、「CCSDS SOIS Subnetwork serviceのPacket Service を実現する」ということに対応する。
3. CCSDS Space Packetを受信した機器では、上位層で規定された動作を実行すること。
例 衛星制御装置からのTC Packetを受信した機器は、そのTC Packetを実行する。
例 センサ機器からのTM Packetを受信したマスメモリは、そのTM Packetを記録領域に書 き込む。
9.2.2 Packet Service のパラメタ
データ生成量と宛先
各機器において生成/送出されるCCSDS Space Packetのパケット長、頻度、宛先。
CCSDS Space Packetの最大長
機器間を伝送されるCCSDS Space Packetの最大長。
CCSDS Space Packet送出のタイミング
(TimeCode を用いた時分割制御(§4)を採用する場合)各機器がどのタイムスロットでどの
宛先へのパケットを送出するか。
9.3 Synchronization Service での時刻情報の配信
SpaceWire-PTPを用いたSynchronization Serviceでは、SpaceWire Timecodeでは同期でき ない時刻情報を、時刻マスタ機器から各機器に配信する機能を提供する。
9.3.1 時刻情報配信の規定
1. 時刻情報はCCSDS Unsegmented Code (CUC)形式とすること。
2. 伝送されるCCSDS Unsegmented Code (CUC)は、次のSpaceWire Timecode=0のタイミング での時刻情報とすること。
3. CCSDS Unsegmented Code (CUC)を受信したノードでは、受信した時刻情報をもとに、
SpaceWire Timecode=0 のタイミング、もしくは機器内部で規定したタイミングで内部の時 刻情報を更新すること。
4. SpaceWire の仕様上、複数機器への同時配信はできない。時刻マスタ機器は時刻配信対象
となる機器ごとに独立のSpaceWireパケットを生成し、SpaceWire-PTPで送付すること。
9.3.2 時刻情報配信のパラメタ
時刻情報を送信する対象機器
SpaceWireネットワークに接続される機器のうち、どの機器に時刻情報の配信を行なうか。
各機器への時刻情報送信のタイミング
(TimeCode を用いた時分割制御(§4)を採用する場合)各対象機器宛に CCSDS Unsegmented Code (CUC)を送信する周期と位相(タイムスロット)。
第 10 章 SpaceWire-R による Subnetwork service SpaceWire-R による Subnetwork service
10.1 概要
1. SpaceWire-Rを用いたSubnetwork serviceは以下のサービスを提供可能である。
(a) Packet Service
(b) Synchronization Serviceに必要な時刻情報の配信
2. SpaceWire-Rを用いたSubnetwork serviceでは、SpaceWire-Rプロトコルが提供する機能 により送達確認、再送制御、セグメンテーションが自動的に実施される。
3. データ伝送のリアルタイム性保証、パケット転送の遅延時間の最悪値保証が必要な場合は、
TimeCodeを用いた時分割制御(§4)を下位の層として利用すること。
4. Memory Access Serviceは提供しない。Memory Access Serviceが必要な場合は、 SpaceWire-RMAPを用いたSubnetwork serviceを利用するか、上位層で通信手順を規定すること。
5. SpaceWire-Rによる通信では、SpaceWire-RMAP/SpaceWire-PTPよりも設定すべきパラメタ が多く存在する。設計・検証・運用の信頼性を高めつつ工数を削減するため、システム設計 の段階で§10.2.2 や§10.3.2 で提示された事項を考慮し、ICD 等で共有して理解の齟齬が 発生しないよう注意すること。
推奨 SpaceWire-Rプロトコルを用いた通信は、センサ機器とマスメモリの間や、マスメモリと ダウンリンク装置の間等、peer-to-peer接続に近いトポロジにおいて適用することを推奨 する。これは、SpaceWire-Rプロトコルによる通信では、セグメンテーションやAcknowledge、
再送制御によりSpaceWire 層での帯域使用効率や再送発生時のパケット伝送の遅延時間増 大の計算が複雑化するためである。多数の SpaceWire ルータで構成される大規模な SpaceWire ネットワーク全体で SpaceWire-R プロトコルを使用して設計検証を実施するこ とは多数の工数がかかると予想される。peer-to-peerに近いトポロジでは、性能の見積も りは比較的容易であり、本設計標準でもハンドブックとして具体的な性能パラメタを提示 する(関連文書)。
10.2 Packet Service
SpaceWire-R を用いたPacket Service では、SpaceWire-Rの規定に基づいてService Data Unitをノード間でSpaceWireパケットとして伝送する。
10.2.1 Packet Service の規定
1. 伝送するデータ形式はService Data Unitである。
2. 送出側では、上位アプリケーションの Space Packet 送信要求をうけて、指定された SpacePacketを送出すること。
例 衛星制御装置からのTC Packetを受信した機器は、そのTC Packetを実行する。
例 センサ機器からのTM Packetを受信したマスメモリは、そのTM Packetを記録領域に書 き込む。
10.2.1.1 Packet Serviceの通信手順
図10.1にSpaceWire-RによるPacket Serviceの通信手順を示す。
10.2.2 Packet Service のパラメタ
SpaceWire-Rの設計パラメタ
適用文書5で示される設計パラメタ群。
データ生成量と宛先
各機器において生成/送出されるService Data Unitのパケット長、頻度、宛先。
通信チャネルのOPEN/CLOSEのタイミング
各通信チャネルをOPEN/CLOSEする際のタイミング。
例 電源投入後、自動的にTransmit TEPのステートマシンをClosedステートからEnabled ステートに状態遷移し、常時OPENコマンド送出。
例 SpaceWire-RMAP や SpaceWire-PTP による Packet Service(もしくは Memory Access Service)で、Transmit TEPを管理する上位アプリケーションを制御して、Transmit TEP のステートマシンをClosedステートからEnabledステートに状態遷移させる。
Transmit TEP/Receive TEPのパラメタ設定方法
各Transmit TEPに、Receive TEPのSpaceWireアドレス/チャネル番号を設定する方法。各 Receive TEPに、OPENコマンドを受け付けるTransmit TEPの情報(チャネル番号、SpaceWire ロジカルアドレス等)を設定する方法。
Service Data Unitの最大長
機器間を伝送されるService Data Unitの最大長。
Service Data Unit送出のタイミング
(TimeCode を用いた時分割制御(§4)を採用する場合)各機器がどのタイムスロットでどの
宛先へのパケットを送出するか。
10.3 Synchronization Service での時刻情報の配信
SpaceWire-Rを用いたSynchronization Serviceでは、SpaceWire Timecodeでは同期できな い時刻情報を、時刻マスタ機器から各機器に配信する機能を提供する。
10.3.1 時刻配信の規定
1. 時刻情報はCCSDS Unsegmented Code (CUC)形式とすること。
2. 伝送されるCCSDS Unsegmented Code (CUC)は、次のSpaceWire Timecode=0のタイミング での時刻情報とすること。
3. CCSDS Unsegmented Code (CUC)を受信したノードでは、受信した時刻情報をもとに、
SpaceWire Timecode=0 のタイミング、もしくは機器内部で規定したタイミングで内部の時 刻情報を更新すること。
補足 SpaceWire-Rでは、再送を伴う可能性がある。CUCの送信はTimeCode=0のタイミング に対して最大再送回数分のマージンを持った設計とすること。
4. SpaceWire の仕様上、複数機器への同時配信はできない。時刻マスタ機器は時刻配信対象
となる機器ごとに独立のSpaceWireパケットを生成し、SpaceWire-Rで送付すること。
5. Synchronization Service を利用する場合は、SpaceWire-R のセグメントサイズは CCSDS Unsegmented Code (CUC)を1セグメントとして伝送できるサイズ以上にすること。
10.3.1.1 時刻配信の通信手順
SpaceWire-Rを用いた時刻配信の通信手順は、図10.1と同様。受信側では、CCSDS Unsegmented Code (CUC)を受信したあとで時刻情報の更新処理が追加される。
10.3.2 時刻配信のパラメタ
SpaceWire-Rの設計パラメタ
適用文書5で示される設計パラメタ群。
通信チャネルのOPEN/CLOSEのタイミング
各通信チャネルをOPEN/CLOSEする際のタイミング。
例 電源投入後、自動的にTransmit TEPのステートマシンをClosedステートからEnabled ステートに状態遷移し、常時OPENコマンド送出。
例 SpaceWire-RMAP や SpaceWire-PTP による Packet Service(もしくは Memory Access Service)で、Transmit TEPを管理する上位アプリケーションを制御して、Transmit TEP のステートマシンをClosedステートからEnabledステートに状態遷移させる。
Transmit TEP/Receive TEPのパラメタ設定方法
各Transmit TEPに、Receive TEPのSpaceWireアドレス/チャネル番号を設定する方法。各 Receive TEPに、OPENコマンドを受け付けるTransmit TEPの情報(チャネル番号、SpaceWire ロジカルアドレス等)を設定する方法。
時刻情報を送信する対象機器
SpaceWireネットワークに接続される機器のうち、どの機器に時刻情報の配信を行なうか。
各機器への時刻情報送信のタイミング
(TimeCode を用いた時分割制御(§4)を採用する場合)各対象機器宛に CCSDS Unsegmented Code (CUC)を送信する周期と位相(タイムスロット)。