ノード動作
CCノード動作
CCノードは、ルート・ノード、サイクル・マスタ(使用する場合)、および、それぞれのデータ・バス用のバス・マネージャでなければなりません。 アイソクロナス・トランザクションが利用される場合、サイクル・スタート・パケットはCCによって送られてもよいが、それらは必ずしもSTOFパケットに同期する必要はありません。 このため、STOFパケットに続くサイクル・スタート・パケットの数に、ベース送信、受信または、データポンプ・オフセットすることは許容されません。
通常バス動作
非同期ストリーム・パケットのみを利用したときのバス動作については、「3.3.2.3 項、図16 通常バス動作」を参照してください。
STOFパケット
CCはフレーム開始パケット(STOF)を固定のフレーム・レートで送信します:フレーム・レートの±0.1%(例:10msec、12.5msecなど)。 STOFパケットは、チャンネル31上で送信される非同期ストリーム・パケットでなければなりません。STOFメッセージは、図12のようになります。 STOFパケットには、パケット・ヘッダやパケット・トレーラが存在しないことに注意が必要です。
図12 STOPパケット
(1) CCブランチ・ステータス [CC Status]
CCブランチ・ステータス・ワード(Long Packed Boolean)は、各CCの障害状態を表示しなければなりません。以下は、8つまでのCCと、16までのバスを備えたシステムへの割当て例です。異なる構成にも対応することが可能です。
LSB Bit 31 | CCブランチA障害 | CC-Branch A Failure |
Bit 30 | CCブランチB障害 | CC-Branch B Failure |
Bit 29 | CCブランチC障害 | CC-Branch C Failure |
Bit 28 | CCブランチD障害 | CC-Branch D Failure |
Bit 27 | CCブランチE障害 | CC-Branch E Failure |
Bit 26 | CCブランチF障害 | CC-Branch F Failure |
Bit 25 | CCブランチG障害 | CC-Branch G Failure |
Bit 24 | CCブランチH障害 | CC-Branch H Failure |
Bit 23 | CCブランチAに接続 | Connected to CC-Branch A |
Bit 22 | CCブランチBに接続 | Connected to CC-Branch B |
Bit 21 | CCブランチCに接続 | Connected to CC-Branch C |
Bit 20 | CCブランチDに接続 | Connected to CC-Branch D |
Bit 19 | CCブランチEに接続 | Connected to CC-Branch E |
Bit 18 | CCブランチFに接続 | Connected to CC-Branch F |
Bit 17 | CCブランチGに接続 | Connected to CC-Branch G |
Bit 16 | CCブランチHに接続 | Connected to CC-Branch H |
Bit 15 | バス1に接続 | Connected to Bus 1 |
Bit 14 | バス2に接続 | Connected to Bus 2 |
Bit 13 | バス3に接続 | Connected to Bus 3 |
Bit 12 | バス4に接続 | Connected to Bus 4 |
Bit 11 | バス5に接続 | Connected to Bus 5 |
Bit 10 | バス6に接続 | Connected to Bus 6 |
Bit 09 | バス7に接続 | Connected to Bus 7 |
Bit 08 | バス8に接続 | Connected to Bus 8 |
Bit 07 | バス9に接続 | Connected to Bus 9 |
Bit 06 | バス10に接続 | Connected to Bus 10 |
Bit 05 | バス11に接続 | Connected to Bus 11 |
Bit 04 | バス12に接続 | Connected to Bus 12 |
Bit 03 | バス13に接続 | Connected to Bus 13 |
Bit 02 | バス14に接続 | Connected to Bus 14 |
Bit 01 | バス15に接続 | Connected to Bus 15 |
MSB Bit 00 | バス16に接続 | Connected to Bus 16 |
(2) ネットワーク・バス・モード [Network Bus Mode]
ネットワーク・バス・モード・ワード(Long Packed Boolean)は、以下で定義されるCCバスのため、現在の動作モードを表示しなければなりません。
ビットのいずれかが現在のモードを表すために、1に設定しなければなりません。これらのビットは相互排他的です。 複数のビットが設定されている場合、リモート・ノードは、この誤った設定を無視し、操作前のモードで操作し続けなければなりません。
以下に示されたもの以外の、モードのワード設定は違法であり、無効であるとみなされます。異なる構成に対応するために、ユーザ定義ビット割当ての使用を定義する必要があります。
LSB Bit 31 | スタートアップ/初期化モード | Start-up/Initialization |
Bit 30 | ノーマル・モード | Normal |
Bit 29 | CC-Inテスト・モード(STOFメッセージはテストの実行に関わらず存在することができます。) | CC-In-Test (STOF messages may or may not be present depending upon which tests are being performed) |
Bit 28 | 予約 (設定値0) | Reserved (Shall be initialized to zero) |
Bit 27 | プログラム・アップロード | Program Upload |
Bit 26 | テスト・モード - 読込専用 | In Test Mode - Read Only |
Bit 25 | テスト・モード - 読込/書込 | In Test Mode - Read/Write |
Bit 24~16 | 予約(設定値0) | Reserved (Shall be initialized to zero (0)) |
MSB Bit 15~0 | ユーザ定義 | User Defined |
(a) スタートアップ/初期化モードの説明 [Start-up/Initialization Mode Description]
電源投入または、リセット時に、CCはSTOFメッセージのネットワーク・バスモード・ワードでは、スタートアップ/初期化ビットを1に設定しなければなりません。
STOFメッセージのネットワーク・バスモード・ワード内の他のすべてのビットはゼロに設定されなければなりません。
すべての初期化処理が完了すると、スタートアップ/初期化ビットはゼロにクリアされなければなりません。
(b) ノーマル・モードの説明 [Normal Mode Description]
一旦通常の処理を開始する準備ができ、CCはSTOFメッセージのネットワーク・バスモード・ワードのいずれかにノーマル・モード・ビットを設定しなければなりません。
STOFメッセージのネットワーク・バスモード・ワード内の他のすべてのビットはゼロに設定されなければなりません。一旦ノーマル・モードで、STOFルールが観察されると、
通常のバスのトラフィックが開始されます。 ネットワークが通常モードでない場合、ノーマル・モード・ビットはゼロにクリアされなければなりません。
(c) CC-Inテスト・モードの説明 [CC-In-Test Mode Description]
CCはテスト・モードにある場合、CCはSTOFメッセージのネットワーク・バスモード・ワードのいずれかにCC-In-Testモードビットを設定しなければなりません。
STOFメッセージのネットワーク・バスモード・ワード内の他のすべてのビットはゼロに設定しなければなりません。
CCは内部テストを実行中にネットワーク・バス通信は、様々な時点で(STOFと受信メッセージを終了させる)中断することができます。
特定のシステム(例えば、セルフ・テストを実行)によって決定されたリモート・ノードは、この情報に反応します。テスト・モードが完了すると、CC-In-Testモードビットはゼロにクリアされなければなりません。
(d) プログラム・アップロード・モードの説明 [Program Upload Mode Description]
ソフトウェア・プログラムのロードがネットワーク経由で進行している場合、CCはプログラムSTOFメッセージのネットワーク・バスモード・ワードのいずれかにモードビットをアップロード設定しなければなりません。
STOFメッセージのネットワーク・バスモード・ワード内の他のすべてのビットはゼロに設定されなければなりません。プログラムのロードが行われている間、ネットワーク・バス通信は、
さまざまな時点で中断することができます(STOFと受信メッセージを終了することができる)。プログラムロードが完了すると、プログラム・アップロード・モードビットがゼロにクリアされなければなりません。
(e) テスト・モードの説明(オプション) [Test Mode Description(Optional)]
テスト・モードは、STOFによって通知されるもう一例のモードです。このモードでは、すべてのネットワーク上のメモリの読込/書込操作を可能にするため、
リモード・ノード機器に共通のテスト方法を提供します。 これは、STOFメッセージとネットワーク・バスモード・ビット25(読込/書込モード)と26(読込オンリー・モード)にも関連します。
読込/書込ビットがTrueの場合、リモート・ノードのメモリの値を読込または、書込できます。もし、読込オンリー・ビットがTrueなら、リモート・ノードのメモリ・データは読込のみ許可されます。
RAMメモリのみ書込が許可されます。すべての不揮発メモリは(Flash、EEROMなど)は、書込みが許可されません。すべてのメモリ・タイプは読込可能です。
テスト・モードは、すべての所定のセーフティ・インターロックがCCによって満足される場合、有効になります。このモードは、メモリ検査(個々のメモリ位置/パラメータまたは、メモリ範囲)
および、メモリ書込機能のテストおよび、統合開発中に使用されることを意図している。
テスト・モードがアクティブである間、すべての通常のバス・トラフィックと通信は継続しなければなりません。通常モードとテスト・モードの唯一の違いは、テスト・メッセージの追加です。
試験装置は、ネットワーク・バスチャンネル番号を割当てるものとします。
テスト・モードのときに3つの別々のメッセージ・タイプが使用されます:メモリ読出コマンド、メモリ書込コマンド、メモリ読出し/書込み応答です。
これは、試験装置を介して複数のリモート・ノードのテストをサポートするための一般的なテキスト・メッセージング・フォーマットおよび、方法に適合する推奨される方法ですが、必須ではありません。
以下のセクションで推奨されるメッセージ・フォーマットおよび、定義を確認してください。
全てのテスト・メッセージは、リモート・ノードがデータポンプ・メッセージ(複数)(リモート・ノードが任意のデータポンプ・メッセージを実施している場合)を送信完了した後、データポンプ・オフセット・タイム割当ての間に伝送されます。
テスト・メッセージは、データポンプ・オフセット時間中にリモート・ノードによって送信され、また、データポンプ・オフセット時間中にリモート・ノードによって受信されなければなりません。
データポンプ時間配分は、ワースト・ケースのデータポンプ・メッセージ・サイズとテスト・メッセージが、特定のシステムのためのサイズを収容する大きさになります。
読込または、書込メモリ・コマンドを受信すると、リモート・ノードは2フレームまたは、数フレーム以内に応答する必要があります。
コマンドがメモリ読込コマンドであった場合は、リモート・ノードは割当てられたデータポンプ・オフセット時間(任意の通常のデータポンプ・メッセージが送信された後)で、別のメモリを読取るコマンドが受信されるまで、
または、電源が再投入されるまで、または、システム全体のリセットが生成されるまで、メモリ位置の内容を読取り、送信し続けなければなりません。
テスト・モードが開始されたら、電源再投入またはシステム全体のリセットによる場合を除いて終了することはできません。これは、変更された任意のRAM位置が、正しい値に復元されるようになります。
図14は、読込コマンドのバス上で見られるパケットを定義し、図15は、書込コマンドのバス上で見られるパケットを定義します。図13は、パケット内のコンテンツや、コントロール・ワードを定義します。
これらのパケットに必要なパケット・トレーラのパケット・ヘッダ、ハートビート、ヘルス・ステータス・ワードはありませんので注意してください。
(e)-1 テスト・モード・コマンド・ワード [Test Mode Command Word]
コマンド・ワードは、メモリ読込コマンド、メモリ書込コマンド、メモリ読込/書込コマンド応答、ユーザ定義コマンドといった転送タイプを定義しています。
「Num_Quads」フィールドは読込むクアドレット(32Bitワード)数または、各セットで記述するクアドレット数を定義します。
「Num_Sets」は読込/書込コマンドのための開始アドレスを定義します。「Transfer Type」で3以上の値が要求された場合、ユーザ定義フィールドを使用することができます。
図13 テスト・モード・コマンド・ワード
(e)-2 テスト・モード・メモリ読込コマンド [Test Mode Memory Read Command]
テスト・モード・メモリ読込コマンドは、継続的に選択されたメモリアドレスを読取る機能を提供します。メモリ読込アドレスはメモリを読出すためのアドレスを指定します。
「Num_Quads」は、いくつの32Bit クアドレットを読込み、1に設定するかを指定します。「Num_Sets」は、いくつの異なるアドレスがコマンド・パケットで要求されているかを指定します。
読込応答パケットは応答(3)の転送タイプを持たなければならず、読込コマンドに存在したNum_QuadsとNum_Setsフィールドを繰り返す必要があります。
メモリ読込アドレス・フィールドには、それぞれのアドレスのメモリから読み出されたデータを入力する必要があります。
(e)-3 テスト・モード・メモリ書込コマンド [Test Mode Memory Write Command]
テスト・モード・メモリ書込みコマンドは、RAMメモリ内の選択されたメモリ位置への書込み機能を提供します。
転送タイプは、メモリ書込(2)に設定する必要があり、Num_Quadsフィールドは、各メモリ書込み開始アドレスで実行するために、
いくつのシーケンシャル32Bitのアドレスを指定し、Num_Setsは、いくつのメモリ書込開始アドレスが要求されているかを指定します。
(3) 車両ステータス [Vehicle State]
STOFメッセージ内の車両(機体)ステータス・ワード(Long Packed Boolean)は、車両(機体)の現在の状態を示すために使用されます。
様々なステータス情報を表すことができます。以下は、航空機に使用されることを想定した例を示します。ビットは、現在の状態を示すために1にセットされます。現在のステータス情報は:
LSB Bit 31 | 外部電源適用 | External power applied |
Bit 30 | バッテリ電源適用 | Battery power applied |
Bit 29 | 内部電源適用 | Internal power applied |
Bit 28 | ブレーキ適用 | Brakes applied |
Bit 27 | エンジン動作中 | Engine running |
Bit 26 | コックピット・キャノピー・オープン | Cockpit canopy open |
Bit 25 | カーゴ・ドア・オープン | Cargo door open |
Bit 24 | テイルゲート・オープン | Tailgate open |
Bit 23 | 上空 ロジック1=True | In Air - Logic ’1' = TRUE |
Bit 22 | 地上、非静止 ロジック1=True | On Ground, Not Stationary Logic ‘1’=TRUE |
Bit 21 | 地上、静止 ロジック1=True | On Ground, Stationary Logic ‘1’=TRUE |
MSB Bit 20-00 | 予備 | Space(0) |
(4) 車両(機体)時間 [Vehicle Time]
車両(機体)時間は、サポートされるシステムによって決定され、32Bit符号なし長整数型で表す時間でなければなりません。フォーマットおよび、車両(機体)時間の使用は定義されなければなりません。
(5) 垂直パリティ・チェック[Vertical Parity Check]
垂直パリティ・チェックは、「3.2.4.1.9項、(4) 垂直パリティ・チェック[Vertical Parity Check]」で定義されます。
メッセージ整合性管理
CCは適切なIEEE-1394バスの動作を確認するためにメモリ・ノードからの入力を監視しなければなりません。そして、メッセージを生成したリモート・ノードが、正常に動作していることを確認します。 以下のすべての条件が満たされた場合、データ・メッセージは有効とみなされます:
- ネットワーク・バスのペイロード・データ領域内のハートビートが、最後に受信したメッセージ以降インクリメントされている
- データの有効性指標(例えば、垂直パリティ・チェック)が正しいことを確認する
- 1394 CRCが有効
初期化
CCは、バスマネージャ(BM)とアイソクロナス・リソース・マネージャ(IRM)となることを保証するため、各PHYレジスタ0100bのPHY Non-Paged Base Register 0のBit1を設定しなければなりません。
チャンネル番号とタイミング・オフセットはシステム設計によって定義されるため、CCは、IMR機能を実現するために必要とされません。
CCは、ルート・ノードとサイクル・マスタ(使用する場合)となることを保証するために、各PHYレジスタ0001bのPHY Non-Paged Base Register 1のBit0、ルート・ホールドオフ・ビットを設定しなければなりません。
CCは、STOFメッセージを送信することにより、バスの動作を開始しなければなりません。
CCは、必要に応じて、最初の有効なメッセージで、STOFメッセージの後、リモート・ノードに送られた、ディフォルトのSTOFオフセットを更新しなければなりません。
CCは、システムの電源投入後、STOFメッセージの中で、Normalまたは、スタートアップ/初期化にネットワーク・バス・モードを変更しなければなりません。
AS5643解説文書【日本語技術資料プレゼント】
AS5643(Mil1394)通信規格の日本語解説書(計52ページ)をIPROSにて配布しており、ダウンロードいただけます。