航空・宇宙関連の電子機器で使用される特殊なデータバス、スタンダード(標準)について紹介します。

03-5921-5099
営業時間/9:00~17:30 定休日/土日祝
ホームデータバス/規格MIL-STD-1553メッセージ・フォーマット ページ

メッセージ・フォーマット

データ・バスの主要な目的は、システム間のデータ交換のための共通の媒体を提供することです。データの交換は、メッセージ送信に基づきます。 規格は、10タイプのメッセージ送信フォーマットを定義します。これらフォーマットの全ては、以前に定義された3つのワード型に基づきます。 10のメッセージ・フォーマットを図7と図8に示します。メッセージ・フォーマットは、2グループに分けられています。これらは、「情報転送フォーマット」(図7)と「ブロードキャスト情報転送フォーマット」(図8)として、 規格内で呼ばれています。

情報伝送フォーマットは、リモート・ターミナルが受信した全てのエラーなし伝送に、ターミナルからバス・コントローラへのステータス・ワードの送信が続くことで、コマンド/応答哲学に基づいています。 このハンドシェイクの原理は、リモート・ターミナルによるメッセージの受信を検証します。

ブロードキャスト・メッセージは、同時に複数のリモート・ターミナルに送信されます。ターミナルは、そのステータス・ワードの送信を停止します(そうしなければ、複数のボックスが同時に話そうとすることにより、 バスを「パンク」させてしまいます)。ターミナルがメッセージを受信したかどうかをバス・コントローラが決定するために、各ターミナルへのポーリング・シーケンスが、 ステータス・ワードを収集するために開始する必要があります。

情報伝送フォーマット

図7 情報伝送フォーマット


情報伝送フォーマット(ブロードキャスト)

図8 情報伝送フォーマット(ブロードキャスト)

バス・コントローラからリモート・ターミナルへ

バス・コントローラからリモート・ターミナル(BC-RT)メッセージは、リモート・ターミナルがデータを受信しようとしているので、受信コマンドと呼ばれます。 バス・コントローラは、送信中のデータのサブアドレスとデータ・ワード数を定義するターミナルにコマンド・ワードを出力します。 すぐに(送信においてギャップなく)、コマンド・ワードで指定されたデータ・ワード数が送信されます。

リモート・ターミナルは、コマンド・ワードとデータ・ワードの全ての検証時、応答時間要求(最大12μs)以内にステータス・ワードを発行します。

リモート・ターミナルは、バス・コントローラが発行する次のコマンドを処理できなければなりません。したがって、リモート・ターミナルは、 サブシステムにデータをパスするか、データをバッファする(データ・バッファ参照)ために、約56μs(ステータス・ワード応答時間[12μs] + ステータス・ワード送信時間[20μs] + メッセージ間ギャップ(最小4μs) + コマンド・ワード送信時間[20μs])を持ちます。

リモート・ターミナルからバス・コントローラへ

リモート・ターミナルからバス・コントローラ(RT-BC)メッセージは、送信コマンドと呼ばれます。バス・コントローラは、リモート・ターミナルに送信コマンドのみを発行します。 ターミナルは、コマンド・ワードを検証し、ステータス・ワードを送信し、コマンド・ワードにより要求されたデータ・ワード数が続きます。

リモート・ターミナルは、送信されるコマンドのシーケンスを知らず、通常、コマンド・ワードが検証されるまで、コマンドで動作しません。 したがって、約28 μs(ステータス・ワード応答時間(12μs) + ステータス・ワード送信時間(20μs)-エンコーダとトランシーバを介したメッセージ検証と送信遅延時間の総量)以内に要求されるデータをサブシステムから受信できなければなりません。

リモート・ターミナルからリモート・ターミナルへ

リモート・ターミナルからリモート・ターミナル(RT-RT)コマンドは、バス・コントローラを経由することなく、ターミナル(データ元)が別のターミナル(データ先)に直接データを送信することを可能にします。 しかし、バス・コントローラは、データを収集し、それを使用することもできます(これは、バス・コントローラがデータを監視するので、時々RT-RT-Mコマンドと呼ばれます)。

バス・コントローラは、受信ターミナルにコマンド・ワードを発行し、送信ターミナルへのコマンド・ワードが直ちに引き続きます。

受信ターミナルは、データを予期していますが、データの代わりに、コマンド・ワードの後、コマンド同期(2番目のコマンド・ワード)を見ています。受信ターミナルは、このワードを無視し、 データ同期を持つワードを待ちます。

送信ターミナルは、最初のコマンド・ワードを無視しました(そのターミナル・アドレスを含まなかった)。2番目のワードは、それ宛てとされ、そのステータス・ワードを送信し、 要求されたデータ・ワードが引き続くことにより、RT-BCコマンドとしてコマンドを処理します。

2番目のコマンド・ワードを無視している受信ターミナルは、次のワードでコマンド(ステータス)同期を再び見て待機します。次のワード(送られた最初のデータ・ワード)は、 今、データ同期を持ち、受信リモート・ターミナルは、データ収集を開始します。データ・ワードの全ての受信(そして検証)後、ターミナルは、そのステータス・ワードを送信します。

RT-RT検証

RT-RTメッセージを受信するリモート・ターミナルがすべきことには、いくつかのことがあります。第1に、Notice2は、ターミナルがコマンド・ワード受信後54~60μsでタイムアウトすることを要求します。 送信リモート・ターミナルがそのコマンド・ワードを検証しなかった(そして、送信が起きなかった)場合、受信ターミナルは、いくつかの新しいメッセージからデータを収集しません。 これは、ターミナルがコマンド/ステータスの同期で全てのワードを無視し、次のメッセージが送信、または受信メッセージである場合、最初のデータ同期で始まるデータ・ワードの収集を開始する可能性があります。 同数のデータ・ワードが継続メッセージにおいて送信中で、ターミナルがコマンド/ステータス・ワードの内容を試験しなかった場合、ターミナルが誤ったデータを収集する可能性が存在します。

受信ターミナルが行う必要がりますが、規格により要求されていない他の機能は、2番目のコマンド・ワードと最初の送信データ・ワードをキャプチャすることです。 ターミナルは、送信ターミナルがコマンドを受けたものであることを保証するために、両ワードのターミナル・アドレス・フィールドを比較することができます。 これは、ターミナルがそのデータとサブシステム用の保護レベルを提供することを可能にします。ターミナルが想定されていないデータを受信した場合、システム・レベルの疑問がターミナル、サブシステム、 または航空機上に起こります(データ検証と不正コマンド参照)。

モード・コマンド・フォーマット

3つのモード・コマンド・フォーマットが提供されます。これは、データ・ワードのないモード・コマンドと1つのデータ・ワードを持つモード・コマンド(送信か、または受信)を可能にします。 ステータス/データ・シーケンスは、データ・ワード・カウントが1か0であることを除き、BC-RT、またはRT-BCメッセージと同じです。モード・コードとその使用は、後述します。

ブロードキャスト情報伝達フォーマット

ブロードキャスト情報伝送フォーマットは、図8に示すように、以下の2つの例外を除いて、上記非ブロードキャスト・フォーマットと同じです。

  • バス・コントローラは、この機能用に予約されているターミナル・アドレス31(11111B)にコマンドを発行する
  • メッセージを受信するリモート・ターミナル(ブロードキャスト・オプションを適用するもの)は、そのステータス・ワードの送信を停止する

ブロードキャスト・オプションは、リモート・ターミナルがデータを受信するメッセージ・フォーマットで使用できます。 明らかに、複数のターミナルは、同時にデータを送信できないので、RT-BC送信フォーマット、およびデータ・フォーマットを持つ送信モード・コードは使用できません。 ブロードキャストRT-RTは、バス・コントローラが全てのリモート・ターミナルに受信を指示することを可能にした後、1ターミナルが送信するよう指示することにより、 単一のサブシステムがそのデータを複数のユーザーに直接転送することを可能にします。

Notice2は、バス・コントローラがモード・コードを持つブロードキャスト・コマンドのみを使用することを可能にします(ブロードキャスト・モード・コード参照)。 リモート・ターミナルは、全てのブロードキャスト・メッセージ・フォーマットに対してこのオプションを適用することが許されます。 Notice2は、更にターミナルがブロードキャストと非ブロードキャスト・メッセージ間のサブドレスを区別しなければならないことを述べています(サブアドレス利用参照)。

コマンドとメッセージの検証

リモート・ターミナルは、メッセージの一部として受信したコマンド・ワードと全てのデータ・ワードを検証しなければなりません。有効なコマンド・ワードに対する基準は、以下の通りです。

  • ワードは、有効なコマンド同期で始まる
  • 有効なターミナル・アドレス(適用された場合、ターミナルの割り当てられたアドレス、またはブロードキャスト・アドレスに一致する)
  • 全てのビットは、有効なマンチェスター・コードである
  • 16ビットの情報フィールドがあり、有効なパリティ・ビット(奇数)がある

データ・ワードに対する基準は、正しいデータ同期が要求されることを除き同じであり、ターミナル・アドレス・フィールドは試験されません。

コマンド・ワードが基準に一致しない場合、コマンドは無視されます。コマンドが検証され、データ・ワードが基準に合致しなかった後、ターミナルは、ステータス・ワードにメッセージ・エラー・ビットをセットし、 ステータス・ワードの送信を停止しなければなりません。メッセージ内のいかなるシングル・エラーも、メッセージ全体を無効にし、データは使用されません。

不正コマンド

規格は、リモート・ターミナルが不正コマンドを監視することを可能にします。不正コマンドは、コマンド・ワードの有効な条件を満たしているものですが、ターミナルにより実装されていないコマンド(メッセージ)です。 例は、サブアドレス01に04データ・ワードのみを出力するターミナルで、コマンド・ワードは、サブアドレス03から06データ・ワードを送信するよう要求したターミナルにより受信されました。 このコマンドは、まだ有効なコマンドですが、ターミナルにより不正とみなされます。規格は、バス・コントローラが不正、または無効コマンドを発行しないことのみを記載しています。

規格は、ターミナル設計者に2つのオプションを提供します。第1に、ターミナルは、いつものように全てのコマンドに応答することができます(これは、“responding in form”と呼ばれます)。 受信データは、一般的にサブシステム、またはアプリケーション・プログラムがアクセスできない一連のメモリ位置に置かれます。これは、「ビット・バケット」と呼ばれます。 全ての無効コマンドは、同じビット・バケットに置かれます。無効送信コマンドの場合、送信されたデータは、ビット・バケットから読み出されます。 バス・コントローラがこれらの無効コマンドを送信することをサポートしていないことを思い出すべきですが、とにかく注意すべきです。

2つ目のオプションは、ターミナルが不正コマンドを監視するためのものです。ほとんどのターミナル設計に対して、これは、T/Rビットを持つルックアップPROM、 アドレスを供給するサブアドレスとワード・カウント・フィールド、およびコマンドが有効であるかを示す単一ビットである出力と同じくらいシンプルです。 ターミナルが不正コマンド検出を実装し、不正コマンドが受信された場合、ターミナルは、ステータス・ワードにメッセージ・エラー・ビットをセットし、ステータス・ワードで応答します。 このオプションを実装するのに良い理由があり、3つの例が以下に提供されます。


例1

バス・コントローラは、不正コマンドを送信することは無いが、リモート・ターミナルは、特に飛行制御、またはパイロットのディスプレイのような飛行、または重大な安全性に分類される場合、 そのデータとアプリケーション・ソフトウェアを保護すべきです。無効データ(このターミナルにとって意図されていないデータ)が不正コマンドに基づきメモリ内に書き込まれた後、 アプリケーション・プログラムにより処理された場合、オートパイロット内の制御法に破滅的な影響を起こす可能性があります。また、パイロットのディスプレイに誤ったデータを提供し、 パイロットに誤った決定をさせる可能性があります。

例2

不正コマンド検出の2つ目の使用は、異なるコマンドが異なる時間に受信されることを可能にすることです。Notice2は、ブロードキャスト・モード・コマンドを許可します。これらコマンドのいくつかは、 システム管理(例えば、ブロードキャスト同期)に役立つ一方で、破滅的な影響(例えば、ブロードキャスト・リセット)を起こす可能性があります。 接地検出信号のようなルックアップPROMに追加入力を提供することにより、一定のコマンドは、整備コマンド、またはブロードキャスト・リセット若しくはセルフテストのように地上では正当ですが、 飛行中には不正となり得ます。

例3

3つ目の理由は、試験に関係します。初期開発、およびインテグレーション中、バス・コントローラのコマンド・ワード内の単一ビットを変化させるプログラミング・エラーが容易に起きます。 ターミナルが形式的に応答する場合、このエラーは、検出するのに長時間かかることがあります。 しかし、不正コマンド検出が実装されている場合、ターミナルは、ステータス・ワードでセットされたメッセージ・エラー・ビットに応答し、全ての1553試験機器は、このイベントをキャッチして、 何が正しくないのかをオペレータに通報し、試験とインテグレーションを容易にします。

ターミナル応答時間

規格は、リモート・ターミナルが、送信コマンド・ワード、または受信メッセージ(コマンド・ワードと全てのデータ・ワード)の検証時、そのステータス・ワードをバス・コントローラに送信しなければなりません。 応答時間は、ターミナルがそのステータス・ワードを送信しなければならない時間の総量です。 正確な測定を可能とするために、時間フレームは、コマンド・ワードのパリティ・ビットのミッドクロスからステータス・ワードの同期フィールドのミッドクロスまで測定されます。最小時間は、4.0μsです。 最大時間は、12.0μsです。しかし、バス上の「デッドタイム」の実量は、パリティと同期波形の半分が測定された時間フレーム中に送信されているので、2~10μsです。バス負荷の計算時、これを思い出すことが重要です。

規格はまたは、ターミナルが応答に失敗したと判断する前に、バス・コントローラがステータス・ワード応答のために最小14.0μs待たなければならないとも規定しています。 長いデータ・バスが使用されているか、または他の特殊条件が存在するアプリケーションにおいては、この時間を20.0μs以上に拡大する必要性があります。

最後に、規格は、リモート・ターミナルが12.0μs以内に正しいステータス・ワードで応答しなければならないと規定していますが、単に迅速に応答できない多くのリモート・ターミナルの例があります。 この理由のため、ほとんどのバス・コントローラは、応答時間の閾値を調整するためのいくつかの方法を持っています。

メッセージ間ギャップ

バス・コントローラは、メッセージ間に最小4.0μsのギャップを提供しなければなりません。この時間フレームは、最後のデータ・ワード、 またはステータス・ワードのパリティ・ビットのミッドクロスから次のコマンド・ワードの同期フィールドのミッドクロスまで測定されます。 バス上の「デッドタイム」の実際の量は、パリティと同期波形の半分が測定された時間フレーム中に送信されているので、2μsです。バス負荷の計算時、これを再び思い出すことが重要です。

次のコマンドを発行するのにバス・コントローラが要求する時間量は、コントローラ・タイプの機能です(ワード、メッセージ、またはフレーム)。 一般的にワード・コントローラに関連するギャップは、40~100μsの間です。メッセージ・コントローラは、一般的に10~30μsのギャップでコマンドを発行することができます。

多くのフレーム・コントローラは、4μsの速度でコマンドを発行できます。これらのコントローラは、 この速度を維持できない多くのリモート・ターミナル(いくつかのバス・コントローラですら)が存在するので、速度を落とすために時間遅延をしばしば必要とします。 いくつかの場合、コマンドの型は、要求されるメッセージ間ギャップに影響する可能性があります。例えば、多重リモート・ターミナルをシミュレートしているデバイスへのブロードキャスト・コマンドは、 シミュレートされたリモート・ターミナルの全てがメッセージを処理する間、より長い時間を必要とします。

コマンド上書き

リモート・ターミナルは、常に新しいコマンドを受信できなければなりません。これは、バスA上のコマンドでの動作時、最小メッセージ間ギャップ後に新しいコマンドが現れる時か、またはバスA上での動作時、新しいコマンドがバスBに現れる時に起こるかも知れません。 これは、コマンド上書きと呼ばれます。2番目の有効なコマンド(新しいコマンド)は、最初のコマンドによるターミナルの動作を停止させ、2番目により開始させます。 二重冗長アプリケーションに対して、この要求は、全てのターミナルが最低2つのレシーバ、2つのデコーダ、および2セットのコマンド・ワード検証ロジックを持たなければならないことを意味します。

MIL-STD-1553解説文書【日本語技術資料プレゼント】

MIL-STD-1553通信規格の日本語技術資料(計51ページ)をIPROSにて配布しており、ダウンロードいただけます。

Copyright(C) MIL-STD-1553.jp All Rights Reserved.