1 概要
8.2 Packet Service
8.2.1 マスタトリガ Write サービス
マスタトリガWriteサービスでは、RMAP Writeトランザクションによって、マスタ機器からユ ーザ機器へTC Packet等のService Data Unitを伝送する。
1. ユーザ機器は、マスタトリガWriteサービス用メモリ領域を定義し、RMAPでアクセス可能 にすること。
2. マスタ機器は上位アプリケーションからの要求にもとづいてService Data UnitをRMAP Write
でユーザ機器のマスタトリガWriteサービス用メモリ領域に書き込む事。
3. ユーザ機器は、マスタトリガWriteサービス用メモリ領域にService Data Unitが書き込まれ たことを、上位アプリケーションに通知すること。
4. ユーザ機器内のRMAP Target機能は、Service Data Unitのメモリへの書き込み処理が完了し たらRMAP Replyを返送すること(RMAP WriteコマンドパケットのInstructionフィールドで
Replyが要求されている場合)。
5. マスタトリガWriteサービスについて再送制御を利用するかどうかはシステム設計で規定す ること。再送制御を行なう場合は、8.1.3の規定に従うこと。
6. 再送制御を使用しない場合、RMAP Writeトランザクションにおいて、RMAP Replyを要求す るかどうか、システム設計で規定すること。
7. ユーザ機器内でのRMAP Target機能と上位アプリケーションの間のService Data Unitの受け 渡しはService Data Unitの単位でatomicであること(e.g. RMAP Target機能が内部バスアクセ
スでService Data UnitをCPUのメインメモリに書き込んでいる途中に、その内容をCPUが読
み出すことがないようにすること)。
JERG-2-432
33
マスタ機器 Subnetwork
service user Subnetwork
service provider RMAP イニシエータ
ユーザ機器 RMAP
ターゲット Subnetwork
service provider Subnetwork service user
PACKET_SEND .request
マスタトリガWrite 処理開始
RMAP Write要求
Replyあり
RMAP Write Command RMAP Writeコマンド
発行完了通知
SDU受信通知 SDU処理
PACKET_RECEIVE .indication RMAP Write Reply
Status = Success RMAP Write
結果通知
マスタトリガWrite 処理完了
図8.1: 再送制御が発生しない場合のマスタトリガWriteサービスのRMAPトランザクション。再 送制御を使用しない場合でも、InstructionフィールドでReplyが要求されていれば、RMAP Target
側はRMAP Write Replyを返送する。
8.2.1.1
マスタトリガ
Writeサービスのトランザクションの流れ
図8.1に、再送制御無しのマスタトリガWriteサービスのRMAPトランザクションの流れを 示す。
図8.2に、再送制御有りのマスタトリガWriteサービスで、再送が発生しない場合のRMAPトラ ンザクションの流れを示す。
図8.3に、再送制御有りのマスタトリガWriteサービスで再送が発生し、1度目の再送でトラン ザクションが成功した場合のRMAPトランザクションの流れを示す。
図8.4に、再送制御有りのマスタトリガWriteサービスで再送が発生し、規定回数(n)の上限ま で再送を実施してもトランザクションが完了しなかった場合の流れを示す。
8.2.1.2
マスタトリガ
Writeサービスについてのパラメタ
タイムスロット
マスタ機器がRMAP Writeを行うタイムスロット(SpaceWire-Dを使用する場合)。
メモリ領域
マスタトリガWriteサービスでService Data Unitを書き込むメモリアドレス。
再送の有無
再送制御を実施するかどうか。
再送までのタイムアウト時間
Replyパケットの受信待ちタイムアウトまでの時間。
再送試行回数
何度まで再送制御を試行するか。
JERG-2-432
34
マスタ機器 Subnetwork
service user Subnetwork
service provider RMAP イニシエータ
ユーザ機器 RMAP
ターゲット Subnetwork
service provider Subnetwork service user PACKET_SEND
.request
マスタトリガWrite 処理開始
RMAP Write要求
Replyあり
RMAP Write Command RMAP Writeコマンド
発行完了通知
SDU受信通知 SDU処理 トランザクションIDと リプライステータスを更新
PACKET_RECEIVE .indication RMAP Write Reply
RMAP Write 結果通知 マスタトリガWrite
処理完了
図8.2: 再送制御ありの場合のマスタトリガWriteサービスのRMAPトランザクション(再送が発生 しない場合)。
JERG-2-432
35
マスタ機器 Subnetwork
service user Subnetwork
service provider RMAP イニシエータ
ユーザ機器 RMAP
ターゲット Subnetwork
service provider Subnetwork service user PACKET_SEND
.request
マスタトリガWrite 処理開始
RMAP Write要求
Replyあり
RMAP Write Command RMAP Writeコマンド
発行完了通知
SDU受信通知
SDU処理 トランザクションIDと リプライステータスを更新
PACKET_RECEIVE .indication RMAP Write Reply
Status = Success 喪失
タイムアウト時間
タイムアウト RMAP Write
タイムアウト通知 再送の判断
RMAP Write要求
Replyあり
RMAP Write Command RMAP Writeコマンド
発行完了通知
SDU受信通知
トランザクション IDが前回と同一 重複処理を実行しない判断 RMAP Write Reply
RMAP Write 結果通知 マスタトリガWrite
処理完了
図8.3: 再送制御ありの場合のマスタトリガWriteサービスのRMAPトランザクション(1度目の書 き込みのリプライが喪失した結果再送が発生し、1度目の再送でトランザクションが成功した場 合)。
JERG-2-432
36
マスタ機器 Subnetwork
service user Subnetwork
service provider RMAP イニシエータ
ユーザ機器 ターゲットRMAP Subnetwork
service provider Subnetwork service user
PACKET_SEND.request
マスタトリガWrite 処理開始
RMAP Write要求
Replyあり
RMAP Write Command 喪失
タイムアウト時間
タイムアウト RMAP Write
タイムアウト通知
再送の判断
n-1回の再送を実行
再送の判断
RMAP Write要求
Replyあり
RMAP Write Command 喪失
タイムアウト時間
タイムアウト RMAP Write
タイムアウト通知
マスタトリガWrite 失敗時の処理
図8.4: 再送制御ありの場合のマスタトリガWriteサービスのRMAPトランザクション(規定回数
(n)の上限まで再送を実施してもトランザクションが完了しなかった場合)。