(57)【要約】この発明は、共通バスを介して種々のリモートデバイスとの通信を指示するネットワークコントローラを提供する。ネットワークコントローラは、共通バスを介してメッセージを送信するための送信器、および共通バスからメッセージを受信するための受信器を含む。加えて、ネットワークコントローラは、クロック信号を送信器および受信器の両方に与えるためのクロックを含む。送信器および受信器は、ネットワークコントローラが同期モードまたは非同期モードのどちらかで選択的に作動できるように選択される。動作において、ネットワークコントローラは、マンチェスター符号化プロトコルまたは汎用非同期送受信器（ＵＡＲＴ）プロトコルのどちらかで構成される。送信器は、コマンドと、少なくとも１つのリモートデバイスのアドレスとを含むメッセージを伝送する。一実施例では、送信器は、それぞれのグループに関連づけられる各ビットを備えた複数のビットからなるグループアドレスに従って、メッセージを複数のリモートデバイスに同時に伝送する。
2004516698.tif 000002
【特許請求の範囲】
【請求項１】
共通バスを介して複数の遠隔装置との通信をデジタル指示するためのネットワークコントローラであって、
前記共通バスを介してメッセージをデジタル送信するための送信機と、
前記共通バスからデジタルメッセージを受信するための受信機と、
クロック信号を前記送信機および前記受信機の両方に与えるためのクロックとを含み、
前記送信機および前記受信機はともに、同期モードおよび非同期モードからなるグループから選択されるどちらかのモードで選択的に作動することができ、前記送信機は、前記共通バスを介して、前記同期モードにおいてメッセージおよび前記クロック信号の両方を伝送し、前記送信機は、前記共通バスを介して、前記非同期モードにおいて予め定められたビットレートで１つのクロック信号も伴わずメッセージを伝送する、ネットワークコントローラ。
【請求項２】
前記共通バスを介して前記クロック信号をデジタル伝送するためのクロック送信機をさらに含み、前記クロック送信機は前記非同期モードの間、ある一定のレベルで作動する、請求項１に記載のネットワークコントローラ。
【請求項３】
前記クロックは、前記予め定められたビットレートを規定するボー選択コマンドを受信し、この予め定められたビットレートで、前記送信機は前記非同期モードにおいてメッセージを伝送する、請求項１に記載のネットワークコントローラ。
【請求項４】
前記ネットワークコントローラは、前記共通バスを介して他の遠隔装置との前記通信を少なくとも一時的に指示するよう遠隔装置に命令することのできる、請求項１に記載のネットワークコントローラ。
【請求項５】
前記受信機は前記共通バスからメッセージを非同期的に受信する、請求項１に記載のネットワークコントローラ。
【請求項６】
前記共通バスは、差分ツイスト銅線、同軸の銅線、光ファイバケーブルおよびシングルエンドの銅線からなるグループから選択される、請求項１に記載のネットワークコントローラ。
【請求項７】
前記ネットワークコントローラは、半二重通信モードおよび全二重通信モードからなるグループから選択される通信モードのいずれかで選択的に作動することのできる、請求項１に記載のネットワークコントローラ。
【請求項８】
前記ネットワークコントローラは、別のマスタネットワークコントローラが前記共通バスを介して前記ネットワークコントローラを含む複数の遠隔装置との通信を指示する間、遠隔装置として機能することができる、請求項１に記載のネットワークコントローラ。
【請求項９】
前記ネットワークコントローラは、スタックメモリおよびランダムアクセスメモリ（ＲＡＭ）を有するホストコンピュータと対話することができ、前記ネットワークコントローラが遠隔装置として機能するとき、前記マスタネットワークコントローラは、順次メモリの前記スタックおよび前記ＲＡＭからなるグループから選択されるいずれかの種類のメモリに選択的にアクセスすることのできる、請求項８に記載のネットワークコントローラ。
【請求項１０】
共通バスを介して複数の遠隔装置との通信をデジタル指示するためのネットワークコントローラであって、
前記共通バスを介して予め定められたビットレートで複数の遠隔装置にデジタルメッセージを送信するための送信機を含み、前記送信機は、複数の遠隔装置と通信しつつ、メッセージを伝送する前記予め定められたビットレートを変更することができ、前記ネットワークコントローラはさらに、
前記共通バスを介して複数の遠隔装置からデジタルメッセージを受信するための受信機を含み、これはメッセージが先に複数の遠隔装置に伝送されたのと同じ予め定められたビットレートで行なわれ、これにより、前記受信機は、いかなるクロック信号にも依存することなく、前記送信機が前記予め定められたビットレートを変更するときメッセージを受信することができる、ネットワークコントローラ。
【請求項１１】
前記送信機は、前記予め定められたビットレートの変更後、変更されたビットレートで、１つのメッセージ例を少なくとも１つの前記遠隔装置に伝送する、請求項１０に記載のネットワークコントローラ。
【請求項１２】
前記送信機は、前記予め定められた、前記メッセージが伝送されるビットレートを規定するボー選択コマンドを受信する、請求項１０に記載のネットワークコントローラ。
【請求項１３】
共通バスを介してネットワークコントローラと複数の遠隔装置との間でデジタル通信するための方法であって、
あるコマンドプロトコルに基づき前記コントローラを構成するステップを含み、複数の遠隔装置はこのコマンドプロトコルに従って通信することができ、複数の遠隔装置は、マンチェスター符号化および汎用非同期送受信機（ＵＡＲＴ）プロトコルからなるグループから選択されるコマンドプロトコルに従って通信することができ、前記方法はさらに、
複数の遠隔装置が通信することのできる同じコマンドプロトコルに従って、バスコントローラと複数の遠隔装置との間でメッセージを伝送するステップを含む、方法。
【請求項１４】
メッセージを伝送するステップは、複数の遠隔装置がマンチェスター符号化コマンドプロトコルに従って通信できる場合、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップを含み、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップは、同期モードおよび非同期モードからなるグループから選択されるモードに従ってメッセージを伝送するステップを含む、請求項１３に記載の方法。
【請求項１５】
前記同期モードでメッセージを伝送するステップは、メッセージを伝送しつつ、共通のクロック送信機を介して前記ネットワークコントローラから複数の遠隔装置にクロック信号を同時に伝送するテップを含み、前記非同期モードでメッセージを伝送するステップは、クロック信号を伝送することなく予め定められたビットレートでメッセージを伝送するステップを含む、請求項１４に記載の方法。
【請求項１６】
前記メッセージは少なくとも１つのメッセージパルスを含み、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップは、前記非同期モードでメッセージを伝送するステップを含み、前記メッセージパルスのエッジを使用する前記メッセージの同期をとるステップをさらに含む、請求項１４に記載の方法。
【請求項１７】
メッセージを伝送するステップは、複数の遠隔装置がマンチェスター符号化コマンドプロトコルに従って通信できる場合、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップを含み、マンチェスター符号化プロトコルに従ってメッセージを伝送するステップは、複数のビットからなるメッセージを伝送するステップを含み、各ビットは第１の状態と第２の状態との間の遷移によって規定される値を有する、請求項１３に記載の方法。
【請求項１８】
メッセージを伝送するステップは、複数の遠隔装置がマンチェスター符号化コマンドプロトコルに従って通信できる場合、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップを含み、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップは、同期部、メッセージ本体およびパリティフラグからなるメッセージを伝送するステップを含む、請求項１３に記載の方法。
【請求項１９】
マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送するステップは、同期部、エラーフラグビットを含むメッセージ本体、およびパリティフラグからなるメッセージを伝送するステップを含む、請求項１８に記載の方法。
【請求項２０】
メッセージを伝送するステップは、複数の遠隔装置が前記ＵＡＲＴコマンドプロトコルに従って通信できる場合、前記ＵＡＲＴコマンドプロトコルに従ってメッセージを伝送するステップを含み、前記ＵＡＲＴプロトコルに従ってメッセージを伝送するステップは、予め定められたビットレートで、かつ非ゼロ復帰（ＮＲＺ）ビットフォーマットに従ってメッセージを伝送するステップを含む、請求項１３に記載の方法。
【請求項２１】
メッセージを伝送するステップは、複数の遠隔装置が前記ＵＡＲＴコマンドプロトコルに従って通信できる場合、前記ＵＡＲＴコマンドプロトコルに従ってメッセージを伝送するステップを含み、前記ＵＡＲＴコマンドプロトコルに従ってメッセージを伝送するステップは、各メッセージを伝送する前に、複数の遠隔装置をリセットするためにアイドルパターンを伝送するステップを含む、請求項１３に記載の方法。
【請求項２２】
次に続くコントローラの構成がコマンドプロトコル選択コマンドに基づくように、コマンドプロトコル選択コマンドをコントローラで受信するステップをさらに含む、請求項１３に記載の方法。
【請求項２３】
伝送するステップは、半二重通信モードおよび全二重通信モードからなるグループから選択されるいずれかの通信モードでメッセージを選択的に伝送するステップを含む、請求項１３に記載の方法。
【請求項２４】
共通バスを介して複数の遠隔装置との通信をデジタル指示するためのネットワークコントローラであって、
前記共通バスを介してデジタルメッセージを送信するための送信機と、
前記共通バスからデジタルメッセージを受信するための受信機と、
クロック信号を前記送信機および前記受信機の両方に与えるためのクロックとを含み、
前記送信機および前記受信機はともに、マンチェスター符号化および汎用非同期送受信機（ＵＡＲＴ）プロトコルからなるグループから選択されるコマンドプロトコルのいずれにも従って選択的に作動することができ、前記送信機および前記受信機は、コマンドプロトコルを識別するコマンドプロトコル選択コマンドに応答し、前記コマンドプロトコルに従って複数の遠隔装置は通信することができ、このため、前記送信機および前記受信機はその後、前記プロトコル選択コマンドによって識別される前記コマンドプロトコルに従って、メッセージを、それぞれ送信および受信する、ネットワークコントローラ。
【請求項２５】
前記送信機は、マンチェスター符号化コマンドプロトコルに従って作動しつつ、マンチェスター符号化コマンドプロトコルに従ってメッセージを伝送し、前記送信機は、同期モードおよび非同期モードからなるグループから選択されるモードに従ってマンチェスター符号化されたメッセージを伝送する、請求項２４に記載のネットワークコントローラ。
【請求項２６】
前記送信機は、メッセージを前記同期モードで伝送しつつ、クロック信号を共通クロックバスを介して複数の遠隔装置に同時に伝送し、前記送信機は、クロック信号を伝送することなく、前記非同期モードにおいて予め定められたビットレートでメッセージを伝送する、請求項２５に記載のネットワークコントローラ。
【請求項２７】
前記送信機は、複数のビットからなるマンチェスター符号化されたメッセージを伝送し、各ビットは第１の状態と第２の状態との間の遷移により規定される値を有する、請求項２４に記載のネットワークコントローラ。
【請求項２８】
前記送信機は、同期部、メッセージ本体およびパリティフラグからなるマンチェスター符号化されたメッセージを伝送する、請求項２４に記載のネットワークコントローラ。
【請求項２９】
前記送信機は、メッセージを、ＵＡＲＴプロトコルに従って、予め定められたビットレートで、かつ非ゼロ復帰（ＮＲＺ）ビットフォーマットを用いて伝送する、請求項２４に記載のネットワークコントローラ。
【請求項３０】
前記送信機は、前記ＵＡＲＴコマンドプロトコルに従って作動しつつ、各メッセージを伝送する前に、複数の遠隔装置をリセットするためにアイドルパターンを伝送する、請求項２４に記載のネットワークコントローラ。
【請求項３１】
前記送信機は、差分ツイスト銅線、同軸の銅線および光ファイバケーブルからなるグループから選択される前記共通バスを介してメッセージを伝送する、請求項２４に記載のネットワークコントローラ。
【請求項３２】
前記ネットワークコントローラは、半二重通信モードおよび全二重通信モードからなるグループから選択されるいずれかの通信モードで選択的に作動することのできる、請求項２４に記載のネットワークコントローラ。
【請求項３３】
共通バスを介して複数の遠隔装置との通信をデジタル指示するためのネットワークコントローラであって、バスコントローラは、
前記共通バスを介してデジタルメッセージを送信するための送信機を含み、前記送信機は、コマンドと、少なくとも１つの遠隔装置のアドレスとを含むメッセージを伝送するよう適合され、前記送信機は、それぞれのグループに関連づけられた各ビットを備えた、複数のビットからなるグループアドレスに従って、メッセージを複数の遠隔装置に同時に伝送するようさらに適合され、これにより、前記送信機は、グループアドレスのそれぞれのビットをセットすることによってメッセージを遠隔装置の或る群に向けることが可能となり、前記バスコントローラはさらに、
前記共通バスからデジタルメッセージを受信するための受信機を含む、ネットワークコントローラ。
【請求項３４】
前記送信機はまた、複数の遠隔装置に割当てられる固有の論理アドレスに従って、メッセージを個々の遠隔装置に伝送するよう適合される、請求項３３に記載のネットワークコントローラ。
【請求項３５】
前記送信機はまた、グローバルアドレスに従って、メッセージを複数のリモートアドレスのすべてに伝送するよう適合される、請求項３４に記載のネットワークコントローラ。
【請求項３６】
共通バスを介して複数の遠隔装置との通信をデジタル指示するためのネットワークコントローラであって、
前記共通バスを介してメッセージをデジタル送信するための送信機と、
前記共通バスからデジタルメッセージを受信するための受信機とを含み、
前記送信機は、前記共通バスを介して無限に繰返すシーケンスの予め定められたメッセージを伝送することができ、前記受信機は、前記共通バスから無限に繰返すシーケンスのメッセージを受信することができ、前記ネットワークコントローラは、前記送信機がメッセージを伝送し、前記受信機がメッセージを受信する時、前記予め定められたメッセージを変更することのできる、ネットワークコントローラ。
【請求項３７】
クロック信号を前記送信機および前記受信機の両方に与えるためのクロックをさらに含み、前記送信機および前記受信機はともに、同期モードおよび非同期モードからなるグループから選択されるどちらかのモードで選択的に作動することができ、前記送信機は、前記同期モードにおいて前記共通バスを介して前記メッセージおよび前記クロック信号の両方を伝送し、前記送信機は、いずれのクロック信号も伴わず、前記非同期モードにおいて予め定められたビットレートで前記共通バスを介して前記メッセージを伝送する、請求項３６に記載のネットワークコントローラ。
【請求項３８】
対象物上の関心のあるさまざまな位置を監視するための監視システムであって、
第１の位置に配置される、前記対象物上の遠隔装置の第１の組と、
第２の位置に配置される、前記第１の位置から離れた前記対象物上の遠隔装置の第２の組と、
デジタルコマンドおよびデータを遠隔装置に送り、データを前記遠隔装置から受取るためのネットワークコントローラと、
遠隔装置の前記第１の組および第２の組の各々のうち、前記遠隔装置の各々を接続する共通バスとを含み、前記共通バスは、
遠隔装置の前記第１の組のうち遠隔装置の各々を共に相互接続するための第１の電気配線と、遠隔装置の前記第２の組のうち前記遠隔装置の各々を共に相互接続するための第２の電気配線と、
前記第１の位置にある遠隔装置の前記第１の組を、前記第２の位置にある遠隔装置の前記第２の組と相互接続するための光ファイバとを含み、前記第１の位置から前記第２の位置までつなぐための前記光ファイバを用いることにより、前記ネットワークコントローラと前記遠隔装置との間のコマンドおよびデータの伝送が容易になる、監視システム。
【請求項３９】
前記第１の電気配線および前記第２の電気配線のうち１つと前記光ファイバとの間で接続される少なくとも１つの変換装置をさらに含み、前記変換装置は、前記光ファイバをわたる伝送のために、前記電気配線からの電気信号を光信号に変換し、前記電気配線をわたる伝送のために、前記光ファイバからの光信号を電気信号に変換する、請求項３８に記載の監視システム。
【請求項４０】
前記共通バスの前記第１の電気配線および前記第２の電気配線は半二重であり、前記共通バスの前記光ファイバは全二重であり、前記変換装置は、前記共通デジタルバス上で伝送されるデジタルコマンドおよびデータを、前記光ファイバ上の伝送のために半二重から全二重へ、かつ前記第１の電気配線および前記第２の電気配線上の伝送のために全二重から半二重へ変換する、請求項３９に記載の監視システム。
【請求項４１】
前記変換装置は、
デジタルコマンドおよびデータを送受信するための、前記共通バスの前記電気配線および前記光ファイバとの電気通信状態にあるトランシーバと、
前記トランシーバとの電気通信状態にあるロジックとを含み、このロジックは、前記光ファイバをわたる伝送のために、前記電気配線からの電気信号を光信号に変換し、かつ、前記電気配線をわたる伝送のために、前記光ファイバからの光信号を電気信号に変換するためのものである、請求項４０に記載の監視システム。
【請求項４２】
前記ロジックは、前記光ファイバをわたる伝送のために、前記電気配線からのデジタルコマンドおよびデータを全二重フォーマットに変換し、かつ、前記電気配線をわたる伝送のために、前記光ファイバからのコマンドおよびデータを半二重フォーマットに変換する、請求項４１に記載の監視システム。
【発明の詳細な説明】
【０００１】
［連邦政府支援による研究または開発］
この発明は、ＮＡＳＡにより与えられた協力協定番号第ＮＣＣＷ−００７６号の下、連邦政府支援でなされた。政府はこの発明の或る権利を有する。
【０００２】
［関連する出願の相互参照］
この出願は、引用により内容がこの明細書中に援用される、２０００年１２月８日に出願された、「共通バスを介して遠隔装置をデジタル制御するためのネットワークコントローラ（Ｎｅｔｗｏｒｋ Ｃｏｎｔｒｏｌｌｅｒ ｆｏｒ Ｄｉｇｉｔａｌｌｙ Ｃｏｎｔｒｏｌｌｉｎｇ Ｒｅｍｏｔｅ Ｄｅｖｉｃｅｓ ｖｉａ ａ Ｃｏｍｍｏｎ Ｂｕｓ）」と題される、米国仮特許出願連続番号第６０／２５４，１３７号の優先権を主張する。
【０００３】
【発明の分野】
この発明は、一般的にネットワークコントローラに関し、特に、共通バスを介して種々の遠隔装置との通信をデジタル指示するための装置および方法に関する。
【０００４】
【発明の背景】
多くの産業では今日、監視システムを用いて、起こり得るシステム障害、または当該対象物に対する環境および他の外力の影響について評価する。たとえば、航空電子工学産業においては、監視システムは、航空機におけるさまざまな重要な構造的位置でのひずみ、加速度、圧力、腐食および温度等のパラメータを監視するために用いられる。同様に、このような監視システムは、乗員によるオン／オフ制御からドライブトレイン制御およびマルチメディアシステムに至るすべてを制御および監視するために、自動車産業において用いることができる。
【０００５】
これらの従来の監視システムの多くは複数の遠隔装置を用い、この複数の遠隔装置には、重要な位置で監視されている対象物のまわりに配置されるセンサ、アクチュエータおよびサブシステム等がある。これらの従来の監視システムの多くは専用のアナログ信号接続を利用し、こうして監視システムをその適用に専用のものとし、監視されるべき各装置への別個の配線でもって配線システムを複雑にする。ネットワーク化が存在する場合、一緒にネットワーク接続され、多くの個々のアナログ信号を集める多くのマルチプレクサユニットがしばしば存在する。現在、アナログ配線はより短いものの、個々の変換器への専用の配線がまだかなり多く存在する。さらに、既存の、かつ提案される「スマート変換器」プロトコルは、変換器での信号調節が可能であり、さほど大量なアナログ信号配線なしでも十分なデジタルネットワーク化解決策を提供するものの、ほとんどの適用例において費用効率性を達成するための時間決定性、速度、単純性にしばしば欠けている。
【０００６】
航空電子工学産業および自動車産業を含む多くの産業においては、今日、ネットワークの複雑さが、いくつかの理由のために従来の多くの監視システムを非実用的にするおそれがある。特に、専用の配線および信号調節は、高価で、嵩高く、重く、しかも設置し維持するには困難であるおそれがある。これは航空機への適用においては特に重要であり、この場合重量が第一に問題とされる。さらに、自動車産業においては、追加の配線により重量が増し、ことによると車のサイズが大きくなるおそれもある。加えて、専用の配線および信号調節は自動車の電子制御モジュールの適用を限定するので、さらに高価なものとなる。さらに、専用の配線は工場および業者が利用可能なオプションの量を制限するが、これは、余分のハーネスおよびインターフェイスを備えたオプションに対して自動車のプラットフォームを用意する余分な費用のせいである。
【０００７】
加えて、上述のとおり、従来の多くの監視システムはデータをアナログ形式で伝送する。典型的には、アナログ信号は、データ伝送中、信号に入るノイズの影響を受けやすい。伝送された信号の多くが初めに低振幅である場合、このノイズは、信号が変換器から信号調節器へと伝搬するときこれらの信号を歪ませるおそれがある。さらに、これら遠隔装置の多くはコントローラからかなり離れて分散しているので、遠隔装置をコントローラに接続する電気線は、直流抵抗のせいで信号劣化を引き起こすほど十分に長くなるおそれがある。
【０００８】
このことを考慮に入れると、専用の配線を共通バスに、かつアナログ伝送をデータのデジタル伝送に置換えることが有利であるだろう。しかし、従来の多くのデジタルネットワークには、それら自体に種々の問題がある。たとえば、多くの既存のデジタルネットワークは、プロセッサを必要とする複雑なプロトコルを要し、このため高いオーバーヘッドネットワーク通信となる。このようなシステムにおいてプロセッサを用いることにより、結果としてネットワークインターフェイスは嵩高くより高価なものとなる。さらなる問題として、低い最大ビットレート、（オーバーヘッドのために）低い有効データレート、高価な物理層、および少ないネットワークデバイス数がある。さらに、デジタルネットワークを含む多くのコンピュータシステムは、時間決定的な態様では作動しない。これらのコンピュータシステムは、一般的に、ネットワーク構成要素に対する、正確なタイミングで繰返すトリガコマンドをスケジュールするための能力に欠けている。
【０００９】
上述のことを考慮に入れると、ネットワーク構成要素が、安価、単純、かつ高速であるがロバストなネットワーク線を介して、単純なメッセージプロトコル、小さな構成要素寸法かつ少ないワイヤ数でデジタル通信することが可能となる、ネットワークシステムを提供することが有利であろう。ネットワークシステムはまた、ネットワーク構成要素のためにマイクロコントローラまたはプロセッサを用いることなく、有利に作動し得る。また、ネットワークシステムは獲得および制御の両方をサポートし、データを構成要素から同時に獲得し、かつ、同期が取られた、構成要素からのデータサンプルで作動し得る。さらに、ネットワークシステムは多くの構成要素数、より長いネットワーク線が可能であり、正確な態様で時間決定性を確実なものにし得る。
【００１０】
【発明の概要】
以上の背景を考慮すると、この発明は、したがって、複数の遠隔装置との通信を共通バスを介してデジタル指示するためのネットワークコントローラを提供する。この発明のネットワークコントローラにより、さまざまな遠隔装置が同期または非同期モードのどちらかで、安価、単純かつ高速であるがロバストなネットワーク線を介して、単純なネットワークプロトコル、小さい構成要素寸法かつ少ないワイヤ数で通信することが可能となる。有利には、この発明のネットワークコントローラは、共通ネットワークを介して遠隔装置に接続し、これによりさまざまな遠隔装置が、ネットワークコントローラとの通信のために同じ配線を共有することが可能となる。加えて、この発明のネットワークコントローラは、多くの構成要素数、より長いネットワーク線が可能であり、正確な態様で時間決定性を確実なものとする。ネットワークコントローラはまた、データが遠隔装置との間を可変ビットレートで流れることを可能にし、獲得および制御の両方をサポートし、かつ、任意選択の連続同期クロックまたは（しばしば「等時性」と称される）非同期通信中の同期化された状態変化のどちらかを用いて、同期が取られたデータを遠隔装置から同時に獲得する。
【００１１】
さらに、ネットワークコントローラはネットワークプロトコルと関連して作動し、このネットワークプロトコルにより、コントローラは、ネットワーク全体にわたって一度に１つまたは複数の遠隔装置と通信することが可能となる。重要なことには、このネットワークプロトコルは固定された低レベルの命令セットを有する。ネットワークプロトコルの単純さのために、この発明のネットワークコントローラは、プロセッサはないが代わりにステートマシンを含み、このステートマシンが、パススルーロジックを用いてネットワークコントローラとの間でコマンドおよびデータを処理する遠隔装置と作動することができる。
【００１２】
上述のとおり、この発明のネットワークコントローラにより、さまざまな遠隔装置が、同期または非同期モードのどちらかにおいて、安価、単純かつ高速であるがロバストな共通ネットワークを介してデジタル通信することが可能となる。ネットワークコントローラは、センサ、アクチュエータおよびサブシステムと通信することが可能であり、こうして獲得および制御の両方を可能にする。ネットワークコントローラはまた、メッセージを共通バスを介してデジタル伝送するための送信機、およびメッセージを共通バスから受取るための受信機を含む。加えて、ネットワークコントローラは、クロック信号を送信機および受信機の両方に与えるためのクロックを含む。送信機および受信機は、ネットワークコントローラが同期または非同期モードのどちらかで選択的に作動することができるように選択される。同期モードにおいては、送信機は、メッセージおよびクロック信号の両方を共通バスを介してデジタル伝送する。そして非同期モードでは、送信機は、メッセージを、いかなるクロック信号をも伴うことなく、予め定められたビットレートで共通バスを介してデジタル伝送する。
【００１３】
さらに、同期が取られたデータサンプルをネットワークコントローラが遠隔装置から受信できるようにするために、一実施例では、ネットワークコントローラはさらに、クロック信号を共通バスを介して伝送するためのクロック送信機を含む。このクロック信号を遠隔装置が同期モードで用いて、データをクロック同期して引入れたり引出したりする。遠隔装置が同期クロック信号とは対照的にビットレートに基づき作動する非同期モードでは、クロック送信機はある一定のヌルのレベルで作動する。別の実施例では、ネットワークコントローラは、送信機がメッセージを非同期モードで伝送する予め定められたビットレートを規定するボー選択コマンドを発行する。加えて、ネットワークコントローラが非同期モードで作動する実施例では、受信機は、メッセージがコントローラによって伝送されるビットレートに基づき、メッセージを共通バスから受信する。さらに、遠隔装置のすべては、単独で、しばしば等時性モードと称される、メッセージ内の、予め定められた状態変化ビットに同期することができる。
【００１４】
さらに別の実施例では、ネットワークコントローラの送信機は、複数の遠隔装置と通信しつつ、メッセージが伝送される予め定められたビットレートを変更することができる。この実施例では、受信機は、ネットワークコントローラが先にメッセージを遠隔装置に伝送したのと同じ予め定められたビットレートで、共通バスを介して遠隔装置からメッセージを受信する。これにより、受信機は、いかなるクロック信号にも依存することなく、送信機が予め定められたビットレートを変更するなか、メッセージを受信することが可能となる。一実施例では、ネットワークコントローラは、遠隔装置がネットワークコントローラと確実に同期状態にあるようにするために予め定められたビットレートを変更した後、メッセージ例を、ある変更されたビットレートで遠隔装置に伝送する。さらなる実施例では、ネットワークコントローラは、メッセージが伝送される予め定められたビットレートを規定するボー選択コマンドを送信機に発行する。
【００１５】
上述のように、動作においては、ネットワークコントローラは低レベルの命令セットを有するネットワークプロトコルと関連して作動して、ネットワークコントローラがネットワーク全体にわたり一度に１つまたは複数の遠隔装置と通信することを可能にする。したがって、さまざまな実施例では、ネットワークプロトコルは、遠隔装置が理解できるコマンドプロトコルに応じて、マンチェスター符号化または汎用非同期送受信機（ＵＡＲＴ：Ｕｎｉｖｅｒｓａｌ Ａｓｙｎｃｈｒｏｎｏｕｓ Ｒｅｃｅｉｖｅｒ Ｔｒａｎｓｍｉｔｔｅｒ）のどちらかで構成される。一実施例では、ネットワークコントローラおよび遠隔装置は、マンチェスター符号化形式またはＵＡＲＴ符号化形式のどちらかで作動するよう予め構成される。別の実施例では、ネットワークコントローラはコマンドプロトコル選択コマンドを受信し、このため、次に続くネットワークコントローラの構成がコマンドプロトコル選択コマンドに基づいたものとなる。別の実施例では、ネットワークコントローラは、プロトコル選択コマンドを送信機および受信機に送って、複数の遠隔装置がそれに従って通信することができるコマンドプロトコルを識別し、送信機および受信機はその後、プロトコル選択コマンドにより識別されるコマンドプロトコルに従って、メッセージをそれぞれ伝送および受信する。上述のように、ネットワークプロトコルが単純であるため、この発明のネットワークコントローラは、プロセッサがないが代わりにステートマシンを含む遠隔装置を制御することが可能となる。
【００１６】
ネットワークコントローラがさまざまな遠隔装置を共通バスを介して制御し、正確な態様で時間決定性を確実なものとするので、ネットワークコントローラはアドレス指定方式を用いて作動する。一実施例では、送信機は、コマンドと、少なくとも１つの遠隔装置のアドレスとを含むメッセージを伝送する。さらに、送信機は、コマンドと、装置の或る群を表わすアドレスとに従って、メッセージを複数の遠隔装置に同時に伝送する。この実施例では、各遠隔装置は、割当てられた固有のアドレスおよび／または１つもしくは２つ以上の割当てられたグループアドレスに対して反応および応答することができる。グループアドレス伝送により、送信機は、メッセージを遠隔装置の或る群に向けて送ることができる。さらなる実施例では、送信機は、複数の遠隔装置の各々に割当てられる固有の論理アドレスに従って、メッセージを個々の遠隔装置に付加的に伝送することができる。別の実施例では、送信機はまた、グローバルアドレスに従って複数のリモートアドレスのすべてにメッセージを伝送するよう適合される。
【００１７】
一旦構成されると、ネットワークコントローラは次いで、複数の遠隔装置がそれで理解できる同じコマンドプロトコルに従って、ネットワークコントローラ自体と遠隔装置との間でメッセージを伝送することができる。ネットワークコントローラがマンチェスター符号化コマンドプロトコルに基づきメッセージを伝送する実施例では、ネットワークコントローラは、同期または非同期モードのどちらかでメッセージを伝送する。マンチェスター符号化コマンドプロトコルで伝送されるこれらのメッセージは、同期部、メッセージ本体およびパリティフラグを含み、伝送される各ビットの値は第１の状態と第２の状態との間の電圧遷移により規定される。ネットワークコントローラがメッセージを同期モードで伝送し、かつクロック送信機を含む一実施例では、ネットワークコントローラは、送信機を介してメッセージを伝送しつつ、クロック送信機を介して遠隔装置にクロック信号を同時に伝送することができる。さらに、非同期モードで作動する場合、ネットワークコントローラは、クロック信号を伝送することなく、予め定められたビットレートでメッセージを伝送する。
【００１８】
ネットワークコントローラがＵＡＲＴコマンドプロトコルに従ってメッセージを伝送する実施例では、ネットワークコントローラは、予め定められたビットレートで、かつ非ゼロ復帰（ＮＲＺ）ビット形式に従ってメッセージを伝送する。別の実施例では、同様にネットワークコントローラがＵＡＲＴコマンドプロトコルに従ってメッセージを伝送する場合、ネットワークコントローラはアイドルパターンを伝送して、各メッセージを伝送する前に複数の遠隔装置をリセットする。
【００１９】
［詳細な説明］
この発明は、この発明の好ましい実施例が示される添付の図面に関連して、以下にさらに十分に記載される。この発明は、しかしながら、多くの異なった形態で実現可能であり、この明細書中に述べられる実施例に限定されるものと解釈されるべきではなく、むしろ、これらの実施例は、この開示が綿密かつ完全であり、この発明の範囲を当業者に十分に伝えるように提供される。同じ番号が全体を通じて同様の要素を参照する。
【００２０】
上述のように、従来の多くのアナログネットワークシステムは、システム内の各構成要素から延びる、高価で、嵩高く、重くしかも設置および維持するには困難であり得る専用のワイヤおよび信号調節器の別個の組を必要とし、また、ワイヤの直流抵抗およびノイズのために信号劣化を被る。加えて、従来の多くのデジタルネットワークシステムは、プロセッサを必要とする複雑な通信方式を要し、このため高いオーバーヘッドネットワーク通信となる。これらの従来のデジタルネットワークシステムはまた、別個のクロック信号を必要とすることがあり、獲得および制御の両方をサポートしないかもしれず、短いネットワーク長をサポートするだけかもしれない。さらに、従来の多くのデジタルネットワークシステムは、時間決定性の態様では作動せず、嵩高いネットワークインターフェイス、遅いネットワークデータレート、および少ないネットワークデバイス数を有する。
【００２１】
以下にさらに詳細に記載されるように、この発明は、センサ、アクチュエータおよびサブシステム等のさまざまな遠隔装置が、安価、単純かつ高速であるがロバストなネットワーク線を介して、単純なメッセージプロトコル、小さな構成要素寸法かつ少ないワイヤ数で通信することを可能にする、デジタルネットワークシステムを提供することにより、これらおよび他の問題を改善する。有利には、この発明のネットワークコントローラは、共通ネットワークを介して遠隔装置に接続し、これによりさまざまな遠隔装置が、ネットワークコントローラとの通信のために同じ配線を共有することが可能となる。加えて、この発明のネットワークコントローラはまた、最小のサイズの装置、より長いネットワーク線を可能とし、正確な態様で時間決定性を確実なものとする。ネットワークコントローラはまた、獲得および制御の両方をサポートし、データを遠隔装置から同時に獲得し、遠隔装置からの同期が取られたデータサンプルで作動する。
【００２２】
さらに、この発明のネットワークコントローラは、ネットワークプロトコルと関連して作動し、このネットワークプロトコルにより、コントローラがネットワーク全体にわたって一度に１つまたは複数の遠隔装置と通信することが可能となる。重要なことには、ネットワークコントローラによって用いられるネットワークプロトコルは、固定された低レベルの命令セットを有する。ネットワークプロトコルの単純さのために、この発明のネットワークコントローラは、プロセッサはないが代わりにステートマシンを含み、このステートマシンが、パススルーロジックを用いてネットワークコントローラとの間でコマンドおよびデータを処理する遠隔装置と作動することができる。
【００２３】
上述のように、この発明のネットワークコントローラを用いて、共通ネットワークバスを介してさまざまな遠隔装置を相互接続する。図１には、この発明のネットワークコントローラを実現する一実施例が示される。この図は、この発明がさらに完全に理解され得るように提供される。この発明がこの構成に限定されず、多くの異なったネットワークシステムで実現され得ることが理解されるべきである。
【００２４】
図１では、この発明で用いられるネットワーク化されたシステム２５の一般的な実施例が示される。特に、ネットワーク接続されたシステムは、高レベルのプロセッサまたはパーソナルコンピュータ等のホストコンピュータ３０を含み、このホストコンピュータ３０は、センサ、アクチュエータおよびサブシステム等の、ネットワークにおける所望の地点に位置する遠隔装置３６からのデータを処理し、コマンドおよびデータを遠隔装置３６へ送る。ネットワーク接続されたシステムはさらに、ホストコンピュータとネットワークバス３４との間に接続される、この発明のネットワークコントローラ３２を含む。重要なことには、この発明のネットワークコントローラは、ネットワークコントローラおよび遠隔装置を相互接続する共通バスをも含むデジタルネットワークの一部を含む。
【００２５】
いくつかの実施例では、遠隔装置３６は、ネットワーク２５に接続される、図示されていないネットワークデバイスインターフェイス（ＮＤＩ）を含み得る。ＮＤＩは、変換器が、センサであろうとアクチュエータであろうと、ネットワークコントローラと直接通信できない実施例において用いられる。ＮＤＩはコマンドをネットワークコントローラから受取り、これを翻訳し、ネットワークコントローラからのコマンドおよびデータに基づき、センサまたは起動アクチュエータからのデータの受取等の信号調節を制御する。ＮＤＩはさらに、センサおよび／またはアクチュエータからのデータおよび／またはメッセージを記憶するためのスタックメモリのブロックを含む。この実施例では、ネットワークコントローラは、スタックメモリの最上部にデータをプッシュ動作で載せるか、そこからデータをポップ動作で取り去ることができる。また、ＮＤＩはデータを信号調節装置から受取り、フォーマットし、ネットワークコントローラに送り得る。この発明はコントローラに焦点を当てているので、以下のさまざまな実施例は、ネットワークコントローラとＮＤＩとの間の通信については言及しないが、その代わり、ネットワークコントローラと通信する遠隔装置を説明する。いくつかの実施例では、遠隔装置はネットワークコントローラと適切に通信するのに必要な構成要素を含むが、他の実施例ではＮＤＩが必要とされることを理解すべきである。このため、以下に説明される遠隔装置のさまざまな通信は、遠隔装置またはＮＤＩのどちらかによって行なわれ得る。このようなＮＤＩの完全で詳細な開示は、２０００年１２月８日に出願された、「ネットワークを介して遠隔装置をコントローラにデジタルインターフェイスするためのネットワークインターフェイスデバイス（Ｎｅｔｗｏｒｋ Ｉｎｔｅｒｆａｃｅ Ｄｅｖｉｃｅ ｆｏｒ Ｄｉｇｉｔａｌｌｙ Ｉｎｔｅｒｆａｃｉｎｇ Ｒｅｍｏｔｅ Ｄｅｖｉｃｅｓ ｔｏ ａ Ｃｏｎｔｒｏｌｌｅｒ ｖｉａ ａ Ｎｅｔｗｏｒｋ）」と題される、米国仮特許出願第６０／２５４，１３６号、および、２０００年１２月１２日に出願された、「ネットワークを介してデータチャネルをコントローラにデジタルインターフェイスするためのネットワークデバイスインターフェイス（Ｎｅｔｗｏｒｋ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ ｆｏｒ Ｄｉｇｉｔａｌｌｙ Ｉｎｔｅｒｆａｃｉｎｇ Ｄａｔａ Ｃｈａｎｎｅｌｓ ｔｏ ａ Ｃｏｎｔｒｏｌｌｅｒ ｖｉａ ａ Ｎｅｔｗｏｒｋ）」と題される、米国特許出願第０９／７３５，１４６号に提供される。この特許出願の内容は、引用によりこの明細書中にすべてが援用される。
【００２６】
上述のように、ネットワークプロトコルおよびホストコンピュータ３０に結合されるネットワークコントローラ３２により、ネットワーク２５はセンサ、アクチュエータおよびサブシステム等のさまざまな遠隔装置３６と通信することが可能となる。さらに特には、ネットワークコントローラは、遠隔装置をネットワークコントローラに相互接続するネットワークバス３４を制御する。ネットワークコントローラはネットワークバスを用いてコマンドを遠隔装置に送り、遠隔装置から応答を受取る。ネットワーク内では、ネットワークコントローラは、典型的にはホストコンピュータにより制御される。デフォルトにより、ホストコンピュータは、一般的には、始動時のネットワークバスの初期化、初期コマンドの送出およびすべてのハードウェアのリセットを担う。加えて、ホストコンピュータは、電源投入時に初期ネットワークコントローラとして機能する。さらに、いくつかの実施例では、ホストコンピュータはまた、操作可能なネットワークコントローラとして機能してもよい。
【００２７】
同様に、ネットワークコントローラ３２はまた、始動時のバスの初期化、初期コマンドの送出およびすべてのハードウェアのリセットを担うべき知能を含んでいてもよい。加えて、ネットワークコントローラは、電源投入時にマスタネットワークコントローラ、すなわちホストコンピュータ３０として機能してもよく、このため、予めプログラムされたコマンドの流れをネットワークに発行し、データをネットワークコントローラを介してホストコンピュータに戻す能力を有する。ネットワークコントローラはまた、ホストコンピュータにより与えられるデータからの予めプログラムされたコマンドのメッセージ引数を変えることもできる。このような一実施例により、プロセッサのない、時間決定的なネットワークの作動が可能となるが、制御情報を処理し、ネットワークに渡すこともさらに可能となる。
【００２８】
ネットワークコントローラ３２が反対にホストコンピュータ３０の機能を果たすのは、それがネットワークコントローラに制御を渡すときである。ネットワークコントローラがホストコンピュータの機能を果たすことが可能であり、また何度も果たすので、ネットワークコントローラに関してのみ以下に記載される。加えて、ネットワークコントローラの機能のうちいくつかは、ステートデバイスおよび／または特定用途向けＩＣ（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔｓ）等のハードウェア、またはソフトウェアのどちらかを介して実行されるが、多くのハードウェアの機能は、この発明の精神および範囲から逸脱することなく、ソフトウェアを用いて、また逆の場合も同様に実行され得る。
【００２９】
一実施例においてマスタネットワークコントローラ、すなわちホストコンピュータ３０として作動するネットワークコントローラ３２に加えて、別の実施例では、ネットワークコントローラはネットワーク２５上に遠隔装置３６として作動するよう構成され得る。この実施例では、ネットワークコントローラは、別のサブシステムホストコンピュータに対するＮＤＩとして、ネットワーク２５上で機能し得る。この実施例では、ネットワークバス３４はホストコンピュータとサブシステムホストコンピュータとの間にシステム間接続を提供する。このため、ネットワークコントローラと遠隔装置との、以下に説明されるさまざまな通信は、ネットワークコントローラと遠隔装置もしくはＮＤＩ、またはネットワークコントローラと、ＮＤＩとして機能する他のネットワークコントローラとの間のどちらかで実行され得る。
【００３０】
遠隔装置３６として作動するＮＤＩの能力に加えて、ネットワークコントローラ３２は、ＮＤＩでは利用できないかもしれない追加のメモリ能力を加える。ＮＤＩは、トランスデューサ電子データシート（ＴＥＤＳ：Ｔｒａｎｓｄｕｃｅｒ Ｅｌｅｃｔｒｏｎｉｃ Ｄａｔａ Ｓｈｅｅｔ）と称される、構成および較正データを記憶するメモリの組を含む。各ネットワークコントローラを含む各ネットワークデバイスは、ＴＥＤＳを含み得る。ＴＥＤＳ内に含まれるメモリ領域のいくつかをユーザが変更することはできない。他の領域は、論理アドレスおよびグループアドレス等の情報に対する必須のユーザ領域、およびＡＳＣＩＩ記述領域であり、さらに他の領域は必須ではない。有利には、遠隔装置として作動するネットワークコントローラのために、この追加の空間を用いて、遠隔装置のホストコンピュータ内にあるメモリの大きなブロック、典型的にはランダムアクセスメモリ（ＲＡＭ）および／またはＥＥＰＲＯＭメモリにアクセスすることができる。これにより、マスタネットワークコントローラは、たとえばＮＤＩ上のスタックメモリだけでなく、遠隔装置（すなわち、ＮＤＩとして機能するネットワークコントローラ）のホストコンピュータにおけるＲＡＭおよび／またはＥＥＰＲＯＭ記憶場所にもアクセスすることが可能となる。
【００３１】
この発明のネットワークコントローラ３２が共通ネットワーク２５を介して遠隔装置に接続するので、ネットワークコントローラはネットワークを制御するための各遠隔装置への専用の接続を必要としない。ネットワークコントローラは代わりに、アドレス指定方式を用いて、遠隔装置３６の各々の割当および制御を行なう。ネットワークを作動させるために、各遠隔装置には、論理アドレス、グローバルアドレス、および構成される場合、１つまたは２つ以上のグループアドレスを含む１つまたは２つ以上のアドレスが割当てられる。論理アドレスは、単一の遠隔装置により認識されるアドレスであり、ネットワークコントローラは、このアドレスを用いて特定の遠隔装置に対してコマンドの指令または要求を行なう。一方、グローバルアドレスは、ネットワーク上の遠隔装置のすべてにより認識されるアドレスであり、ネットワークコントローラは、このアドレスを用いてユニバーサルデータおよびコマンドを交換する。たとえば、グローバルアドレス方式により、ネットワークコントローラが遠隔装置のすべてを広く初期化またはリセットすることが可能となる。グループアドレスは、ネットワーク上の遠隔装置の或る特定のグループにより認識され得るアドレスであり、ネットワークコントローラはこのアドレスを用いてグループデータおよびコマンドを交換する。たとえば、グループアドレス方式により、ネットワークコントローラが遠隔装置の群のためにさまざまなサンプルレートで時間決定性トリガをセットアップすることが可能となる。
【００３２】
図２では、ホストコンピュータ３０およびネットワークバス３４に電気的に接続されるネットワークコントローラ３２が示される。ネットワークコントローラは、ホストコンピュータに電気的に接続される、典型的にはＥＥＰＲＯＭ、ＲＡＭまたはデュアルポートＲＡＭである任意のメモリ素子５８を含み得る。このメモリ素子は、ネットワークバスに接続される遠隔装置３６からのデータの収集またはこの遠隔装置３６へのデータの供給のためのタイミング方式等の、ネットワークコントローラのための制御型コマンドを含むマイクロコードの組を収容するよう設計される。加えて、メモリ素子は、データの測定およびデータのネットワークコントローラへの伝送等の、遠隔装置のためのネットワークプロトコルコマンドを収容するよう設計される。随意には、ホストコンピュータは、ネットワークコントローラの実行のために、マイクロコードコマンド１１２をメモリ素子から付加的に選択することができる。ネットワークコントローラはまた、マイクロコードを、メモリ素子またはホストコンピュータのどちらかから受取り、マイクロコードを処理し、マイクロコードにより特定されるとデータを渡すバスコントローラ４４を含む。
【００３３】
ネットワークコントローラはさらに、バスクロックジェネレータ５６を含む。さまざまな実施例においてローカルオシレータ５７または外部クロック５９のどちらかから延びているバスクロックジェネレータは、複数のタイミング信号を生成し、このタイミング信号を、ネットワークコントローラが論理演算、ボー生成、同期クロック生成および非同期メッセージの受信等のさまざまな機能のために用いることができる。ローカルオシレータは多くの異なった周波数で実行するよう選択され得る。たとえば、一実施例では、ローカルオシレータは８０ＭＨｚの周波数で作動する。クロックを用いるネットワークコントローラの機能の多くはこのような高い周波数を必要としないので、バスクロックジェネレータは、特定された除数、典型的には１６でローカルオシレータの周波数を除算する。この除算されたクロック信号は出力信号６１として利用可能であり、この出力信号６１を用いて、ネットワークコントローラ３２を、図示されていない別のネットワークコントローラに同期させることができる。同様に、外部クロック入力５９を用いてネットワークコントローラを、図示されていない別のネットワークコントローラと同期させることができる。
【００３４】
バスコントローラ４４に電気的に接続されるコントローラ送信機４８は、データをバスコントローラから受取り、遠隔装置により理解される、マンチェスター符号化バイフェーズセンサおよびシステム（ＢｉＳｅｎＳｙｓ：Ｂｉ−Ｐｈａｓｅ Ｓｅｎｓｏｒ ａｎｄ Ｓｙｓｔｅｍ）プロトコル等の通信プロトコルに基づき、データをビットフレームにフォーマットする。ＢｉＳｅｎＳｙｓプロトコルは、ハイ状態からロー状態への電圧遷移を２進数「１」として、かつロー状態からハイ状態への電圧遷移を２進数「０」として変換することによりメッセージを符号化する。次いで、コントローラ送信機はビットフレームを、クロック信号とともに、それぞれデータ送信機５０およびクロック送信機５２を介して、ネットワークバス３４および最終的には遠隔装置に送る。ネットワークコントロール内に含まれるデータ受信機５４は、メッセージフレームを遠隔装置からネットワークバス３４を介して受取り、データをネットワーク受信機４６に渡す。次いで、ネットワーク受信機はメッセージフレームを処理し、これらをそれらの符号化された形式にフォーマットし、ホストコンピュータ３０に渡す。加えて、ネットワーク受信機は受信したメッセージフレームのさまざまな特性を用いて、メッセージフレーム内の、メッセージフレームエラー１２０、バイフェーズ符号化エラー１１４、パリティエラー１１６およびエラーフラグのエラー１１８等のいかなる伝送エラーをも決定する。
【００３５】
バスコントローラ４４、バスクロックジェネレータ５６、コントローラ送信機４８、データ送信機５０、クロック送信機５２、データ受信機５４およびネットワーク受信機４６を含むネットワークコントローラ３２の構成要素は、さまざまな種類の構成要素であってもよい。しかしながら、これらはすべて互いに互換性があるべきであるが、当業者にとって公知であるような、種々の典型的な上述の構成要素のいずれをも含み得る。加えて、しかしながら、データを送りかつデータをネットワークバスから受取る構成要素は、実現されるネットワークの種類に基づき選択される。たとえば、ＲＳ−４８５またはＴＩＡ／ＥＩＡ−４８５−Ａ、標準の半二重マルチドロップネットワーク等の物理層により、複数のＲＳ４８５準拠の送信機および受信機は、わずか１つの送信機が任意の所与のときにアクティブの状態で、単一のネットワーク線上に備わることが可能となる。加えて、ネットワークコントローラは、メッセージがネットワークコントローラとアクティブ遠隔装置３６との間で同時に伝送される全二重構成のネットワークバス３４をサポートすることができる。また、記載され図示される構成要素は、互いに別個であるが、フィールドプログラマブルゲートアレイ６０におけるように単一または複数の複合構成要素において、この発明の精神および範囲から逸脱することなく実現され得る。
【００３６】
物理層は多くの異なった転送構成からなっていてもよく、この転送構成には差分ツイストペア銅線、同軸の銅線、光ファイバケーブルおよび無線周波送信が含まれる。ＲＳ−４８５標準等の物理層により、ネットワークが高速のビット転送レートをサポートすることが可能となる。しかし、キロビット範囲におけるように、低いビットレートが必要とされる実施例においては、共通のグラウンドリターンパスを備えたシングルエンドの銅ネットワークバスを用いてもよい。このような実施例では、コントローラ送信機４８およびネットワーク受信機４６を用いてメッセージおよびクロック信号を遠隔装置に伝送し、メッセージを遠隔装置から受信するので、別個のデータ送信機５０、クロック送信機５２およびデータ受信機５４等の構成要素はフィールドプログラマブルゲートアレイ６０の外部に必要とされない。
【００３７】
上述のように、この発明のネットワークコントローラ３２は、あるプロトコルに関連して作動し、このプロトコルにより、遠隔装置が、単純かつ高速であるがロバストなデジタルマルチドロップネットワーク２５を介して通信することが可能となる。任意の適用可能なネットワークプロトコルまたは物理層、たとえば光ファイバもしくは無線方式等をこの発明のネットワークコントローラと関連して用い得ることが理解されるべきである。しかしながら、図１に示されるネットワーク２５で用いられるときさまざまな利点を提供する、ある特定のプロトコルが以下に記載される。１つの重要な利点は、プロトコルの単純性により、ネットワークコントローラが、高レベルのプロセッサとは対照的にステートマシンを含む遠隔装置３６と通信することが可能となる点である。
【００３８】
動作においては、ネットワーク２５は、実現されるコマンドプロトコルおよび通信の種類（すなわち、同期または非同期）に基づきさまざまなフォーマットおよびモードで作動する。コマンドプロトコルフォーマットは、ネットワークに接続される操作可能な遠隔装置の物理層と互換性のあるコマンドプロトコルにより決定されるが、たとえば、当業者にとって公知であるような、マンチェスター符号化フォーマット、または汎用非同期送受信機（ＵＡＲＴ）物理層と互換性のあるフォーマット等である。ネットワーク上でマンチェンスター符号化フォーマットおよびＵＡＲＴ物理層の両方をサポートすることは必須ではない。フォーマットの選択はネットワークコントローラ３２内でセットされ、ソフトウェアを用いて選択され得る。
【００３９】
ネットワークプロトコル内のコマンドおよびデータ通信は、マンチェンスター符号化およびＵＡＲＴの両方で作動するようフォーマットされ得る。マンチェンスター符号化では、ネットワークプロトコルは、コマンドフレームおよびデータフレームを含む１８ビットのメッセージフレームを含む。コマンドフレームを用いて、アドレスおよびコマンドをネットワークコントローラから１つまたは２つ以上の遠隔装置に渡す。各コマンドフレームは、コマンド同期パターン、７ビットコマンドワード、１０ビットアドレスワードおよびパリティビットからなる。データフレームは、ネットワークコントローラからのコマンドに応答して発行される、１つまたは２つ以上の遠隔装置からのコマンドフレームまたは応答に対する引数として用いられてもよい。各データフレームは、データ同期パターン、１６ビットデータワード、エラーフラグビットおよびパリティビットからなる。エラービットを遠隔装置３６が用いて、遠隔装置内のエラーの発生をネットワークコントローラ３２に知らせる。ネットワークコントローラがエラーフラグを遠隔装置から受取ると、ネットワークコントローラは以下に説明されるＲｅａｄ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒ等のコマンドを遠隔装置に発行して、エラーの性質を決定しようと試みてもよい。有利には、エラーフラグビットを用いることにより、ネットワークコントローラが、エラーワード等のエラー通知の受信だけでなく、出力データをエラーフラグとともに遠隔装置から受信することが可能となる。マンチェンスター符号化では、ネットワークは、同期モードでは直流から１０ＭＨｚ以上等の高ビットレートまでのいかなるデータレートでも、または、非同期モードでは予め定められたさまざまなビットレートで作動することができる。
【００４０】
マンチェンスター符号化方法とは識別されて、ＵＡＲＴモードでは、ネットワーク２５は、典型的には、１ビットレートで作動しかつ非ゼロ復帰（ＮＲＺ）ビット符号化を用いるよう設計される。ＵＡＲＴメッセージフレームは、アドレス、コマンドおよびチェックサムフレームを含む３つの所要の１１ビットフレーム、ならびにデータおよびデータフレームの数を含む２つの任意の１１ビットフレームを含み、これらフレームは、ネットワークコントローラにより発行されるコマンドに応じて利用される。すべてのフレームにおける第１のビットは、（「０」にセットされる）スタートビットである。すべてのフレームの最終ビットは、（「１」にセットされる）ストップビットである。加えて、すべてのフレームにより用いられる１０番目のビットを用いて、メッセージの第１のフレーム（すなわち、アドレスフレーム）を識別する。
【００４１】
ネットワーク２５により実現される通信フォーマットは、作動可能な遠隔装置またはネットワークコントローラの制御に応じて、同期通信または非同期通信のどちらかを含み得る。マンチェンスター符号化方法を用いると、通信フォーマットはネットワークコントローラ３２によりイネーブルされ、同期クロック線のためにネットワークを監視する遠隔装置３６により自動的に検出され得る。ネットワークは、マンチェンスター符号化方法を用いると、直流から１０ＭＨｚ以上等の高ビットレートの間のいかなるビットレートでも同期的に用いることができ、ネットワークコントローラおよび遠隔装置は、１０Ｋ、２０Ｋ、１．２５Ｍ、２．５Ｍ、５Ｍ、および１０Ｍビット／秒等の、予め定められたさまざまなビットレートで非同期的に作動することができる。より低いビットレートにより、シングルエンドの物理層での配線の費用およびトランシーバの費用を減ずることが可能となる。Ｍビット／秒の範囲での高ビットレートは、差分銅信号方式、光ファイバ、同軸、または他のいくつかの統合性の高い信号方式の物理層を必要とする。ＵＡＲＴ物理層を用いると、ネットワークは典型的には１．０または１．２５Ｍビット／秒で作動する。
【００４２】
マンチェンスター符号化方法に関して、同期モードでは、ネットワークコントローラのクロックジェネレータ５６は連続同期クロック信号を提供する。同期クロック信号は、この発明の遠隔装置により同期モードで用いられて、データを、ネットワークコントローラからクロック同期して引入れたり、ネットワークコントローラから引出したりする。
【００４３】
マンチェンスター符号化方法では、非同期的に作動している時、同期クロック信号は伝送されず、ネットワークコントローラ３２は予め定められたビットレートで作動する。作動中、ネットワークコントローラは、交互に同期モードか非同期モードになり得る。ネットワークコントローラが作動中に非同期モードへ変わる場合、ビットレートは初めに最低のビットレートにセットされる。次いで、ビットレートは、以下に記載されるようにＢａｕｄ Ｓｅｌｅｃｔコマンドを用いて変更され得る。遠隔装置３６は、クロックジェネレータ５６が同期クロック信号を与えているかどうかを検知することにより、ネットワークコントローラが同期モードまたは非同期モードのどちらで作動しているかを検出し、それに応じてその作動を調整する。ネットワークが非同期モードになるとネットワークコントローラがビットレートを変更する場合、データ送信機５０はデータを新しいビットレートで遠隔装置に伝送する。次いで、遠隔装置はその出力ビットレートを変更し、メッセージおよびデータを新しいビットレートでデータ受信機５４に送り戻す。しかし、データ送信機は、作動上のコマンドを遠隔装置に伝送する前に、遠隔装置を新しいビットレートでネットワークコントローラと確実に再同期させるために、ヌルコマンドを遠隔装置に発行してもよい。
【００４４】
上述のように、各遠隔装置３６には、遠隔装置を固有に識別する論理アドレスが提供される。さらに、すべての遠隔装置のすべてのチャネルをアドレス指定するグローバルアドレス、およびいくつかの遠隔装置をアドレス指定する多重グループアドレスが存在する。グローバルアドレスはグローバルデータおよびコマンドの交換のために用いられる。グループアドレスは、多数の遠隔装置により認識され得るアドレスであり、ネットワーク上の遠隔装置の或る群または部分集合に対するデータおよびコマンドの交換のために用いられる。グループアドレスに関連するのが、遠隔装置に記憶されるグループマスクである。グループマスクは、１６の予め定められたネットワークアドレスを表わす１６ビットワードであり、この場合、「１」にセットされる各ビットは遠隔装置が属するグループのアドレスを表わす。
【００４５】
一例として、一実施例では、グローバルアドレスは００００ｈｅｘとして割当てられる。この実施例では、ネットワークコントローラ３２がアドレス００００ｈｅｘを伝送する場合、遠隔装置のすべてがこのコマンドに従う。ネットワークコントローラは典型的には、サービスコマンドのためにこのコマンドを用いて、起動、システムのリセットまたはネットワーク２５のテストを行なう。さらに、一実施例では、グループアドレスは、遠隔装置のグループマスクで利用可能な範囲を表わす、０００１ｈｅｘから０００ｆｈｅｘの範囲で選択される。この実施例では、ネットワークコントローラがこの範囲のアドレスを遠隔装置３６に伝送すると、遠隔装置は、グループアドレスを、遠隔装置が記憶したグループマスクと比較する。グループアドレスに対応するグループマスクにおけるビットがセットされる場合、遠隔装置はグループアドレスに関連するコマンドを翻訳し、これに従う。たとえば、遠隔装置が、グループマスク１０００００００１１００ｂｉｎを記憶する場合、遠隔装置はグループアドレス０００ｆｈｅｘ、０００３ｈｅｘ、および０００２ｈｅｘに属する。
【００４６】
グループアドレス方式は、ネットワークコントローラ３２がさまざまなサンプルレートで遠隔装置３６の群のために時間決定性トリガをセットアップすることができるよう設計される。表１は、異なったサンプルレートを有するセンサの或る群、およびそれらのグループ割当を示し、表２はセンサをポーリングするためのシーケンスを示す。
【００４７】
【表１】
2004516698.tif 000003
【００４８】
【表２】
2004516698.tif 000004
【００４９】
グループアドレスに関して、ネットワークコントローラ３２がグループアドレスを送出する場合、遠隔装置は、コマンドのアドレス部分を復号し、グループアドレスを、遠隔装置に記憶されるグループマスクと比較する。グループマスクが、遠隔装置をグループアドレスのメンバーであると示す場合、遠隔装置はグループアドレスと関連したコマンドを実行する。
【００５０】
上述のように、この発明のネットワークコントローラは、選択されたプロトコルに関連して作動する。一実施例では、このプロトコルは、低レベルの通信制御インターフェイス（すなわち、ネットワークコントローラ３２および遠隔装置３６）を確実にするよう設計される。このプロトコルにより、ネットワーク２５内で高度に小型化されるコントローラおよびネットワークインターフェイスの開発が可能となる。ネットワークコントローラおよび遠隔装置がプロトコルに関連してＡＳＩＣを用いて実現される場合、ネットワークコントローラおよび遠隔装置は迅速かつ効率的に応答し、最大限のバス効率を可能にする。
【００５１】
この発明のプロトコルはまた、低いオーバーヘッドコマンド構造を有する。これは固定長のメッセージを用いない。メッセージの長さはコマンドに応じて変わる。これにより、ある機能を実行する必要がない場合、不必要なデータの伝送をなくすことができる。加えて、このプロトコルに関連するコマンドセットは最小かつ単純明快であり、このため、ユーザが最小限の操作でデータをネットワークバス３４を介して容易に渡すことができる。
【００５２】
一般的に、プロトコルのコマンドセット内に含まれるコマンドは、サービスコマンド、データコマンドおよびメモリコマンドの、大まかな３つのカテゴリに分類される。ネットワークプロトコルのコマンドの多くが以下の表３に記載される。しかしながら、以下のコマンドの記載はネットワークコントローラおよび遠隔装置が翻訳し得るコマンドセット内のコマンドを包括するのではなく例示することを意図したものであることに注意すべきである。記載されるコマンドのいくつかはいくつかの実施例では実現されないかもしれず、他のコマンドは、この発明の精神および範囲から逸脱することなく、他の実施例で用いられるかもしれない。遠隔装置処理で指令されるコマンドの詳細な開示は、また、２０００年１２月８日に出願された、「ネットワークを介して遠隔装置をコントローラにデジタルインターフェイスするためのネットワークインターフェイスデバイス（Ｎｅｔｗｏｒｋ Ｉｎｔｅｒｆａｃｅ Ｄｅｖｉｃｅ ｆｏｒ Ｄｉｇｉｔａｌｌｙ Ｉｎｔｅｒｆａｃｉｎｇ Ｒｅｍｏｔｅ Ｄｅｖｉｃｅｓ ｔｏ ａ Ｃｏｎｔｒｏｌｌｅｒ ｖｉａ ａ Ｎｅｔｗｏｒｋ）」と題される、米国仮特許出願第６０／２５４，１３６号、および２０００年１２月１２日に出願された「ネットワークを介してデータチャネルをコントローラにデジタルインターフェイスするためのネットワークデバイスインターフェイス（Ｎｅｔｗｏｒｋ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ ｆｏｒ Ｄｉｇｉｔａｌｌｙ Ｉｎｔｅｒｆａｃｉｎｇ Ｄａｔａ Ｃｈａｎｎｅｌｓ ｔｏ ａ Ｃｏｎｔｒｏｌｌｅｒ ｖｉａ ａ Ｎｅｔｗｏｒｋ）」と題される、米国特許出願第０９／７３５，１４６号に提供される。
【００５３】
【表３】
2004516698.tif 000005
【００５４】
上述のように、ホストコンピュータ３０は、デフォルトによって、ネットワークバス３４の始動時での初期化、初期コマンドの送出およびすべてのハードウェアのリセットを含む多くのコマンド１１０をネットワーク２５に直接発行する。ホストコンピュータはまた、コマンドを送り、応答をネットワークから直接受取る。同様に、上述のように、ネットワークコントローラ３２はまた、バスの始動時での初期化、初期コマンドの送出およびすべてのハードウェアのリセットを担う知能を含み得る。また、ネットワークコントローラ３２は、電源投入時にマスタネットワークコントローラ、すなわちホストコンピュータとして機能し得、このため予めプログラムされたコマンドの流れをネットワークに発行し、データをネットワークコントローラを介してホストコンピュータ３０に戻す能力を有する。加えて、ネットワークコントローラ３２は、ホストコンピュータ３０により与えられるデータからの予めプログラムされたコマンドのメッセージ引数を変更し得る。このような実施例により、プロセッサはタスクを消費しないですみ、しかも、プロセッサのない、時間決定的なネットワークの作動を可能にしつつ、制御情報を処理しかつネットワークに渡すことをさらに可能にし得る。
【００５５】
一実施例では、ネットワークの制御が、ホストコンピュータ３０またはネットワークコントローラ３２から、ネットワーク制御の能力を有する（かつ、ホストコンピュータによっても制御され得る）遠隔装置３６に、Ｃｏｎｔｒｏｌ Ｐａｓｓコマンドを用いて一時的に渡されてもよい。これにより、ネットワークバス３４上の他のデバイスが、コマンドをスケジュールするネットワークコントローラ３２なしに、コマンドを発行し応答を受取ることが可能となる。このような適用は、固有でありかつネットワークコントローラにとっては不要である重要な情報を獲得しまたは渡すことを必要とする、ネットワーク制御が可能な遠隔装置にとって有用なものとなる。ネットワークコントローラは、Ｒｅｓｅｔコマンドを発行することにより制御を回復する能力を有し、このＲｅｓｅｔコマンドはネットワークバス上のトラフィックと矛盾することになるかもしれないが、このＲｅｓｅｔコマンドにより、一時的な制御を伴う遠隔装置が停止することとなり、かつ、遠隔装置が、制御の損失を示す別のＲｅｓｅｔコマンドを受取ることが可能となる。
【００５６】
ネットワークコントローラ３２が遠隔装置３６を十分に制御するために、ネットワークプロトコルは、Ｂｕｉｌｄ−ｉｎ−Ｔｅｓｔｓ、Ｅ−ＣａｌｉｂｒａｔｉｏｎおよびＺ−Ｃａｌｉｂｒａｔｉｏｎ等のさまざまなテストコマンドを含むさまざまなサービスコマンドを含む。遠隔装置を維持し、それらがその内部回路をチェックできるようにするために、ネットワークコントローラはＢｕｉｌｄ−ｉｎ−Ｔｅｓｔｓコマンドを遠隔装置に発行してもよい。ネットワークコントローラはいつこれらのテストが実行されるかを制御するが、遠隔装置の製造業者は、各遠隔装置により行なわれるテストの性質および範囲を規定する。ネットワークコントローラは、Ｅ−ＣａｌｉｂｒａｔｉｏｎコマンドおよびＺ−Ｃａｌｉｂｒａｔｉｏｎコマンドを用いて遠隔装置における較正測定値を生成する。Ｅ−Ｃａｌｉｂｒａｔｉｏｎコマンドを発行すると、ネットワークコントローラは遠隔装置を起動して、その入力を公知の基準電圧で置換え、以下に記載されるＴｒｉｇｇｅｒコマンドを用いて測定を行なう。同様に、ネットワークコントローラがＺ−Ｃａｌｉｂｒａｔｉｏｎコマンドを発行すると、遠隔装置はその入力を短絡させ、Ｔｒｉｇｇｅｒコマンドを用いて測定を行なう。これらのコマンドにより、ネットワークコントローラが、公知の測定値を、テスト中に遠隔装置により測定される実際の値と比較することが可能となる。加えて、これらのコマンドにより、遠隔装置に組込まれ、命令されるとこのデバイスを予め定められた較正にセットする自動較正手順の開始もまた可能となる。
【００５７】
サービスコマンド内には、また、Ｎｏ Ｏｐ、Ｒｅｓｅｔ、Ｒｅａｄ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒ、Ｗａｋｅ、ＳｌｅｅｐおよびＳｙｎｃｈｒｏｎｉｚｅコマンドが含まれる。ネットワークコントローラは、Ｎｏ Ｏｐコマンドを典型的には別のコマンドとともに遠隔装置に発行して、作動しないようにまたはいかなる応答も生成しないように遠隔装置に命令する。ネットワークコントローラ３２が遠隔装置３６をそれらの電源投入状態に初期化することを欲するとき、ネットワークコントローラはＲｅｓｅｔコマンド１０２を発行する。ネットワークコントローラがこのコマンドを用いて、必要な場合にネットワークバス３４および遠隔装置をリセットし、また、ホストコンピュータ３０および／またはネットワークコントローラがこのコマンドを用いて、ネットワークを一時的に制御する別のホストコンピュータおよび／またはネットワークコントローラからネットワークの制御を取り戻す。加えて、遠隔装置の製造業者がこのコマンドを用いて、遠隔装置内の他のリセット機能を実行することができる。
【００５８】
ある遠隔装置、または複数の遠隔装置の状態を入手するために、ネットワークコントローラはＲｅａｄ Ｓｔａｔｕｓ Ｒｅｇｉｓｔｅｒコマンドを遠隔装置に発行する。このコマンドに応答して、選択された遠隔装置は、遠隔装置の状態を示すステータスレジスタの内容をネットワークコントローラに転送するが、これはたとえば、デバイスの未作動可能エラー、デバイスによるコマンドのサポートなしエラー、メッセージ伝送エラー、無効引数エラー、または組込みテストが最後の状態読出し以来実行されてきたエラーなどである。
【００５９】
ネットワーク２５上に、電流が制限されたパワーリードを備えた遠隔装置３６のパワードローを制御するために、ネットワークコントローラはＷａｋｅコマンドおよびＳｌｅｅｐコマンドを遠隔装置に発行する。ネットワークコントローラ３２は、Ｗａｋｅコマンドを用いてパワーダウンモードで遠隔装置を立上げる。このコマンドを受信した後、遠隔装置は通常の動作モードに戻る。デバイスをパワーダウンモードにするために、ネットワークコントローラはＳｌｅｅｐコマンドを発行する。このコマンドにより、長時間ネットワークバス３４により問合せを受けることのない遠隔装置が、ネットワークからのパワードローを減少させる。
【００６０】
いくつかの遠隔装置は、シグマデルタ変換器等のオーバーサンプリング技術を用いてデータを獲得する。ネットワークコントローラ３２のクロックジェネレータ５６を用いてオーバーサンプリングデバイスの獲得の同期をとるために、ネットワークコントローラはＳｙｎｃｈｒｏｎｉｚｅコマンドを発行する。発行されると、選択された遠隔装置は、Ｔｒｉｇｇｅｒコマンドメッセージにおけるパリティビットの変化している中心エッジの後に、次の同期クロックエッジ上での遠隔装置のデータ獲得の同期をとる。このデバイスが、シグマデルタ変換器を作動させるための、クロックジェネレータ信号と同期しているがバスクロック信号の何分の１かである内部クロック信号を有する場合、遠隔装置はそれ自体をクロックジェネレータ信号と整列させる。これにより、複数の遠隔装置が実質的に同期して作動することが可能となる。サンプルホールドがこの時点で起こらない場合、遠隔装置の製造業者は遠隔装置のクロック周期における遅延を規定する。
【００６１】
上述のように、ネットワークコントローラ３２は、論理、グループおよびグローバルアドレス指定方式により遠隔装置の各々をアドレス指定する。ネットワーク２５の実現を始めるために、ネットワークコントローラ３２はネットワーク上の遠隔装置３６の一覧を作り、論理アドレスおよび、もし構成される場合にはグループアドレスをそれらのデバイスに割当てる。ネットワークコントローラは従来のいかなる方法によっても一覧作成およびアドレス指定を行なうことができるが、典型的には、デバイスインベントリセッションによりこのような機能を実行する。マンチェンスター符号化方法を用いて、ネットワークコントローラは、図３に示されるように、各遠隔装置に記憶されるユニバーサル固有識別子（ＵＵＩＤ）を用いてデバイスインベントリセッションを実行する。製造時に、すべての遠隔装置には、ある規定された基準の組に基づき、各デバイスの製造業者により得られるＵＵＩＤコードが割当てられる。ＵＵＩＤは、他のデバイスが所有し得ない固有の識別子として用いられる８０ビットコードからなる。しかしながら、ＵＵＩＤが過度に長いため、ネットワークにとっては長すぎて遠隔装置のためにアドレス指定方式で実現することができない。ＵＡＲＴ準拠のデバイスはＵＵＩＤを含み得るが、これらはデバイスインベントリを実行することができない。したがって、ＵＡＲＴモードでは、ネットワークコントローラは、論理アドレスおよびグループアドレスをＵＡＲＴ準拠の遠隔装置に個々に割当てるが、それは、それらデバイスがネットワークに接続されるからである。
【００６２】
マンチェンスター符号化フォーマットを用いるデバイスインベントリセッションの間、ネットワークコントローラ３２は、ＵＵＩＤワードサーチを実行することにより、各遠隔装置３６のＵＵＩＤを決定する。次いで、ＵＵＩＤワードサーチは、ネットワークコントローラがアドレスを受取りかつ一回にわずか１つの特定のＵＵＩＤへ割当てることを確実にするために、いわゆるビット競争を含む。
【００６３】
デバイスインベントリセッションは、ネットワークコントローラが、グローバルアドレスまたはアドレスの或るグループを備えたＤｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ Ｅｎａｂｌｅコマンドを（先のデバイスインベントリから）発行することから始まる。この時点では、アドレスグループ内のすべてのデバイスはデバイスインベントリモードである。デバイスインベントリモードになると、コマンドフレームにおけるアドレスフィールドは、図２、図３のブロック２００および図４のブロック３００にそれぞれ示されるように、ファンクションコードフィールド（以後、ファンクションコードをそれぞれのコマンドの後の括弧内に示す）となる。次いで、ネットワークコントローラは、図３のブロック２０１および図４のブロック３０２に示されるように、セッションが新しいＵＵＩＤワードサーチを始めていることを示すＤｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（Ｎｅｗ ＵＵＩＤ Ｗｏｒｄ Ｓｅａｒｃｈ）コマンドを遠隔装置に発行する。次いで、ネットワークコントローラがＤｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（ＵＵＩＤ Ｂｉｔ Ｃｏｍｐｅｔｉｔｉｏｎ、Ｎｏ Ｄｒｏｐｏｕｔｓ）コマンドを発行することによりビット競争を始め、デバイスは、図３のブロック２０４、ならびに図４のブロック３０４および３０６に示されるように、それらのそれぞれのＵＵＩＤのうち最下位ビットの識別および評価を行なう、いわゆる「ドロップアウトなし（Ｎｏ Ｄｒｏｐｏｕｔ）」機能を実施する。識別されたビットが「０」である場合、図２、ならびに図４のブロック３０８および３１０に示されるように、遠隔装置はネットワーク１０６上のパルスをネットワークコントローラに伝送する。パルスがネットワーク上で検出され、現在のビットが８０番目のビット（８０）（すなわち、最上位ＵＵＩＤビット）でない場合、ネットワークコントローラは、図３のブロック２０６および２０８、ならびに図４のブロック３１２に示されるように、信号を「０」としてＵＵＩＤ記憶場所に記憶する。遠隔装置の現在のビットが「１」である場合、遠隔装置はパルスをネットワークコントローラに送らない。いずれの遠隔装置もパルスをネットワークコントローラに送らず、また、識別されたビットが８０番目のビットでない場合、ネットワークコントローラは、ブロック２１２および２１４に示されるように、「１」をＵＵＩＤ記憶場所に記憶する。ＵＵＩＤ記憶場所は、少なくとも一時的に値を記憶することのできる従来のいかなるデバイスをも含み得るが、典型的にはシフトレジスタを含む。
【００６４】
遠隔装置３６が識別されたビットを評価した後、各遠隔装置は、図４のブロック３１４に示されるように、識別されたビットを第２の位置に移動させ、次の下位ＵＵＩＤビットを識別する。ネットワークコントローラ３２が「１」をＵＵＩＤ記憶場所に記憶した場合、ネットワークコントローラは、図３のブロック２１６に示されるように、Ｄｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（ＵＵＩＤ Ｂｉｔ Ｃｏｍｐｅｔｉｔｉｏｎ、Ｎｏ Ｄｒｏｐｏｕｔ）コマンドを遠隔装置に再発行する。次いで、遠隔装置は、新しく識別されたビットが「０」または「１」であるかどうかに応じて、上述にて識別されるプロセスを繰返す。一方、ネットワークコントローラが「０」をＵＵＩＤ記憶場所に記憶した場合、ネットワークコントローラは、図３のブロック２１０および図４のブロック３２６に示されるように、いわゆる「１のドロップアウト（１’ｓ Ｄｒｏｐｏｕｔ）」機能を始めるＤｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（ＵＵＩＤ Ｂｉｔ Ｃｏｍｐｅｔｉｔｉｏｎ、１’ｓ Ｄｒｏｐｏｕｔ）コマンドを、遠隔装置に対して発行する。第２の位置に記憶される遠隔装置のビットが「１」である場合、遠隔装置は、ブロック３２６に示されるように、ビット競争から出て再び競争状態に入るためにＮｅｗ ＵＵＩＤ Ｗｏｒｄ Ｓｅａｒｃｈコマンドを待つ。第２の位置に記憶される遠隔装置のビットが「０」である場合、遠隔装置は、上述の手順に続いて、新しく識別されたビットを評価する。次いで、この手順が遠隔装置のＵＵＩＤビットの各々で続き、ブロック２１８および２２０に示されるように、８１回の手順の繰返しを完了すると、勝利した遠隔装置にとってビット競争に勝ったことを判定することが可能となる。
【００６５】
図４のブロック３１６に示されるように、各遠隔装置のＵＵＩＤが、ビット競争に勝利したことにより発見されると、遠隔装置３６には、図３のブロック２２１および２２２、ならびに図４のブロック３１８〜３２４に示されるように、遠隔装置で必要とされる任意の所望のＴＥＤＳ情報とともに記憶される論理アドレスおよびグループアドレスが割当てられる。この情報は典型的には、遠隔装置上の、ＥＥＰＲＯＭ等のメモリ素子に記憶される。次いで、ネットワークコントローラ３２は、図３のブロック２２３に示されるように、勝利した遠隔装置をデバイスインベントリセッションから出るようにさせるＤｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（Ｐｒｏｔｅｃｔ／Ｅｘｉｔ Ｄｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ Ｍｏｄｅ）コマンドを発行する。
【００６６】
次いで、ネットワークコントローラは、ブロック２０１に示されるように、すべてのデバイスが識別されるまでこの手順を始めからやり直す。ネットワークコントローラは、ブロック２２４に示されるように、バスコントローラのＵＵＩＤレジスタにおけるすべての８０ビットが「１」であるときデバイスのすべてがいつ認識されたかを認識する。ネットワーク２５上のすべての遠隔装置のＵＵＩＤが検索され決定されると、ネットワークコントローラ３２は、ブロック２２５に示されるように、Ｄｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ（Ａｌｌ Ｅｘｉｔ Ｄｅｖｉｃｅ Ｉｎｖｅｎｔｏｒｙ）コマンドを発行し、こうしてインベントリを完了する。典型的には、デバイスインベントリセッションを、ネットワークがアセンブルされるかまたは変更されると完了させるだけでよい。しかし、デバイスインベントリセッションは、ネットワーク構成を確認するかまたはネットワークを確実に構成するために、いつでも実行させることができる。
【００６７】
上述のように、ネットワーク２５は異なったボーレートで作動することが可能である。非同期モードで作動する場合、ネットワークは、デフォルトで、ネットワークのために構成される最低のボーレートとなる。ネットワークコントローラ３２は、図２に示されるように、Ｂａｕｄ Ｓｅｌｅｃｔコマンド１０８を発行することによりデータ伝送のボーレートを変更し得る。遠隔装置３６が新しい通信速度でネットワークコントローラと確実に再同期するために、ネットワークコントローラは、Ｂａｕｄ Ｓｅｌｅｃｔコマンドに続いて、Ｎｏ Ｏｐコマンドを発行する必要がある。ネットワークコントローラ３２が一覧を作成し、アドレスを遠隔装置３６に割当てると、ネットワークコントローラは、コマンドを遠隔装置に発行して、データをこれらのデバイスに送り、かつデータをこれらのデバイスから受取ることができる。
【００６８】
ネットワークコントローラ３２が遠隔装置３６を十分に制御するために、ネットワークプロトコルは、Ｔｒｉｇｇｅｒ、Ｔｒｉｇｇｅｒ ａｎｄ Ｒｅａｄ、Ｒｅａｄ Ｉｎ−Ｄａｔａ Ｒｅｇｉｓｔｅｒ Ｗｏｒｄ、Ｒｅａｄ Ｉｎ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄ、Ｒｅａｄ Ｉｎ−Ｄａｔａ Ｓｔａｃｋ Ｂｌｏｃｋ、Ｑｕｅｒｙ Ｉｎ−Ｄａｔａ／Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｄｅｐｔｈ、Ｗｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄ、Ｗｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄ／Ｅｃｈｏ ｔｏ Ｉｎ−Ｄａｔａ Ｒｅｇｉｓｔｅｒ、およびＷｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｂｌｏｃｋ等の、さまざまなデータ獲得および制御コマンドを含む。これらのコマンドを用いて遠隔装置における逐次型のメモリをアドレス指定するが、この逐次型のメモリは、記憶場所の或るスタックの最上部にデータをプッシュ動作で載せるか、ポップ動作で取り去ることによりアクセスされる、メモリの或るスタックに類似している。論理アドレスおよび／またはグループアドレスに属するすべてのデバイスにおいて、センサにおいて入力データ測定を開始するかまたはアクチュエータにおいて値を出力に移動させるために、ネットワークコントローラはＴｒｉｇｇｅｒコマンドをそれらのデバイスに発行する。データ測定の後に、ネットワークコントローラが遠隔装置により測定された値を受取ることを要する場合、ネットワークコントローラはＲｅａｄ Ｉｎ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄコマンドをそれらのデバイスの各々に発行する。複数のＴｒｉｇｇｅｒコマンドが遠隔装置に発行される場合、各デバイスに発行されるＲｅａｄ Ｉｎ−Ｄａｔａ Ｓｔａｃｋ Ｂｌｏｃｋコマンドは、測定された複数の値を戻す。その上、遠隔装置からのデータの受信に加えて、ネットワークコントローラは、Ｗｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄ、Ｗｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｗｏｒｄ／Ｅｃｈｏ ｔｏ Ｉｎ−Ｄａｔａ Ｒｅｇｉｓｔｅｒ、またはＷｒｉｔｅ Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｂｌｏｃｋコマンドを発行することにより、付加的にデータを遠隔装置に書込むことができる。たとえＲｅａｄコマンドが典型的にはＴｒｉｇｇｅｒコマンドの後に続くとしても、ネットワークコントローラは、遠隔装置がデータ値をその中に記憶して有する限り、Ｒｅａｄコマンドをいつでも発行し得ることにもまた留意すべきである。Ｔｒｉｇｇｅｒコマンドは典型的には遠隔装置に対する或る書込コマンドの後に続き、これにより、遠隔装置の出力が、先のＷｒｉｔｅ Ｏｕｔ−Ｄａｔａコマンドの値または値の群で更新される。
【００６９】
遠隔装置３６における測定周期を開始し、先の測定周期の結果をネットワークバス３４に直ちに伝送するために、ネットワークコントローラ３２はＴｒｉｇｇｅｒ ａｎｄ Ｒｅａｄコマンドを発行する。ネットワーク２５が、一般的には、いかなる所与のときにも単一の遠隔装置からのデータ伝送をサポートするだけなので、Ｔｒｉｇｇｅｒ ａｎｄ Ｒｅａｄコマンドは、一般的には固有の論理アドレスのみに制限され、グループアドレス指定を用いない。選択された遠隔装置に有効データワードがいくつ記憶されるかを決定するために、ネットワークコントローラはＱｕｅｒｙ Ｉｎ−Ｄａｔａ／Ｏｕｔ−Ｄａｔａ Ｓｔａｃｋ Ｄｅｐｔｈコマンドを特定の論理アドレスに発行する。次いで、遠隔装置は、記憶された有効ワードの数をネットワークバスに伝送することにより応答する。
【００７０】
遠隔装置３６上でのデータスタックの読出およびデータスタックへの書込に加えて、ネットワークコントローラ３２は、Ｒｅａｄ ＭｅｍｏｒｙコマンドおよびＷｒｉｔｅ Ｍｅｍｏｒｙコマンドを含む、複数のランダムアクセスメモリコマンドを発行することにより、遠隔装置のメモリからの読出またはこれへの書込を付加的に行なうことができる。このメモリは、遠隔装置内に含まれる必須のＴＥＤＳ情報、または遠隔装置ホストコンピュータ内の追加のメモリスペース等の多くの異なった記憶場所を表わし得る。ネットワークコントローラは、Ｒｅａｄ Ｍｅｍｏｒｙコマンドを発行することにより、遠隔装置のメモリから読出を行なうことができる。ワードまたはブロックのどちらかのメモリの長さを読出すために、ネットワークコントローラはＲｅａｄ Ｍｅｍｏｒｙ Ｗｏｒｄ ｗｉｔｈ Ｐａｓｓｅｄ Ｐｏｉｎｔｅｒコマンドを発行し、付加的に記憶場所を特定する。加えて、ネットワークコントローラは、Ｓｅｔ Ｍｅｍｏｒｙ Ｐｏｉｎｔｅｒコマンドを発行することにより遠隔装置メモリポインタをセットし、次いでＲｅａｄ Ｍｅｍｏｒｙ Ｗｏｒｄ ｗｉｔｈ Ｃｕｒｒｅｎｔ Ｐｏｉｎｔｅｒコマンドを発行することができる。同様に、ネットワークコントローラは、Ｗｒｉｔｅ Ｍｅｍｏｒｙ Ｂｌｏｃｋ ｗｉｔｈ Ｐａｓｓｅｄ Ｐｏｉｎｔｅｒコマンドを発行することにより、遠隔装置上でメモリのワードまたはブロックのどちらかに書込み、付加的にメモリ場所を特定することができる。加えて、ネットワークコントローラは、Ｓｅｔ Ｍｅｍｏｒｙ Ｐｏｉｎｔｅｒコマンドを発行することにより遠隔装置メモリポインタをセットし、次いでＷｒｉｔｅ Ｍｅｍｏｒｙ Ｂｌｏｃｋ ｗｉｔｈ Ｃｕｒｒｅｎｔ Ｐｏｉｎｔｅｒコマンドを発行することができる。
【００７１】
図５では、上述のように、航空電子工学産業がネットワークコントローラの典型的な応用例を提供する。たとえば、ネットワークコントローラ２２を航空機１０上で用いて、アクチュエータおよびセンサの制御および監視を行なう。航空機はネットワークを用いて、翼付け根、翼表面、尾翼付け根、尾翼のコードおよび着陸装置のひずみ等のひずみ１２、ならびに翼端および尾翼端の加速度等の加速度１４のために、さまざまな重要な構造位置を監視することができる。加えて、ネットワークを用いて、音響疲労に対する臨界胴体腹部圧力等のさまざまな重要な構造位置での圧力１６に加えて、レーダー、着陸装置および翼前端に対する重要な腐食場所１８、ならびにエンジンケーシング温度２０を監視することができる。
【００７２】
したがって、この発明のネットワークコントローラにより、ネットワーク構成要素が、安価、単純かつ高速であるがロバストなネットワーク線を介して、単純なメッセージプロトコル、小さな構成要素寸法かつ少ないワイヤ数で通信することが可能となる。ネットワークコントローラはまた、有利には、マンチェンスター符号化プロトコルまたはＵＡＲＴコマンドプロトコルのどちらかを用いるネットワーク構成要素のために、マイクロコントローラまたはプロセッサを用いることなく作動することができ、これにより、関連するホストコンピュータと関連付けられるオーバーヘッドを減じ、ネットワーク全体がコントローラの単一のクロック信号を介して作動することが可能となる。また、ネットワークコントローラは獲得および制御の両方をサポートし、データを構成要素から同時に獲得し、構成要素からの同期が取られたデータサンプルで作動する。ネットワークコントローラは、効率のよい、時間決定的な、高速の獲得および制御、ならびにシステム間のデータ転送のために用いることができる。さらに、ネットワークコントローラにより、多くの構成要素数、より長いネットワーク線が可能となり、正確な態様で時間決定性を確実なものとする。
【００７３】
図５では、この発明のネットワークコントローラが、航空機または自動車等の対象物のさまざまな部分を監視するための監視システムで実現され得る。航空機等のいくつかの実施例では、監視システムのさまざまなセンサおよびアクチュエータが、航空機の全体にわたって異なった当該個所に分散され得る。たとえば、いくつかの応用例では、監視システムは航空機の尾部のまわりまたはその近くに位置するセンサおよびアクチュエータの第１の組、翼におけるまたはそのまわりの第２の組、ならびにコックピットにおけるまたはそのまわりの第３の組を含み、センサとアクチュエータとの組の間に長手のネットワークバス線が備えられる。
【００７４】
しかしながら、上述のように、銅でできた配線等の金属配線の使用には、ネットワークバス上で伝送されるコマンドおよびデータを劣化させるおそれのある直流抵抗のためにいくつかの欠点がある。金属配線に伴うこの問題は、たとえば、航空機の尾部に位置するセンサおよびアクチュエータの第１の組と、航空機の翼に位置するセンサおよびアクチュエータの第２の組との間に長い距離がある場合厄介なものとなるおそれがある。特に、センサおよびアクチュエータのこれら２組の間のバスリンクとして機能する長手の金属配線は、バス上のコマンドおよびデータ通信を劣化する恐れがある。
【００７５】
このことを考慮して、図６に関して、一実施例では、この発明は変換装置３３０を提供する。この変換装置３３０は、翼に位置する第１の組のセンサおよびアクチュエータを接続するためにネットワークバスにより用いられる金属配線から、光ファイバケーブルを用いて、翼またはコックピットに位置する第２の組のセンサおよびアクチュエータを相互接続するために用いられる金属配線へ遷移する。このことは有利であるが、それは、光ファイバケーブルが、典型的には、信号が光ファイバケーブルの長さにわたり伝播するとき著しくその信号を劣化させず、これにより、センサおよびアクチュエータの第１の組および第２の組が、第１の組と第２の組との間の距離にわたって伝播する間、信号劣化の問題なしに比較的広く間隔をあけることが可能となるからである。
【００７６】
たとえば、図６には、対象物の或る位置に配置されるセンサおよびアクチュエータの第１の組に接続される第１の金属線３３２、ならびに対象物上の異なった位置に配置されるセンサおよびアクチュエータの第２の組に接続される第２の金属線３３４が示される。第１および第２の金属配線を接続しているのは、その長さのために信号の劣化を最小限にする光ファイバケーブル３３６または同様の種類のケーブルの或る組である。光ファイバケーブルと各銅線との間には、金属線上で伝播する信号を光信号に、またその逆に遷移するための変換装置３３０がある。
【００７７】
重要なことには、この具体的な実施例では、金属配線は半二重バスであるが、光ファイバケーブルは全二重である。このことを考慮すると、この発明の変換装置は、光ファイバケーブルをわたる伝送のために、ネットワークバス上に存在するコマンドおよびデータを光データに遷移するだけでなく、コマンドおよびデータを半二重システムから全二重システムへ、またその逆に変換することもできる。この実施例では、この発明の変換装置は、データの送受信のためにＲＳ−４８５変換器を含んでいてもよい。変換器に接続されるのは、光ファイバケーブルおよび銅線をわたる伝送のために、ネットワークバス上に位置するコマンドおよびデータを半二重と全二重との間で変換するロジックである。
【００７８】
以上の記載および添付の図面に示される教示の利益を有する、この発明に関係する当業者は、この発明の多くの変形および他の実施例を思い付くであろう。したがって、この発明が開示の特定の実施例に限定されず、変形および他の実施例が前述の特許請求の範囲内に含まれることを意図するものと理解されるべきである。特定の用語がこの明細書中に用いられるが、これらは限定のためではなく、一般的かつ記述的な意味でのみ用いられる。
【図面の簡単な説明】
【図１】この発明のネットワークコントローラの一実施例を実現する電気的ネットワークシステムの概略的なブロック図である。
【図２】この発明の一実施例に従ったネットワークコントローラの概略的なブロック図である。
【図３】この発明の一実施例に従った、デバイスインベントリワードサーチの作動中、ネットワークコントローラの操作上の段階を示すブロック図である。
【図４】この発明の一実施例に従った、デバイスインベントリワードサーチの作動中、遠隔装置の操作上の段階を示すブロック図である。
【図５】航空機上で実現される電気的ネットワークシステムの概略図である。
【図６】図５に示されるような、電気的ネットワークシステムで実現される変換装置の概略図である。
【図１】
2004516698.tif 000006
【図３】
2004516698.tif 000007
【図４】
2004516698.tif 000008
【図６】
2004516698.tif 000009
【国際公開パンフレット】
2004516698.tif 000010
2004516698.tif 000011
2004516698.tif 000012
2004516698.tif 000013
2004516698.tif 000014
2004516698.tif 000015
2004516698.tif 000016
2004516698.tif 000017
2004516698.tif 000018
2004516698.tif 000019
2004516698.tif 000020
2004516698.tif 000021
2004516698.tif 000022
2004516698.tif 000023
2004516698.tif 000024
2004516698.tif 000025
2004516698.tif 000026
2004516698.tif 000027
2004516698.tif 000028
2004516698.tif 000029
2004516698.tif 000030
2004516698.tif 000031
2004516698.tif 000032
2004516698.tif 000033
2004516698.tif 000034
2004516698.tif 000035
2004516698.tif 000036
2004516698.tif 000037
2004516698.tif 000038
2004516698.tif 000039
2004516698.tif 000040
2004516698.tif 000041
2004516698.tif 000042
2004516698.tif 000043
2004516698.tif 000044
2004516698.tif 000045
2004516698.tif 000046
2004516698.tif 000047
2004516698.tif 000048
2004516698.tif 000049
2004516698.tif 000050
2004516698.tif 000051
2004516698.tif 000052
2004516698.tif 000053
2004516698.tif 000054
【国際公開パンフレット（コレクトバージョン）】
2004516698.tif 000055
2004516698.tif 000056
【国際調査報告】
2004516698.tif 000057
2004516698.tif 000058
2004516698.tif 000059