HOME > データバス・規格 > MIL-STD-1553 > モード・コード ページ

モード・コード

モード・コードは、バス・コントローラにデータ・バス管理とエラー処理/回復能力を提供するために、規格により定義されます。モード・コードは、データ・ワード有りと、なしの2つのグループに分けられます。

モード・コードと関連するデータ・ワード(モード・コード毎に1ワードのみ許されます)は、バスの制御に関連する情報が含まれており、一般にサブシステムが必要とする情報が含まれていません(例外は、データ・ワード・モード・コードとの同期です)。 モード・コードは、コマンド・ワードの15〜19ビット目により定義されます。最上位ビット(ビット15)は、2モード・コード・グループを区別するために使用することができます。データ・ワードがモード・コードと関連している時、T/Rビットは、データ・ワードがリモート・ターミナルにより送信されているのか、受信されているのかを決定します。モード・コードを、表5に示します。

表5 モード・コード
T/R モード・コード 16進数 10進数 機能 データ・ワード ブロードキャスト
1 00000 0x00 0 動的バス制御 No No
1 00001 0x01 1 同期 No Yes
1 00010 0x02 2 送信ステータス・ワード No No
1 00011 0x03 3 セルフテスト開始 No Yes
1 00100 0x04 4 送信機シャットダウン No Yes
1 00101 0x05 5 送信機シャットダウン無効 No Yes
1 00110 0x06 6 ターミナル抑制フラグ・ビット No Yes
1 00111 0x07 7 ターミナル抑制フラグ・ビット無効 No Yes
1 01000 0x08 8 リモート・ターミナルのリセット No Yes
1 01001 0x09 9 予備 No TBD
| | | | | | |
1 01111 0x0F 15 予備 No TBD
1 10000 0x10 16 ベクトル・ワード送信 Yes No
0 10001 0x11 17 同期 Yes Yes
1 10010 0x12 18 最終コマンド・ワード送信 Yes No
1 10011 0x13 19 BITワード送信 Yes No
0 10100 0x14 20 選択送信機シャットダウン Yes Yes
0 10101 0x15 21 選択送信機シャットダウン無効 Yes Yes
1/0 10110 0x16 22 予備 Yes TBD
| | | | | | |
1/0 11111 0xFF 31 予備 Yes TBD


モード・コード識別子

モード・コード識別子は、コマンド・ワードの10〜14ビットに含まれます。このフィールドが00000B、または11111Bである場合、15〜19ビットの内容は、モード・コードとしてデコードされます。 2つのモード・コード識別子は、必要であれば、システムがインストゥルメンテーション・ビットを使用できるように提供されます。

2つのモード・コード識別子は、異なる情報を伝送することができません。この要求を維持することにおいて、多くのリモート・ターミナルは、サブアドレスが実際のモード・コードで指定されたサブシステムへの指示を提供しません。


動的バス制御

動的バス制御モード・コードは、ターミナル間でデータ・バスの制御をパスすることにより、「ラウンドロビン」型の制御を提供するために使用されます。

この方法を使用して、各ターミナルは、他の全てのターミナルから必要とするデータの収集を担当します。データ収集が終わった時、ライン内の次のターミナルに制御をパスします(いくつかの事前定義されたシーケンスに基づき)。 これにより、アプリケーション・プログラム(データのエンドユーザ)が必要時にデータを収集することを可能にし、収集されたデータが最新のソース・サンプルからのもので、バッファに待機していないことを常に保証します。

規格のNotice1と2は、空軍アプリケーション用に動的バス制御の使用を禁じています。制御を渡されたターミナルが制御を実行できないか、または次のターミナルに制御を適切に転送せず、その結果、無制御状態が発生することが問題です。その後、いくつかのターミナルにより制御が再確立されなければなりません。 制御の再確立に要求される潜在的な時間は、システムに対して悲惨な効果もたらします(特に飛行制御システム)。

バス・コントローラとなることができるリモート・ターミナルは、モード・コード・コマンドを受信する時、ターミナルのステータス・ワードの動的バス制御受諾ビットを論理“1”に設定することができなければなりません。 一般的に、このビットの設定に関連するロジックは、数レベルの信頼試験にパスするサブシステム(コンピュータ)の能力に基づきます。信頼試験にパスした場合、ビットが設定され、ターミナルがモード・コマンドを受信した時にステータス・ワードが送信されることによって、バス・コントローラの役割を引き受けます。

バス・コントローラは、一度に1つのリモート・ターミナルに動的バス制御モード・コマンドを発行することができます。明らかに、コマンドは、バス・コントローラになれるターミナルにのみ発行されます。 コマンド送信時、バス・コントローラは、動的バス制御受諾ビットが設定されているかを決定するために、ターミナルのステータス・ワードをチェックしなければなりません。設定されている場合、バス・コントローラは、コントローラとしての機能を停止し、リモート・ターミナル、またはバス・モニタとなります。 ステータス・ワードにビットが設定されていない場合、コマンドが発行されたリモート・ターミナルは、バス・コントローラになることができず、現在のコントローラがバス・コントローラのままか、または他のいくつかのターミナルに制御をパスしようとしなければなりません。


同期

同期モード・コードは、2つ以上のターミナル間のタイミングのいくつかの形態を確立するために使用されます。このモード・コードは、データ・ワードを使用しません。そのため、ターミナルによるこのコマンドの受信は、いくつかの事前定義されたイベントを発生させなければなりません。 このイベントのいくつかの例は、カウンタのクリア、インクリメント、またはプリセット、出力信号の切替、またはいくつかのソフトウェア・ルーチンの呼出しです。 一般的に、このコマンドは、飛行制御、または照準/火器管制システム用の航法データ(現在位置、速度等)のサンプリングのような機能を時間相関させるために使用されます。 その他の用途は、メジャー/マイナー・フレーム処理の初めにバックアップ・コントローラ(またはモニタ)を「同期」させるためのバス・コントローラ用です。

リモート・ターミナルが同期モード・コマンドを受信した場合、予め定義された機能を実行します。

バス・コントローラの場合、コマンドの発行が必要とされます。ターミナルのステータス・ワードは、「同期」機能が実行されたことではなく、メッセージが受信されたことのみを表します。


ステータス・ワード送信

これは、リモート・ターミナルにそのステータス・ワードのリセット、またはクリアを起こさない2つのコマンドの内の1つです。

このコマンドを受信すると、リモート・ターミナルは、モード・コード・メッセージのステータス・ワードではなく、前のメッセージと関連したステータス・ワードを送信します。

バス・コントローラは、データ・バスの制御とエラー管理のためにこのコマンドを使用します。リモート・ターミナルがメッセージにエラーを検出し、そのステータス・ワードを停止した場合(ステータス・ワード−メッセージ・エラー・ビット参照)、 バス・コントローラは、無応答がエラーによるものなのかを決定するために、リモート・ターミナルにこのコマンドを発行することができます。このコマンドは前のメッセージからのステータス・ワードをクリアしないため、前のメッセージにおいてリモート・ターミナルが検出したエラーは、ステータス・ワードにセットされているメッセージ・エラー・ビットにより示されます。

バス・コントローラは、「ポーリング」の時にもこのコマンドを使用します。ターミナルが定期的なメッセージを持っていない場合、RTは、ステータス・ワードにそのサービス要求ビットをセットすることにより、通信を必要とするとき示すことができます。バス・コントローラは、そのステータス・ワードのみを送信するようターミナルに要求することにより、 ターミナルがサービスを必要としているかどうかを決定することができ、従って、必要なコマンドを発行することができます。この「ポーリング」方法は、不必要なワードの送信を排除することにより、バス・トラフィックの総量を減少させる可能性を持ちます。

バス・コントローラはまた、ステータス・ワード内のビジー・ビットを調べることにより、ターミナルがいつデータを処理できるかを決定するため、このメッセージを使用することができます。 データを送信、または受信できないターミナルは、そのビジー・ビットをセットできます(この使用は、Notice2で抑制されています)。設定されたこのビットを見て、バス・コントローラは、いつターミナルが新しいコマンドの用意ができるか(言い換えれば、もはやビジーではない)を決定するために、 ターミナルを定期的に「ポーリング」することができます(一般的に、メジャー・フレーム毎に1回)。 このコマンドは、ブロードキャスト・メッセージ・フォーマットが使用される時にも使用されます。リモート・ターミナルの全てがそのステータス・ワードを停止するため、そのステータス・ワードに対する各ターミナルの「ポーリング」は、受信ブロードキャスト・コマンド・ビットを設定することにより、ターミナルがメッセージを受信したかどうかを明らかにします。


セルフテスト開始

このコマンドは、リモート・ターミナルが受信した時、リモート・ターミナルでセルフテストを開始します。このコマンドは、通常、地上基地整備機能として、システム起動試験の一部として、または障害回復ルーチンの一部として飛行中に使用されます。

初期のアプリケーションにおいて、いくつかのリモート・ターミナルは、このコマンド受信時、セルフテストを開始し、長時間、「オフライン」になります。Notice2は、ターミナルが「オフライン」であり得る時間を制御するために、試験時間を100.0msに制限し、リモート・ターミナルによるステータス・ワードの送信が引き続きます。

ターミナルがセルフテストを実行している間、次の方法で有効なコマンドに応答することができます。

  • 何れのバスでも無応答(「オフライン」)
  • ビジー・ビットをセットしたステータス・ワードのみを送信
  • 正常な応答

リモート・ターミナルは、このモード・コードの後に受信した有効なコマンドを受信すると、そのセルフテストを終了することができます。後続のコマンドがセルフテストを中断することができるように、このコマンド発行後、バス・コントローラは、指定された時間(リモート・ターミナルに対して指定された時間、または最大時間100.0msの何れか)、ターミナルへの送信を一時停止する必要があります。


送信機シャットダウン

バス・コントローラは、バスを管理するためにこのコマンドを使用します。ターミナルの送信機が連続して送信する場合、このコマンドは、送信機の電源を切るメカニズムを提供します。二重冗長スタンバイ・アプリケーション用のみです。

このコマンドを受信すると、リモート・ターミナルは、反対側のデータ・バスと関連した送信機をシャットダウンします(電源を切る)。ターミナルがAバス上でバブルしている場合、バス・コントローラは、Bバス上のターミナルにこのコマンドを送信します(Aバス上のコマンドは、ターミナルにより受信されません)。

規格は、シャットダウン中の送信機と関連する受信機に何をさせるかを定義していません。受信機がオフされるターミナル設計が存在しまします。受信機がオンのままのものも存在します。受信機がオンのままで、ターミナルがバス上にコマンドを発行する時、バス・コントローラは、処理中のメッセージとエラーのため無視されているメッセージにより、ターミナルがフィードバック(ステータス・ワード)を提供することなく、このデータを処理していることに気付かなければなりません。


送信機シャットダウン無効

このコマンドは、以前にオフにされた送信機をオンにするメカニズムを提供することにおいて、以前のコマンドの補足です。リモート・ターミナルがこのコマンドを受信すると、有効なコマンドが反対側のバス上で受信される時、反対側のバスと関連した送信機が送信を許可されるよう、その制御ロジックを設定します。

送信機を有効にできる他の唯一のコマンドは、リセット・リモート・ターミナル・モード・コマンドです。


ターミナル抑制フラグ

このコマンドは、ターミナルのステータス・ワードにおけるターミナル・フラグ・ビットを制御します。ターミナル・フラグ・ビットは、リモート・ターミナル・ハードウェア内にエラーが存在し(定義を思い出してください)、 送信されているデータ、または受信されたデータにエラーがあり得ることを示しています。この場合、そのターミナルへの送信は、停止する必要があります。しかし、ターミナル内の障害は、データの品質に影響を与えない可能性があり、バス・コントローラは、不具合が存在することを知りつつ、送信を継続することを選択することができます。

ほとんどのバス・コントローラ内において、ターミナル・フラグ・ビットをセットしたステータス・ワードは、特殊エラー処理ルーチンがコールされます(マイクロコード、またはソフトウェアの何れかにおいて)。 バス・コントローラがコンピュータである場合、このビットは、一般的にエラー処理と関連した割込みサービス・ルーチンをコールします。ターミナルに対してこの割込みをマスクすることができますが、ターミナル毎にマスクとアンマスクすることは厄介です。バス・コントローラがマイクロコード化されたマシーンである場合、バス・コントローラ内部のこのビットのマスクは不可能かも知れません。したがって、このモード・コマンドは、そのソースであるリモート・ターミナルでこのビットの「マスク」を提供します。

このコマンドを受信したリモート・ターミナルは、この信号の真のステータスに関係なく、そのターミナル・フラグ・ビットを”0”にセットします。規格は、このビットを制御するbuilt-in-testが停止されることを宣言していませんが、結果は、“0”に否定されます。


ターミナル抑制フラグ無効

このコマンドは、ターミナル・フラグ・ビットの報告によりオンにさせるメカニズムを提供することにおいて、前のコマンドの補足です。 リモート・ターミナルがこのコマンドを受信した時、ターミナルのbuilt-in-test機能の結果に基づき、ターミナル・フラグ・ビットが適切に報告されるよう、その制御ロジックをセットします。

ターミナル・フラグ・ビットの応答を有効にできる他の唯一のコマンドは、リセット・リモート・ターミナル・モード・コマンドです。


リモート・ターミナルのリセット

このコマンドは、リモート・ターミナルが受信した時、ターミナル電子機器を起動状態にリセットします。このように、送信機が無効にされていたか、またはターミナル・フラグ・ビットが抑制された場合、これらの機能は、ターミナルが起動されたかのようにリセットされます。 リセットがボックス全体ではなく、リモート・ターミナル電子機器にのみ適用されることを再び思い出してください。

Notice2は、リモート・ターミナルがその電子機器をリセットするのにかかる時間の総量を制限します。そのステータス・ワードの送信後、リモート・ターミナルは、5.0ms以内にリセットします。ターミナルがリセットしている間、以下のいずれかの方法で有効コマンドに応答することができます。

  • 何れのバス上でも無応答(「オフライン」)
  • ビジー・ビットがセットされたステータス・ワードのみを送信
  • 通常の応答

リモート・ターミナルは、このモード・コード後に受信した有効なコマンドを受信すると、そのリセット機能を終了することができます。 後続のコマンドがリセットを中断することができるように、バス・コントローラは、コマンド発行後、指定された時間(リモート・ターミナルに対して指定された時間、または最大時間5.0msのいずれか)、ターミナルへの送信を停止する必要があります。


ベクトル・ワード送信

このコマンドは、リモート・ターミナルにベクトル・ワードと呼ばれるデータ・ワードを送信させます。ベクトル・ワードは、リモート・ターミナルのメッセージ需要に関連するバス・コントローラのサービス要求情報を識別します。必須ではありませんが、このモード・コードは、しばしば、ステータス・ワード.内のサービス要求ビットに関連付けられています。

データ・ワードの内容は、バス・コントローラに送信する必要のあるメッセージを通知します。このデータ・ワードの内容に関して、規格にはいかなる要求もありませんが、MIL-HDBK-1553AのSection 80は、2つの例を提供しています。1つ目は、バス・コントローラが要求を決定するためにデコードしなければならないコード化されたフィールドです。これは、バス・コントローラによる全ての要求の事前知識を要求し、リモート・ターミナルとバス・コントローラ(そして、全てのバックアップ・コントローラ)が共に更新されなければならないため、システム変更が困難になります。

2つ目の例は、おそらく最も簡単でエレガントです。データ・ワード(ベクトル・ワード)は、ターミナルがバス・コントローラにより送信されることを要求するコマンド・ワードを含みます。バス・コントローラは、このワードをコマンドとしてエコーすることのみ必要とします。これは、コントローラによる特殊なデコーディングを要求しませんが、リモート・ターミナルのみが修正されることにおいて、変更が容易になります。

バス・コントローラは、「ポーリング」時にもこのコマンドを使用します。一般的に、このコマンドは、ステータス・ワードにおけるサービス要求ビットと一緒に使用されます。バス・コントローラは、ステータス・ワードのみを要求します(送信ステータス・ワード・モード・コード)。セットされたサービス要求ビットを見て、送信ベクトル・ワード・モード・コードを発行します。バス・コントローラは、常にベクトル・ワードを要求し(とにかく、常にステータス・ワードを得る)、ターミナルの要求への応答に必要な時間を短縮します。


データ・ワードとの同期

この同期コマンドの目的は、このモード・コードがリモート・ターミナルに追加情報を提供するためにデータ・ワードを提供することを除き、データ・ワードのない同期と同じです。 データ・ワードの内容は、あなたに任されています。「実世界」のアプリケーションからの例では、このワードを次のように使用しています。

  • リモート・ターミナルにカウンタ、またはクロック値を提供する
  • フレーム識別番号(マイナー・フレーム、または周期番号)をバックアップ・コントローラに提供する
  • サブアドレス機能の拡張で使用される新しいベース・アドレス・ポインタをターミナルに提供する(拡張サブアドレッシング参照)
  • 監視システムにマイナー・フレーム数を提供する

最終コマンド・ワード送信

これは、リモート・ターミナルが、そのステータス・ワードのリセット、またはクリアしない2つのコマンドの内の1つです。

このコマンドを受信すると、リモート・ターミナルは、前のメッセージと関連したステータス・ワード、および受信した最終コマンド・ワード(有効な)を送信します。

バス・コントローラは、データ・バスの制御、およびエラー管理用にこのコマンドを使用します。リモート・ターミナルが適切に応答していない場合、バス・コントローラは、ターミナルが受信した最後の有効なコマンドを決定することができ、必要に応じて、後続のメッセージを再発行することができます。


Buit-in-Test(BIT)ワード送信

このモード・コマンドは、リモート・ターミナルのBuilt-in-Testの状態について詳細を提供するために使用されます。 その内容は、サブシステムではなく、リモート・ターミナルのみ(定義を思い出してください。)に関する情報を提供します。

ほとんどのアプリケーションは、このコマンドをセルフテスト開始モード・コードと関連付けていますが、規格は、そのような関係を要求していません。 一般的に、このコマンドは、セルフテスト開始モード・コードを発行し、ターミナルに要求された時間内にその試験を終了させ、試験結果を収集するためにBITワード・モード・コードを発行するために使用されます。

他のアプリケーションは、連続的バックグランド試験(例えば、各データ送信で実行されるデータ・ラップアラウンド試験)の結果に基づき、定期速度でBITワードを更新しています。 このワードは、要求により、試験を開始し、試験終了を待つことなく、バス・コントローラに送信することができます。データ・ワードの内容は、ターミナル設計者に委ねられています。

リモート・ターミナルによる送信ステータス・ワード・モード・コードか、または送信最終コマンド・ワード・モード・コードのいずれかの受信は、BITデータ・ワードの内容を変更しません。

規格のNotice2は、built-in-test、または数レベルのセルフテストを実行できるいかなるターミナルも、これらの試験の結果を提供するために、このモード・コードを実装する必要があります。


選択送信機シャットダウン

送信機シャットダウン・モード・コマンドのように、このモード・コードは、バブルを起こした送信機をオフにするために使用されます。 2つのモード・コード間の違いは、このモード・コードがそれと関連したデータ・ワードを持つことです。データ・ワードの内容は、シャットダウンするデータ・バス(送信機)を指定します。 このコマンドは、二重冗長性以上を提供するシステム、一般的には飛行制御と関連した三重、または四重冗長のシステムで使用されます。


選択送信機シャットダウン無効

このコマンドは、以前にオフにされた送信機をオンにするメカニズムを提供することにおいて、前のものの補足です。リモート・ターミナルがこのコマンドを受信すると、データ・ワードは、有効なコマンドが該当バス上で受信されたときに、該当バスと関連した送信機が送信を許可されるよう、その制御ロジックを設定するデータバス(送信機)を指定します。

選択された送信機を有効にできる他の唯一のコマンドは、リセット・リモート・ターミナル・モード・コマンドです。


予約モード・コード

上のモード・コード・テーブルから見られるように、予備として確保されている数ビットの組み合わせです。これらは、将来の成長のために予約されています。 表では、一定のビットの組み合わせが列挙されていないことにも注意すべきです。規格は、次のようにリモート・ターミナルがこれらの予約、および「未定義」のモード・コードに応答することを許可しています。

  • メッセージ・エラー・ビットをセットし、応答する(不正コマンド参照)
  • 形式的に応答する

ターミナル・ハードウェア、または多重システムの設計者として、何らかの目的のために予約されたモード・コードを使用することは禁止されています。


要求モード・コード

規格のNotice2は、全てのリモート・ターミナルが以下の4モード・コードを適用することを要求します。

  • ステータス・ワード送信
  • 送信機シャットダウン
  • 送信機シャットダウン無効
  • リモート・ターミナルのリセット

この要求は、多重システムの設計者とバス・コントローラに、多重システムの管理用に最小限のコマンド・セットを提供するように、次のように課せられました。

  • メッセージ・エラー・ビットをセットし、応答する(不正コマンド参照)
  • 形式的に応答する

ターミナル・ハードウェア、または多重システムの設計者として、何らかの目的のために予約されたモード・コードを使用することは禁止されています。


ブロードキャスト・モード・コード

規格のNotice2は、モード・コードのブロードキャストを許可します(モード・コード・テーブルを参照)。ブロードキャスト・オプションの使用は、ターミナル同期の中で大きな助けになります。 地上整備とトラブルシューティングには、ブロードキャストのリセット・リモート・ターミナル、またはセルフテスト開始が便利ですが、これら2つのコマンドは、飛行中に使用された場合、 破滅的な影響を与える可能性があります。これらのようなコマンドがバス・コントローラにより発行されないか、またはある条件(例えば、飛行中)が存在する時にリモート・ターミナルにより操作されないことを保証するために、チェックしなければなりません(不正コマンド参照)。


▲ページトップに戻る