(57)【要約】１以上の機能を実行するために、共通のコントローラとデータ通信する１以上のデバイスを制御する方法であって、デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、方法は、デバイスが機能の同期した実行を開始し、機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、デバイスを作動させる工程と；共通のコントローラとデータ通信するトリガデバイスが、機能を実行する命令の受信時刻を示すデータを含む第１のメッセージをホストコントローラに送信することにより、命令に応答する工程と；ホストコントローラが、更なるデバイスによる命令の受信時刻を示すデータを含む第２のメッセージをデバイスに送信することによって、第１のメッセージに応答する工程と；デバイスが、デバイスのそれぞれのメモリを読み、メモリに格納された、それぞれのメモリにおける受信時刻に対応する位置又は次の利用可能な位置から始まる取得されたデータを、ホストコントローラに送信することによって、第２のメッセージに応答する工程とを含む。
2010527080.tif 000002
【特許請求の範囲】
【請求項１】
１以上の機能を実行するために、共通のコントローラとデータ通信する１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能の同期した実行を開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記共通のコントローラとデータ通信するトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することにより、当該命令に応答する工程と、
前記ホストコントローラが、更なるデバイスがによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを前記デバイスに送信することによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記第２のメッセージに応答する工程と、
を含むことを特徴とする方法。
【請求項２】
前記トリガデバイスが前記デバイスのうちの１つであることを特徴とする、請求項１に記載の方法。
【請求項３】
前記トリガデバイスが前記デバイスのうちの１つではないことを特徴とする、請求項１に記載の方法。
【請求項４】
前記クロックが、周波数ロック及び位相ロックされていることを特徴とする、請求項１に記載の方法。
【請求項５】
前記リアルタイム・クロック・レジスタは共通の時間に同期されており、それぞれの同期クロックで記録されていることを特徴とする、請求項４に記載の方法。
【請求項６】
前記デバイスを作動させる工程は、前記デバイスが前記命令を開始する工程を含むことを特徴とする、請求項５に記載の方法。
【請求項７】
前記デバイスが、外部から与えられた複数の信号の状態を測定しかつ記録する工程を含むことを特徴とする、請求項５に記載の方法。
【請求項８】
前記メモリは、一杯になると最も古い記録を上書きするように構成されていることを特徴とする、請求項７に記載の方法。
【請求項９】
前記機能を実行する前記命令に、前記第１のデバイスによる前記受信時刻を示すタイムスタンプを与える工程を含むことを特徴とする、請求項８に記載の方法。
【請求項１０】
前記デバイスに対して前記タイムスタンプを送信する工程を含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
前記コントローラはＵＳＢホストを含み、前記デバイスはＵＳＢデバイスを含むことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記タイムスタンプをＵＳＢトランザクションを介して送信する工程を含むことを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記タイムスタンプをＵＳＢ以外のトランザクションを介して送信する工程を含むことを特徴とする、請求項１０に記載の方法。
【請求項１４】
前記タイムスタンプを、無線伝送、光学伝送、又は他の電気信号によって送信する工程を含むことを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記機能は、前記第１のデバイスによる前記命令の前記受信時刻に対して相対的に特定された時刻に時間順に配列された命令を含むことを特徴とする、請求項１に記載の方法。
【請求項１６】
前記ＵＳＢトランザクションは、
前記ホストコントローラが前記トリガデバイスをポーリングすることと、
前記トリガデバイスが、前記共通の時間の概念についての前記命令の前記受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによりポーリングされた要求に応答する工程と、
前記ホストコントローラが、前記共通の時間の概念についての前記命令の前記受信時刻を示すデータを含む第２のメッセージを前記デバイスに送信する工程とを含むことを特徴とする、請求項１２に記載の方法。
【請求項１７】
前記機能は、
データの取得、物理変換器の測定、外部装置又は器具の監視、クロック信号の送信の開始又は停止、ビットパターンの送信の開始又は停止、制御シーケンスの送信の開始又は停止、並びに外部装置又は器具の制御、を含む群から選択される１以上の任意の命令を含むことを特徴とする、請求項１に記載の方法。
【請求項１８】
前記ホストコントローラはＵＳＢホストであり、前記デバイスはＵＳＢデバイスであることを特徴とする、請求項１に記載の方法。
【請求項１９】
複数のＵＳＢネットワークのトリガ遅延を削減する方法であって、
それぞれのＵＳＢネットワークは、ＵＳＢホストコントローラと、複数のＵＳＢデバイスとを含み、前記ＵＳＢホストコントローラは互いにデータ通信し、
前記方法は、
それぞれの独立なＵＳＢネットワークの前記ＵＳＢデバイスを同期させる工程と、
外部からのトリガ信号を受信すると、それぞれの前記ＵＳＢデバイスが、当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を実行するように前記ＵＳＢデバイスを構成する工程と、
それぞれの前記ＵＳＢデバイスが、それぞれの前記測定にタイムスタンプし、それぞれのローカルメモリに前記測定を記録する工程と、
前記ＵＳＢホストコントローラのうち少なくとも１つとデータ通信するトリガデバイスが、前記外部からのトリガ信号を受信すると、前記ＵＳＢホストコントローラのうち少なくとも１つに通知する工程と、
それぞれの前記ＵＳＢホストコントローラが、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記トリガデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答する工程と、
前記他のＵＳＢホストコントローラが、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知する工程と、
他の複数の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスが、前記受信の前記通知の受信に応答して、それぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信する工程と、
前記複数のＵＳＢデバイスが、前記受信の通知の受信に応答して、それぞれの複数の命令を実行する工程と、を含む方法。
【請求項２０】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項１に記載の方法。
【請求項２２】
データを取得するためのシステムであって、
ＵＳＢホストコントローラと、
同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを有し、前記ＵＳＢホストコントローラとデータ通信する複数のＵＳＢデバイスとを備え、
前記ＵＳＢデバイスは、データの取得を同期して開始し、前記データが取得されると前記データをそれぞれの前記メモリに格納し、前記取得したデータの少なくとも一部の取得時刻を示すタイムスタンプ情報をそれぞれの前記メモリに格納するように制御可能であり、
第１のＵＳＢデバイスは、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによって、データを収集する前記データ収集命令に応答するように構成され、
前記ホストコントローラは、前記第１のＵＳＢデバイスによる前記データ収集命令の前記受信時刻を示すデータを含む第２のメッセージを他のＵＳＢデバイスに送信することによって、前記第１のメッセージに応答するように構成され、
前記他のＵＳＢデバイスは、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記更なるメッセージに応答するように構成されていることを特徴とするシステム。
【請求項２３】
それぞれがＵＳＢホストコントローラと、複数の同期されたＵＳＢデバイスとを含む複数のＵＳＢネットワークを含むＵＳＢシステムであって、
前記複数のＵＳＢデバイスが前記複数のＵＳＢネットワークをまたがって相互に同期されるように、前記複数のＵＳＢネットワークは同期されており、
前記ＵＳＢデバイスは、（ｉ）外部からのトリガ信号を受信すると、前記それぞれのＵＳＢデバイスが当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を実行し、（ｉｉ）前記それぞれの測定にタイムスタンプし、そして（ｉｉｉ）それぞれのローカルメモリに前記測定を記録するように構成され、
第１の前記ＵＳＢデバイスは、前記外部からのトリガ信号を受信すると当該第１のＵＳＢデバイスのそれぞれのＵＳＢホストコントローラに通知するように構成され、
前記それぞれのＵＳＢホストコントローラは、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記第１のデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答するように構成され、
前記他のＵＳＢホストコントローラは、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知するように構成され、
他の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の前記通知を受信すると、当該ＵＳＢデバイスのそれぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信するように構成され、
前記他のＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の通知を受信すると、それぞれの複数の命令を実行するように構成されていることを特徴とする、ＵＳＢシステム。
【請求項２４】
前記複数のＵＳＢデバイスのうちの少なくともいくつかは、開始されると、それぞれの命令を実行し、前記受信の通知を受信するまではローカルメモリに結果をバッファするように構成されていることを特徴とする、請求項２３に記載のシステム。
【請求項２５】
それぞれが複数のＵＳＢホストコントローラの少なくとも１つに取り付けられた複数の同期されたＵＳＢデバイスと、前記ＵＳＢホストコントローラの１つに取り付けられたトリガデバイスとを含むＵＳＢシステムであって、
前記トリガデバイスは、外部からのトリガ信号の受信の通知と受信時刻とを、前記トリガデバイスが取り付けられた前記ＵＳＢホストコントローラに送信することによって、当該外部からのトリガ信号の受信に応答するように構成され、
前記トリガデバイスが取り付けられた前記ＵＳＢホストコントローラは、当該ＵＳＢホストコントローラに取り付けられたＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記受信と前記受信時刻とを通知することによって、前記通知の受信に応答するように構成され、
前記１以上の他のＵＳＢホストコントローラは、前記受信及び前記受信時刻を、当該ＵＳＢホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに通知することによって、前記受信及び前記受信時刻を通知されたことに応答するように構成されていることを特徴とする、ＵＳＢシステム。
【請求項２６】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項２５に記載の方法。
【請求項２７】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項２５に記載の方法。
【請求項２８】
共通のＵＳＢホストコントローラに取り付けられた複数のＵＳＢデバイスのローカルクロックに同期可能なローカルクロックを備えるトリガデバイスであって、
前記トリガデバイスは、外部からのトリガ信号を受信すると当該外部からのトリガ信号にタイムスタンプし、前記ＵＳＢホストコントローラに前記受信及び前記タイムスタンプを通知するように構成されていることを特徴とする、トリガデバイス。
【請求項２９】
前記トリガデバイスは、命令セットを実行し、前記命令セットのタイムスタンプされた結果をローカルメモリにバッファし、前記外部からのトリガ信号を受信すると前記バッファされタイムスタンプされた結果を前記ＵＳＢホストコントローラに送信するように構成されていることを特徴とする、請求項２８に記載のトリガデバイス。
【請求項３０】
ローカルクロックとローカルメモリとを備えるＵＳＢデバイスであって、
前記ローカルクロックは、１以上の他のＵＳＢデバイスと同期可能であり、
前記ＵＳＢデバイスは、ＵＳＢホストコントローラから命令セットを受信し、前記命令を開始して前記ローカルメモリに結果をバッファすることを開始するように構成され、さらに、前記バッファされた結果を前記ＵＳＢホストコントローラに送信することによって、外部からのトリガ信号がトリガデバイスによって受信された時刻の通知の受信に応答するように構成されていることを特徴とする、ＵＳＢデバイス。
【請求項３１】
前記ＵＳＢデバイスは、前記通知を受信した後に前記命令の実行を継続するように構成されていることを特徴とする、請求項３０に記載のＵＳＢデバイス。
【請求項３２】
請求項２８に記載のトリガデバイスと、
請求項３０に記載の複数のＵＳＢデバイスと、
前記トリガデバイスと前記ＵＳＢデバイスとが取り付けられるＵＳＢホストコントローラと、を備えることを特徴とするＵＳＢシステム。
【請求項３３】
少なくとも１つの機能を実行するために複数のＵＳＢネットワークをまたがって複数のＵＳＢデバイスを制御する方法であって、
前記ＵＳＢネットワークのそれぞれはホストコントローラを有し、
前記ホストコントローラは相互データ通信を行い、
それぞれの前記複数のＵＳＢデバイスは、同期クロックと、共通の時間の概念と、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
それぞれの前記複数のＵＳＢネットワーク上のそれぞれの前記複数のＵＳＢデバイスが、共通の時間の概念で動作するように、前記複数のＵＳＢネットワークを同期させる工程と、
前記デバイスが前記機能の同期した実行を開始し、前記機能の結果として取得されるデータをそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように前記ＵＳＢデバイスを作動させる工程と、
第１の前記ホストコントローラに取り付けられたトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記第１のホストコントローラに送信することにより、当該命令に応答する工程と、
前記第１のホストコントローラが、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを、当該第１のホストコントローラに取り付けられた前記ＵＳＢデバイスに送信することと、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第３のメッセージを、他の前記ホストコントローラに送信することとによって、前記第１のメッセージに応答する工程と、
それぞれの前記他のホストコントローラが、当該他のホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む複数の他のメッセージを送信する工程と、
前記ＵＳＢデバイスが、それぞれのメモリを読むことと、それぞれの当該メモリにおける外部からのトリガの前記受信時刻に対応する位置又は次の利用可能な位置から始まる、当該メモリ内に格納された前記取得されたデータを、当該ＵＳＢデバイスのそれぞれのホストコントローラに送信することとによって前記第２のメッセージ及び続くメッセージに応答する工程と、を含むことを特徴とする方法。
【請求項３４】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項３３に記載のシステム。
【請求項３５】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項３３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］本願は２００７年５月１５日に出願された米国特許出願番号第６０／９３８１３６号に基づき、この出願の出願日の利益を主張する。この出願の出願時の内容を引用することによって、その内容の全体をここに合体する。
【０００２】
［技術分野］本願は、ユニバーサル・シリアル・バスにおけるデータ取得においてトリガ遅延を削減する方法及びシステムに関し、以下に限定されるものではないが、特に同期及びタイミングシステム並びにクロックの用意における；試験装置、測定装置、機器インタフェース及びプロセス制御装置のデータ取得、自動化及び制御における、及び；とりわけローカル環境又は分散スキームにおいて本質的に任意の程度にこのような装置を同期するための、アプリケーションに関する。
【背景技術】
【０００３】
ＵＳＢ仕様は、例えば異なるベンダからのデバイスの相互動作を、オープンアーキテクチャにおいて容易にすることを意図している。ＵＳＢデータは差分信号通信を用いて（すなわち２本のワイヤが情報を伝送する）、これらの２本のワイヤの信号レベルの差分の形で符号化される。ＵＳＢ仕様は、可搬環境、デスクトップ環境、及び家庭環境におけるＰＣアーキテクチャの強化を意図している。
【０００４】
ＵＳＢ仕様は、デバイスの違いを想定している。複数の製造者からのデバイスが接続される意図された環境についてこのことは当てはまるが、類似の性質の複数のデバイスを同期させて動作させるための仕様を必要とする他の環境（例えばある通常の工業環境又は実験室環境）が存在する。この仕様は、この問題に十分に取り組んでいない。このような環境は、典型的には試験、測定又は監視が行われる環境であり、仕様化されているよりもより正確な程度でデバイスが同期されていることを必要とする。ＵＳＢ仕様は、１ｋＨｚのクロック信号を全てのデバイスに供給することにより、限定的なデバイス間同期を可能とする。しかしながら、多くの実験室及び工業環境は、メガヘルツの周波数及びより高い周波数での同期を必要とする。
【０００５】
ＵＳＢは、ハブがＵＳＢの接続点を備える、階層スタートポロジを採用する。ユーザのパーソナルコンピュータ（ＰＣ）、ラップトップ又は携帯情報端末（ＰＤＡ）に位置するＵＳＢホストコントローラは、システムにおける全てのＵＳＢポートのはじまりとなるルートハブを含む。ルートハブは、ＵＳＢ機能デバイス又は別のハブが接続されることができる、複数のＵＳＢポートを提供する。
【０００６】
さらに、さらなるハブ（例えばＵＳＢ複合デバイス）をこれらのポートのどれにでも接続することができ、さらなるＵＳＢデバイスに対してポートを介して追加の接続点を提供することができる。このように、デバイスは５階層の深さを超えないものの、ＵＳＢは（ハブを含めて）１２７までのデバイスが接続されることを許容している。
【０００７】
ホストのルートハブは、フレーム開始（ＳＯＦ）信号パケットを１ミリ秒毎に全てのデバイスに送信する。２つのＳＯＦパケットの空いた時間はフレームと呼ばれる。ＵＳＢトポロジにおいては不可避である信号伝送の遅延のために、それぞれのモジュールは異なる時刻にこのＳＯＦパケットを受け取る。ホストコントローラに直接接続されたデバイスと、５階層下のデバイスとの間で、同じ信号を受信するためにかなりの遅延（≦３８０ナノ秒として設計されている）が存在するであろうことを、このトポロジは意味する。
【０００８】
１つの既存のアプローチにおいて、ＵＳＢホストとＵＳＢデバイスとの間の同期は、インタラプト(Interrupt)及びアイソクロナス(Isochronous)という２つのＵＳＢ転送形式によって可能となる。インタラプト転送は、最低１２５マイクロ秒の間隔である、デバイスの保証されたポーリング頻度を提供する。一方でアイソクロナス転送は、保証された一定の転送レートを提供する。双方の方法は、同期を行うデバイス及びホストの間でのトラフィックが存在することを要求し、それゆえより高度な同期のためにはより多くの帯域幅を予約する。しかしながらこのことは、最大の数のデバイスが接続される前に、利用可能なＵＳＢ帯域幅が使い尽くされてしまい得ることを意味する。このアプローチはまた、ソフトフェアを有するホストに、１２７デバイスを同期するという計算上の負荷を課すこととなる。それでもなお、個々のデバイスが別々の処理をホストに対して示すために、デバイス間の同期を維持することはできない。
【０００９】
レーザダイオード又は光検出器のような物理変換器を含むデバイスは、クロック及びトリガ情報を必要とするだろう。１ＭＨｚの変調光出力を備えるレーザダイオードのようなデバイスは、規則的な間隔又は一定の頻度で変換器機能を実行するために、クロック信号を用いるだろう。トリガ信号は、設定された時刻に動作を開始又は終了するために通常は用いられる。レーザダイオードの例では、トリガ信号は変調光出力をオンにし又はオフにするために用いられうる。
【００１０】
これらのクロック及びトリガ信号は、信号が全てのデバイスに対して共通でありかつ同時になされるのなら、複数のデバイスを互いに同期させるために用いられうる。（そして、それゆえに以下で「同期情報」と呼ばれるものを構成する。）ここでは「共通」及び「同時」とは、デバイス間でのこれらの信号の時刻の偏差が、特定の量（δｔ）よりも小さいことを意味する。レーザダイオードの例において、このことは複数のレーザダイオードが１つの周波数で光出力を変調することを可能とする。全てのデバイスの変調周波数は同じになり、波面は同相となるだろう。現在のＵＳＢ仕様（ｖｉｚ．２．０）は、δｔが最大０．３５マイクロ秒であることを許容する。１ＭＨｚで１．０マイクロ秒間隔の信号について、この遅延はこの間隔のほぼ半分を示す。このように、これは日常的使用のための同期情報としては使うことができない。
【００１１】
ハブ及びＵＳＢコントローラチップのようなデバイスは、ＵＳＢプロトコルを復号するためにある程度の位相同期(phase locking)を通常は用いる。同期する他の電子回路のための同期パターンを提供することが、ＵＳＢプロトコルにおけるＳＹＮＣパターンの目的である。しかしながら、ＭＨｚビットストリームの解釈に十分な精度でデバイスをＵＳＢビットストリームに同期させることがこれには意図されている。多くの試験及び測定機器によって必要とされるレベルで、２つの別々のデバイスをそれぞれ同期させることは、意図されていない。デバイス間の同期について扱う程度において、ＵＳＢスピーカの対での出力のために十分なようにＵＳＢ−ＣＤオーディオストリームを同期させることが、ＵＳＢ仕様の主要な関心である。このような装置の要求はｋＨｚの範囲であって、この応用例についてはＵＳＢ仕様は満足のいくものである。しかしながら、この仕様は例えば１００個のＵＳＢスピーカの対を同期させるという、潜在的な問題には取り組んでいない。
【００１２】
上述のように、ＵＳＢ通信は通常１ミリ秒のフレーム内で（又は、高速ＵＳＢ仕様においては、１ミリ秒のフレーム毎の８つのマイクロフレーム内で）データを転送する。フレーム開始（ＳＯＦ）パケットは、それぞれのフレームの最初に低速デバイス以外の全てに送信され、それぞれのマイクロフレームの最初に全ての高速デバイスに送信される。ＳＯＦパケットはそれゆえ、所定のホストコントローラに接続された低速デバイス以外の全てに対して報知(broadcast)される、周期的な低分解能信号を示す。
【００１３】
このＳＯＦパケット報知は、公称１ｋＨｚ（高速ＵＳＢ仕様の場合は８ｋＨｚ）の頻度で起こる。しかしながらＵＳＢ仕様は、（開発基準によって）５００パーツ・パー・ミリオン（ｐｐｍ）もの非常に大きな頻度の誤差を許している。背景技術はクロック同期を提供するために、ＵＳＢホストコントローラによっていくぶんあいまいな頻度で提供されるにすぎない、それぞれのデバイスに報知されるこの低分解能信号を用いる。
【００１４】
米国特許第６３４３３６４号明細書(Leydier et al.)は、スマートカード・リーダ向けの、ＵＳＢトラフィックへの周波数ロックの例を開示する。この文献は、ＵＳＢ  ＳＹＮＣ及びパケットＩＤストリームに例えられる、ローカルなフリー・ランニング・クロックを教示する。その周期は周波数と一致するように更新され、１．５ＭＨｚの公称周波数を持つローカルクロックをもたらす。これは、スマートカードの情報をホストＰＣに読み込むのに十分な程度の同期を与えるが、このアプローチはスマートカード・リーダ向けであるために、デバイス間同期は検討されていない。
【００１５】
米国特許第６０１２１１５号明細書と、続く継続米国特許第６２２６７０１号明細書(Chambers et al.)は、タイミングのためのＵＳＢ  ＳＯＦの周期性及びナンバリングに取り組んでいる。これらの文献は、ＵＳＢホストコントローラからそのＵＳＢコントローラに接続された周辺デバイスへと送信されるフレーム開始パルスを用いることにより、リアルタイム周辺デバイスにおいて所定のイベントが起こる瞬間の正確な検知を行うことができる、コンピュータシステムを開示する。
【００１６】
しかしながらこれらの文献によって教示されるこの方法は、ＵＳＢホストコントローラ内のマスタクロックの絶対周波数を測定するための、ＵＳＢデータトラフィック内に含まれる周期的データ構造の頻度の測定を含まず、いくつかの場合にはホスト内に追加のカウンタを用意することに頼る。
【００１７】
米国特許６０９２２１０号明細書(Larky et al.)は、ローカル・デバイス・クロックを２つのＵＳＢホスト双方のデータストリームに同期させるために、ＵＳＢ−ＵＳＢ接続デバイスを採用することによって、データ転送の目的で２つのＵＳＢホストを接続する方法を開示する。位相ロックされたループがローカルクロックを同期させるために用いられ、データ損失が起こらないことを保証するためにオーパサンプリングが用いられる。しかしながらこの文献は、２つのＵＳＢホスト間での情報の転送が可能となるように、２つのＵＳＢポートホストのデータストリームを互いに（限定された正確さで）同期させることに関する。この文献は、複数のＵＳＢデバイスを、単一のＵＳＢホスト又は複数のＵＳＢホストに同期させる方法を何ら教示しない。
【００１８】
ＵＳＢ仕様はオーディオアプリケーションを念頭に書かれており、米国特許５７６１５３７号明細書(Sturges et al.)は、１組のスピーカはステレオオーディオ回路から分離して動作し、他の組はＵＳＢによって制御される、個々のクロックを有する２つ以上の組のスピーカをどのように同期させるかを説明する。双方のスピーカの組は自身のクロックを用いるために、同期される必要がある。この文献は、非同期クロックの間にはクロックの歪みが存在するかもしれないが、オーディオ信号の同期を維持する１つの技術を教示する。
【００１９】
米国特許出願第１０／６２０７６９号明細書(Foster et al.)は、任意の程度に、それぞれのデバイスのローカルクロックが所与のＵＳＢに同期される、ＵＳＢの同期バージョンを開示する。この文献はまた、トリガ信号によって複数のデバイスにおいてイベントが同期して開始されうるように、ＵＳＢ内でそれぞれのデバイスに対してトリガ信号が与えられる、方法及び装置を開示する。
【００２０】
しかしながら、１つのＵＳＢデバイスがトリガを受信し、最小限の遅延で他のデバイスにこのトリガを配布することを、従来からのＵＳＢ通信に関連する遅延は依然として妨害する。このことは、デバイスの１つが外部からのトリガ信号を受け取った時に、複数のＵＳＢデータ取得デバイスが公称許容度の範囲内で同時に同期して測定サンプルを得ることを妨げる。
【００２１】
ＶＸＩ又はＰＸＩのような伝統的なラック置きの測定システムにおいては、デバイスがラックのスロット間でトリガ信号を共有することを可能とするタイミングバックプレーンがラック内に存在する。ＵＳＢはこのような能力を全く有さず、このことはデータ取得、測定、自動化及び制御アプリケーションにおけるＵＳＢの応用を大きく制限している。
【００２２】
図１は、背景技術の同期ＵＳＢシステム１０の概略図であり、ＵＳＢを有するＵＳＢホストコントローラを含むパーソナルコンピュータ１２が、ＵＳＢ拡張ハブ１４及びＵＳＢデバイス１６のネットワークをホストする場合を含んでいる。ＵＳＢデバイス１６のそれぞれは、自身それぞれのローカルクロック（不図示）を有する。
【００２３】
これらのローカルクロックを同期するためのこの構成は、ＵＳＢトラフィック中に存在する周期的データ構造に依存する。こうして、米国特許出願第１０／６２０７６９号明細書(Foster et al.)の好適な実施形態では、ＵＳＢデバイスにおけるＳＯＦパケットトークンの検知に、周波数及び位相においてローカルクロックをロックすることが必須である。回路はＵＳＢを通るトラフィックを監視し、（ＳＯＦパケットを含む好適な実施形態においては）バストラフィックからのクロックキャリア信号を復号し、このことは１ｋＨｚ（又はＵＳＢハイスピードについては８ｋＨｚ）の公称キャリア信号周波数をもたらす。制御された発振器クロックからのローカルクロック信号は、位相と周波数との双方におけるＵＳＢ  ＳＯＦパケットの受信にロックされる。このことは、ルートハブに取り付けられた全てのデバイスが、周波数において、ＳＯＦパケットトークンを受信した点にロックされることを保証する。
【００２４】
２００７年２月１５日に出願された国際公開ＷＯ２００７／０９２９９７号パンフレット(Foster et al.)に開示される他の同期ＵＳＢデバイスは、同期されたローカルクロックから記録される、ローカル参照クロックレジスタを参照する。制御ループの遅延が削減されることを可能とする追加のデータパスウェイを有する、（図１のＵＳＢハブ１４と類似する）ハイブリッドＵＳＢハブが開示される。図２は、上流ポート３２、複数の下流ポート３４、低遅延データ・バイパス・ポート３６、従来からのＵＳＢハブ回路３８、及びデータバイパス回路４０を有する、このハイブリッドＵＳＢハブ３０の概略図である。
【００２５】
図３は、図２のデータバイパス回路４０の詳細な概略図であり、明確化のためにＷＯ２００７／０９２９９７から単純化されている。データバイパス回路４０は、バスのホストコントローラ側に接続するための上流ポート４２と、バスのデバイス側に接続するための下流ポート４４（好適な実施形態においては、これは従来のＵＳＢハブ回路のチップに接続する）と、低遅延データ・バイパス・ポート４６と、ＵＳＢデータ・マルチプレクサ・スイッチ４８を有する。
【００２６】
こうしてデータバイパス回路４０は、全てのＵＳＢデータパケットを監視し、外部回路によって用いられるためのＵＳＢデータ信号のバッファされた複製信号５０を提供することが可能である。バッファされた複製信号５０は、ＵＳＢホストコントローラのクロックレートに関する情報を含むキャリア信号を特定するために、ホストコントローラからのＵＳＢデータ内の周期的信号構造を復号するために外部回路によって用いられることができる。バッファされた複製信号５０はまた、全ての下流ＵＳＢデバイスからの情報を、ホストコントローラに向けて上流へと通過する時に復号するために用いられることもできる。このように、最初にホストコントローラ及び関連するオペレーティングシステムがデータを処理し及びデータに対して動作を行うことを要求することなく、下流のデバイスからの情報に対して直接的な動作を行うことができる。
【００２７】
データバイパス回路４０はまた、先進データ管理、スイッチング及びＵＳＢ制御ループ遅延の削減のための追加回路を含む。この回路は、ＵＳＢデータ多重化スイッチ４８（実際にはＵＳＢデータ信号は差動だが、単純化のために、図３の単純な単一のポールスイッチ５２及び５４の組として示される）を含む。ＵＳＢデータ多重化スイッチ４８は、上流スイッチ４２及び下流スイッチ５４を含み、直接（示されている構成）、又は双方向データポート４６を介する外部回路からの双方向データストリーム５０を用いることによって、ＵＳＢデータ信号を上流ポート４２から下流ポート４４に向けるように構成されている。スイッチ・コントローラ・ロジックは、単純化のために示されていない。
【００２８】
データバイパス回路４０はまた、ＵＳＢデータストリーム内にデータを挿入するように、自分自身を動的に設定することが可能である。ホストコントローラからデバイスへのメッセージは、ＵＳＢ監視回路によって途中で捕らえられ変更されてもよい。このように、特定のＵＳＢデバイスに既知のデータパケットサイズでの定期的なポーリングを提供するように、ソフトウェアが構成されることができる。特定の定期的にポーリングされるパケットの大きさにアクセスを有するＵＳＢ監視回路は、同期して（ＵＳＢデータスイッチ４８の図示された構成で）直接接続をバイパスし、トランザクションのペイロードフィールドにデータを挿入することによって、トランザクションのペイロード内にデータを挿入することができる。
【００２９】
このシステムはＵＳＢにおける通信遅延を削減するという望ましい結果を達成するだろうが、このシステムは専用のハイブリッドＵＳＢハブ（又は他のデバイス）に特別のハードウェアが含められることを必要とする。このようなハードウェアは、システムが従来のＵＳＢ技術を用いて、データ取得メッセージを削減することと、任意の小さなタイムフレーム内で複数のデバイスをトリガすることを阻むだろう。
【発明の概要】
【００３０】
第１の広い態様によれば本発明は、１以上の機能を実行するために、共通のコントローラとデータ通信する（ＵＳＢデバイスのような）１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能の同期した実行を開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記共通のコントローラとデータ通信するトリガデバイスが、前記機能を実行する（例えば外部からのトリガ信号の形をとる）命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することにより、当該命令に応答する工程と、
前記ホストコントローラが、更なるデバイスによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを前記デバイスに送信することによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記第２のメッセージに応答する工程と、
を含む方法を提供する。
【００３１】
当業者には理解されるであろうように、通常の意味でデバイスのクロックは「同期」しており（すなわち、互いに同期しており）、任意の１つのクロックに関する時間と、他の任意のクロックに関する時間との間には既知の対応関係（アイデンティティの１つかもしれない）がある。
【００３２】
トリガデバイスはこのデバイスのうちの１つであってもよいがし、いくつかの実施形態においてはこのデバイスうちの１つではなくてもよい。
【００３３】
ある実施形態において、クロックは周波数ロック及び位相ロックされている。
【００３４】
ある実施形態において、リアルタイム・クロック・レジスタは共通の時間に同期されており、それぞれの同期クロックで記録されている。
【００３５】
特定の実施形態において、デバイスを作動させる工程は、デバイスが命令を開始する工程を含む。
【００３６】
この方法は、外部から与えられた複数の信号の状態を測定しかつ記録する工程（例えば、アナログ信号の振幅を測定する工程を含む）を含んでもよい。
【００３７】
メモリは、一杯になると最も古い記録を上書きするように構成されていてもよい。
【００３８】
この方法は、機能を実行する命令に、トリガデバイスによる受信時刻を示すタイムスタンプを与える工程を含んでもよい。
【００３９】
この方法は、デバイスに対してタイムスタンプを送信する工程を含んでもよい。
【００４０】
コントローラはＵＳＢホストを含んでもよく、デバイスはＵＳＢデバイスを含んでもよい。
【００４１】
この方法は、タイムスタンプをＵＳＢ以外のトランザクションを介して送信する工程を含んでもよい。
【００４２】
ＵＳＢトランザクションは、
ホストコントローラが第１のデバイスをポーリングすることと、
トリガデバイスが、共通の時間の概念についての命令の受信時刻を示すデータを含む第１のメッセージをホストコントローラに送信することによりポーリングされた要求に応答する工程と、
ホストコントローラが、共通の時間の概念についての命令の受信時刻を示すデータを含む第２のメッセージをデバイスに送信する工程とを含んでもよい。
【００４３】
この方法は、タイムスタンプをＵＳＢ以外のトランザクションを介して送信する工程を含んでもよい。
【００４４】
この方法は、タイムスタンプを、無線伝送、光学伝送、又は他の電気信号によって送信する工程を含んでもよい。
【００４５】
ある実施形態において、この機能はトリガデバイスによる命令の受信時刻に対して相対的に特定された時刻に時間順に配列された命令を含む。
【００４６】
特定の実施形態において、この機能はデータの取得、物理変換器の測定、外部装置又は器具の監視、クロック信号の送信の開始又は停止、ビットパターンの送信の開始又は停止、制御シーケンスの送信の開始又は停止、並びに外部装置又は器具の制御、を含む群から選択される１以上の任意の命令を含む。
【００４７】
この態様に従うと、ある実施形態において本発明は、共通の制御コントローラとデータ通信する複数のデバイスのうちの第１のデバイスを採用し、前記共通のコントローラは前記複数のデバイスのうちの１以上の他のデバイスがデータを収集するように制御し、それぞれの前記デバイスは同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを有し、前記方法は、
前記他のデバイスがデータの取得を同期して開始し、データが取得されると当該データをそれぞれのメモリに格納し、前記取得したデータ少なくともいくつかの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように前記他のデバイスを作動させる工程と、
第１のデバイスが、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに（典型的には通常のポーリングルーチンの中で）送信することによって、データを収集する前記データ収集命令（例えば、外部からのトリガ信号の形をとる）に応答する工程と、
前記ホストコントローラが、前記第１のデバイスによる前記データ収集命令の前記受信時刻を示すデータを含む第２のメッセージを他のデバイスに送信することによって、前記メッセージに応答する工程と、
前記他のＵＳＢデバイスが、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記第２のメッセージに応答する工程とを含む。
【００４８】
ある実施形態において、複数のデバイスは複数のＵＳＢデバイスの形をとり、コントローラはＵＳＢホストコントローラを含み、本方法は、他の前記ＵＳＢデバイスが、データの取得を同期して開始し、前記データが取得されると前記データをそれぞれの前記メモリに格納し、前記取得したデータの少なくとも一部の取得時刻を示すタイムスタンプ情報をそれぞれの前記メモリに格納するように、前記他のＵＳＢデバイスを作動させる工程と、
第１のＵＳＢデバイスが、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに（典型的には通常のポーリングルーチンにおいて）送信することによって、データを収集する前記データ収集命令（例えば、外部からのトリガ信号の形を取る）に応答する工程と、
前記ホストコントローラが、前記第１のＵＳＢデバイスによる前記データ収集命令の前記受信時刻を示すデータを含む第２のメッセージを他のＵＳＢデバイスに送信することによって、前記メッセージに応答する工程と、
前記他のＵＳＢデバイスが、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記第２のメッセージに応答する工程とを含む。
【００４９】
このように測定遅延は、例えばＵＳＢデータ取得デバイスのサンプル測定周期によってのみ制限され、これは一般的には測定される信号の特徴サイズよりもずっと小さい。ある実施形態において、同期クロックは位相ロックされることによって時刻を維持する。そして、それぞれのデバイスのリアルタイム・クロック・レジスタは正確な時刻を持ち、それぞれの同期クロックから記録される。
【００５０】
いくつかの実施形態において本方法は、第１のＵＳＢデバイスと他のＵＳＢデバイスとの双方によってデータが取得されるように、他のＵＳＢデバイスを作動させる時に第１のＵＳＢデバイスを作動させる工程を含む。
【００５１】
ある実施形態において、さらなるＵＳＢデバイスがホストコントローラとデータ通信し、本方法は、さらなるＵＳＢデバイスではなく他のＵＳＢデバイスを選択的に作動させる工程を含む。
【００５２】
それぞれの他のＵＳＢデバイスを作動させる工程は、トリガを受信するためにオシロスコープを作動させる工程に例えられるかもしれない。
【００５３】
ある実施形態において、タイムスタンプ情報は、取得されたデータのそれぞれのアイテムについて別々のタイムスタンプ情報を含み、本方法は、それぞれのタイムスタンプ情報を取得されたデータの対応する部分に関連づける工程を含む。他の実施形態において本方法は、データの取得を開始した時にのみ、それぞれの他のＵＳＢデバイスがタイムスタンプ情報を格納する工程を含む。この場合、本方法の状態機械の特徴は、取得されたデータのそれぞれのアイテムが特定の取得時刻と関連づけられることを可能とする。
【００５４】
ある実施形態において、メモリのどれかが一杯になったならば、本方法は、リングバッファ構成において、以前に保存された取得されたデータを上書きする工程を含む。この実施形態において、データの取得を開始した時にのみタイムスタンプ情報がそれぞれのメモリに保存されるならば、本方法はそれぞれのメモリに新しいタイムスタンプ情報を保存する工程を含む。
【００５５】
第１のＵＳＢデバイスによって取得されたデータを収集する命令は、ラック置きのシステムにおいて、タイミングバックプレーンに渡されるかもしれず、最小限の遅延で他のＵＳＢデバイスと共有されるかもしれない。しかしながら、信号の伝搬時間のために、依然としていくらかの遅延が存在するだろう。
【００５６】
第２の広い態様によれば本発明は、
ＵＳＢホストコントローラと、
同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを有し、前記ＵＳＢホストコントローラとデータ通信する複数のＵＳＢデバイスとを備え、
前記ＵＳＢデバイスは、データの取得を同期して開始し、前記データが取得されると前記データをそれぞれの前記メモリに格納し、前記取得したデータの少なくとも一部の取得時刻を示すタイムスタンプ情報をそれぞれの前記メモリに格納するように制御可能であり、
第１のＵＳＢデバイスは、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによって、データを収集する前記データ収集命令に応答するように構成され、
前記ホストコントローラは、前記第１のＵＳＢデバイスによる前記データ収集命令の前記受信時刻を示すデータを含む第２のメッセージを他のＵＳＢデバイスに送信することによって、前記第１のメッセージに応答するように構成され、
前記他のＵＳＢデバイスは、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記更なるメッセージに応答するように構成されている、データ取得システムを提供する。
【００５７】
ある実施形態において本発明は、
それぞれがＵＳＢホストコントローラと、複数の同期されたＵＳＢデバイスとを含む複数のＵＳＢネットワークを含み、
前記複数のＵＳＢデバイスが前記複数のＵＳＢネットワークをまたがって相互に同期されるように、前記複数のＵＳＢネットワークは同期されており、
前記ＵＳＢデバイスは、（ｉ）外部からのトリガ信号を受信すると、前記それぞれのＵＳＢデバイスが当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を実行し、（ｉｉ）前記それぞれの測定にタイムスタンプし、そして（ｉｉｉ）それぞれのローカルメモリに前記測定を記録するように構成され、
第１の前記ＵＳＢデバイスは、前記外部からのトリガ信号を受信すると当該第１のＵＳＢデバイスのそれぞれのＵＳＢホストコントローラに通知するように構成され、
前記それぞれのＵＳＢホストコントローラは、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記第１のＵＳＢデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答するように構成され、
前記他のＵＳＢホストコントローラは、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知するように構成され、
他の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の前記通知を受信すると、当該ＵＳＢデバイスのそれぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信するように構成され、
前記他のＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の通知を受信すると、それぞれの複数の命令を実行するように構成されていることを特徴とする、ＵＳＢシステムを提供する。
【００５８】
本発明はまた、
共通のＵＳＢホストコントローラに取り付けられた複数のＵＳＢデバイスのローカルクロックに同期可能なローカルクロックを備え、
外部からのトリガ信号を受信すると当該外部からのトリガ信号にタイムスタンプし、前記ＵＳＢホストコントローラに前記受信及び前記タイムスタンプを通知するように構成されているトリガデバイスを提供する。
【００５９】
このトリガデバイスは、命令セットを実行し、前記命令セットのタイムスタンプされた結果をローカルメモリにバッファし、前記外部からのトリガ信号を受信すると前記バッファされタイムスタンプされた結果を前記ＵＳＢホストコントローラに送信するように構成されていてもよい。
【００６０】
本発明はさらに、
ローカルクロックとローカルメモリとを備えるＵＳＢデバイスであって、
前記ローカルクロックは、１以上の他のＵＳＢデバイスと同期可能であり、
前記ＵＳＢデバイスは、ＵＳＢホストコントローラから命令セットを受信し、前記命令を開始して前記ローカルメモリに結果をバッファすることを開始するように構成され、さらに、前記バッファされた結果を前記ＵＳＢホストコントローラに送信することによって、外部からのトリガ信号がトリガデバイスによって受信された時刻の通知の受信に応答するように構成されていることを特徴とする、ＵＳＢデバイスを提供する。
【００６１】
第３の広い態様によれば本発明は、複数のネットワークのそれぞれの複数のＵＳＢデバイスのトリガ遅延を削減する方法であって、それぞれのネットワークはＵＳＢコントローラと、同期された複数のＵＳＢデバイスとを含み、前記複数のネットワークが外部に由来する共通の基準時間信号によって自身が同期される方法を提供する。
【００６２】
この広い態様によれば、少なくとも１つの機能を実行するために複数のＵＳＢネットワークをまたがって複数のＵＳＢデバイスを制御する方法であって、
前記ＵＳＢネットワークのそれぞれはホストコントローラを有し、
前記ホストコントローラは相互データ通信を行い、
それぞれの前記複数のＵＳＢデバイスは、同期クロックと、共通の時間の概念と、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
それぞれの前記複数のＵＳＢネットワーク上のそれぞれの前記複数のＵＳＢデバイスが、共通の時間の概念で動作するように、前記複数のＵＳＢネットワークを同期させる工程と、
前記デバイスが前記機能の同期した実行を開始し、前記機能の結果として取得されるデータをそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように前記ＵＳＢデバイスを作動させる工程と、
（典型的には通常のポーリングルーチンにおいて）第１の前記ホストコントローラに取り付けられたトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記第１のホストコントローラに送信することにより、（例えば外部からのトリガ信号の形をとる）当該命令に応答する工程と、
前記第１のホストコントローラが、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを、当該第１のホストコントローラに取り付けられた前記ＵＳＢデバイスに送信することと、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第３のメッセージを、他の前記ホストコントローラに送信することとによって、前記第１のメッセージに応答する工程と、
それぞれの前記他のホストコントローラが、当該他のホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む複数の他のメッセージを送信する工程と、
前記ＵＳＢデバイスが、それぞれのメモリを読むことと、それぞれの当該メモリにおける外部からのトリガの前記受信時刻に対応する位置又は次の利用可能な位置から始まる、当該メモリ内に格納された前記取得されたデータを、当該ＵＳＢデバイスのそれぞれのホストコントローラに送信することとによって前記第２のメッセージ及び続くメッセージに応答する工程と、を含むことを特徴とする方法を、本発明は提供する。
【００６３】
上述の本発明のそれぞれの態様の様々な特徴は、望み通りに組み合わせられうることに注意すべきである。
【００６４】
さらに、本発明に従う装置は様々な方法で実現されうる。例えばこのようなデバイスは、セラミック基板上に又は半導体レベルで、すなわち単一のシリコン（又は他の半導体材料）として、プリント回路又はプリント配線板上の複数の構成要素の形で構成されることができるだろう。
【００６５】
本発明がより明確に確かめられうるように、例として添付の図面を参照して、実施形態がここに説明される。
【図面の簡単な説明】
【００６６】
【図１】背景技術の同期ＵＳＢシステムの概略図である。
【図２】ＵＳＢ通信における遅延の削減を可能とする、背景技術のハイブリッドＵＳＢハブデバイスの概略図である。
【図３】図２のハイブリッドＵＳＢハブの、データバイパス回路の概略図である。
【図４】本発明の一実施形態に従う、同期ＵＳＢデータ取得システムの概略図であり、トリガイベント及びシステム内のメッセージの流れを示す。
【図５】図４の同期されたＵＳＢデバイスの１つに含まれるメモリデバイスのアドレス空間の概略図である。
【発明を実施するための形態】
【００６７】
図４は、本発明の一実施形態に従う、同期ＵＳＢデータ取得システム６０の概略図である。システム６０は、パーソナルコンピュータ６２、複数のＵＳＢ拡張ハブ６４、第１のデータ取得デバイス６６、及び複数の第２のＵＳＢデータ取得デバイス６８を含む。
【００６８】
データ取得デバイス６６，６８は同期している、すなわち（参照により本明細書に組み込まれる国際特許出願ＷＯ２００７／０９２９９７号パンフレットにおいて教示されるような）それぞれの同期したローカルクロック７０，７２からそれ自体が記録されるリアルタイム・クロック（実時間時計）（非図示）を有する。
【００６９】
データ取得デバイス６６，６８は同じ形式でも異なる形式でもよく、例えばデジタル測定機器、アナログ測定機器、ひずみゲージ又は振動測定デバイスであってもよい。
【００７０】
第１のＵＳＢデータ取得デバイス６６は外部からのトリガ信号７４に応答し、全てのＵＳＢデータパケットデータ取得装置６６，６８での取得を開始するためにこの信号を用いるように構成されている。第１のデータ取得装置６６は、その内部のリアルタイム・クロック・レジスタ（国際公開ＷＯ２００７／０９２９９７号パンフレットの図２２のバックグラウンド・リアルタイム・クロック・レジスタを参照のこと）に対して、外部からのトリガ信号７４の受信時刻を記録する。
【００７１】
第１のＵＳＢデータ取得デバイス６６はそして、「トリガ有効(trigger valid)」メッセージと、第１のＵＳＢデータパケットデバイス６６による外部からのトリガ信号７４の受信時刻を示すデータとを含むメッセージ７６を、システム・コントローラ・パーソナル・コンピュータ６２に送信する。パーソナルコンピュータ６２は、「トリガ有効」メッセージと第１のＵＳＢデータパケットデバイス６６による外部からのトリガ信号７４の受信時刻を示すデータとを含むメッセージ７８を、他のＵＳＢデータ取得デバイス６８のそれぞれに（順番に又は並行して）報知する。このように、第１のＵＳＢデバイス６６（又は、原理的には他のどんなデバイスにでも）に与えられた外部からのトリガ信号７４の実時刻が、それぞれのデバイスに知らされる。
【００７２】
図５は、図４の第２のＵＳＢデータ取得デバイス６８のそれぞれの物理メモリのメモリマップ８０の概略表示である。メモリマップ８０は、物理メモリデバイスに対応するアドレス可能メモリ構造８２を含み、（メモリアドレス８４のような）複数のメモリアドレスを備える。例として、メモリアドレス８４のような空のメモリアドレスは影なしで示され、データを含むメモリは影付きで示される。データはメモリアドレスに順番に格納される。
【００７３】
それぞれのＵＳＢデータ取得デバイス６６，６８のメモリコントローラ（不図示）は、連続した測定に対応するデータで、順番にメモリ構造８２のメモリアドレスを埋める。典型的には、データ取得デバイスは規格化された時系列で測定を行うだろう。このように、既知の一時的な関係が、メモリデバイス内の連続する物理メモリアドレス間には存在する。
【００７４】
この場合のメモリコントローラは、物理メモリデバイスがリングバッファを構成するように組織される。このメモリ構造を用いて、メモリコントローラはメモリアドレスを順番にデータで埋める。最後のメモリアドレスが埋められた時は、メモリコントローラは「ロールオーパ」８６を行う、すなわち第１のメモリアドレスに戻り、その位置から埋めることを継続する。このことは、メモリ内のより初期のデータの上書きにつながる。
【００７５】
本実施形態において、最初のメモリアドレス（又は、サイズ要求に依存して、最初のほんの少しのメモリアドレス）は、最初の測定の時刻の瞬間に対応する（リアルタイム・レジスタからの）実時刻８８をメモリ内に格納する。これは、メモリコントローラが「ロールオーパ」し、データの上書きを始める度に更新される。
【００７６】
（メモリアドレス９０にデータが格納されようとするのに対応する）ある時刻において、第２のＵＳＢデータ取得デバイス６８には知られないうちに、外部からのトリガ信号７４が第１のＵＳＢデータ取得デバイスで記録される。第２のＵＳＢデータ取得デバイス６８は、測定及びそのメモリ内へのデータの記録を継続する。続けて、第１のＵＳＢデバイス６６上で外部からのトリガ信号７４が発生した時刻９０を知らせるメッセージが、第２のＵＳＢデータ取得デバイス６８によって受け取られる。
【００７７】
第２のＵＳＢデータ取得デバイス６８は、第１のＵＳＢデータ取得デバイス６６上で発生した外部からのトリガ信号７４に対応して行われた、メモリアドレス９０に格納されたデータ測定の位置を特定するためにメモリ内のテータレコードを検索するために、メモリ内の最初の位置の時刻マーカと、既知のデータ測定レートを用いる。（メモリアドレス９２に格納された）この時の後に保存されたデータはするとホストコンピュータへと転送され、続けてさらなる測定が行われて、さらなる測定は第２のＵＳＢデータ取得デバイス６８のデータ取得機能によって行われ続ける。
【００７８】
このように、通常ならＵＳＢ遅延によって失われるであろうメモリアドレス９２に格納されたデータは回復され、測定レコードにおいて用いられることができる。
【００７９】
第１のＵＳＢデータ取得デバイス６６は、通常なら第２のＵＳＢデータ取得デバイス６８とともにデータ収集に従事するであろうが、このことは必須ではないことが理解されるべきである。第１のＵＳＢデータ取得デバイス６６は、典型的には外部からのトリガ信号７４を待ち、ホストコントローラを介して他のＵＳＢデバイス６８に渡すように構成されているために、第１のＵＳＢデータ取得デバイス６６は一般的には少し異なって構成されるだろう。第１のＵＳＢデータ取得デバイス６６が、トリガイベントに基づいてデータ取得にも従事してもよいという事実は、そのいくぶん特別な役割又は構成と比べると副次的なものである。
【００８０】
本発明の範囲内となる修正は、当業者によって容易に実行されるかもしれない。それゆえ、本明細書において上で例として説明された特定の実施形態に本発明は限定されるものではなく、本明細書に説明された様々な実施形態の組み合わせが当業者には容易に明らかとなるだろう。
【００８１】
上記の本発明の説明において、明示的な言語又は必然的な暗示のために文脈が他のことを指すように要求する場合を除いて、「ホストコントローラ」との語は、標準的なＵＳＢホストコントローラ、ＵＳＢオン・ザ・ゴー・ホストコントローラ、無線ＵＳＢホストコントローラ、又はＵＳＢホストコントローラの任意の他の形式のことを指す。
【００８２】
上記の本発明の説明において、明示的な言語又は必然的な暗示のために文脈が他のことを指すように要求する場合を除いて、「備える(comprise)」は、又は「備える(comprises or comprising)」のような変形は、包括的な意味で用いられる、すなわち、述べられた特徴の存在を特定するために用いられるが、本発明の様々な実施形態におけるさらなる特徴の存在又は追加を排除するためは用いられない。
【００８３】
さらに、本明細書における従来技術に対するどのような参照も、このような従来技術が共通の一般的知識の一部を構成する又は構成したことを暗に示すことを意図したものではない。
【図１】
2010527080.tif 000003
【図２】
2010527080.tif 000004
【図３】
2010527080.tif 000005
【図４】
2010527080.tif 000006
【図５】
2010527080.tif 000007
【手続補正書】
【提出日】平成21年7月9日(2009.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１以上の機能を実行するために、共通のコントローラとデータ通信する１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能の同期した実行を開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記コントローラとデータ通信するトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記コントローラに送信することにより、当該命令に応答する工程と、
前記コントローラが、前記トリガデバイスによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを前記デバイスに送信することによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、当該それぞれのメモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記コントローラに送信することによって、前記第２のメッセージに応答する工程とを含み、
前記機能は、前記第１のデバイスによる前記命令の前記受信時刻に対して相対的に特定された時刻に時間順に配列された命令を含むことを特徴とする方法。
【請求項２】
前記トリガデバイスが前記デバイスのうちの１つであることを特徴とする、請求項１に記載の方法。
【請求項３】
前記トリガデバイスが前記デバイスのうちの１つではないことを特徴とする、請求項１に記載の方法。
【請求項４】
前記クロックが、周波数ロック及び位相ロックされていることを特徴とする、請求項１に記載の方法。
【請求項５】
前記リアルタイム・クロック・レジスタは共通の時間に同期されており、それぞれの同期クロックで記録されていることを特徴とする、請求項４に記載の方法。
【請求項６】
前記デバイスを作動させる工程は、前記デバイスが前記命令を開始する工程を含むことを特徴とする、請求項５に記載の方法。
【請求項７】
前記デバイスが、外部から与えられた複数の信号の状態を測定しかつ記録する工程を含むことを特徴とする、請求項５に記載の方法。
【請求項８】
前記メモリは、一杯になると最も古い記録を上書きするように構成されていることを特徴とする、請求項７に記載の方法。
【請求項９】
前記機能を実行する前記命令に、前記第１のデバイスによる前記受信時刻を示すタイムスタンプを与える工程を含むことを特徴とする、請求項８に記載の方法。
【請求項１０】
前記デバイスに対して前記タイムスタンプを送信する工程を含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
前記コントローラはＵＳＢホストを含み、前記デバイスはＵＳＢデバイスを含むことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記タイムスタンプをＵＳＢトランザクションを介して送信する工程を含むことを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記タイムスタンプをＵＳＢ以外のトランザクションを介して送信する工程を含むことを特徴とする、請求項１０に記載の方法。
【請求項１４】
前記タイムスタンプを、無線伝送、光学伝送、又は他の電気信号によって送信する工程を含むことを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記ＵＳＢトランザクションは、
前記ホストコントローラが前記トリガデバイスをポーリングすることと、
前記トリガデバイスが、前記共通の時間の概念についての前記命令の前記受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによりポーリングされた要求に応答する工程と、
前記ホストコントローラが、前記共通の時間の概念についての前記命令の前記受信時刻を示すデータを含む第２のメッセージを前記デバイスに送る工程とを含むことを特徴とする、請求項１２に記載の方法。
【請求項１６】
前記機能は、
データの取得、物理変換器の測定、外部装置又は器具の監視、クロック信号の送信の開始又は停止、ビットパターンの送信の開始又は停止、制御シーケンスの送信の開始又は停止、並びに外部装置又は器具の制御、を含む群から選択される１以上の任意の命令を含むことを特徴とする、請求項１に記載の方法。
【請求項１７】
前記ホストコントローラはＵＳＢホストであり、前記デバイスはＵＳＢデバイスであることを特徴とする、請求項１に記載の方法。
【請求項１８】
１以上の機能を実行するために、共通のコントローラとデータ通信する１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能を同期して開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記コントローラとデータ通信するトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記コントローラに送信することにより、当該命令に応答する工程と、
前記コントローラが、トリガデバイスによる前記命令の受信時刻を示すデータを含む第２のメッセージを前記デバイスに送ることによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、当該それぞれのメモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記コントローラに送信することによって、前記第２のメッセージに応答する工程とを含み、
前記デバイスは、前記第２のメッセージを受信した後に、後に前記ホストコントローラに送信するために、前記機能を実行した結果として取得されるデータの取得及びそれぞれのメモリへの格納を継続することを特徴とする方法。
【請求項１９】
複数のＵＳＢネットワークのトリガ遅延を削減する方法であって、
それぞれのＵＳＢネットワークは、ＵＳＢホストコントローラと、複数のＵＳＢデバイスとを含み、前記ＵＳＢホストコントローラは互いにデータ通信し、
前記方法は、
それぞれの独立なＵＳＢネットワークの前記ＵＳＢデバイスを同期させる工程と、
外部からのトリガ信号を受信すると、それぞれの前記ＵＳＢデバイスが当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を、前記ＵＳＢデバイスが同期して実行するように、前記ＵＳＢデバイスを作動させる工程と、
それぞれの前記ＵＳＢデバイスが、それぞれの前記測定にタイムスタンプし、それぞれのローカルメモリに前記測定を記録する工程と、
前記ＵＳＢホストコントローラのうち少なくとも１つとデータ通信するトリガデバイスが、前記外部からのトリガ信号を受信すると、前記ＵＳＢホストコントローラのうち少なくとも１つに通知する工程と、
それぞれの前記ＵＳＢホストコントローラが、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記トリガデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答する工程と、
前記他のＵＳＢホストコントローラが、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知する工程と、
他の複数の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスが、前記受信の前記通知の受信に応答して、それぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信する工程と、
前記複数のＵＳＢデバイスが、前記受信の通知の受信に応答して、それぞれの複数の命令の実行を継続する工程と、を含むことを特徴とする方法。
【請求項２０】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項１９に記載の方法。
【請求項２２】
前記ＵＳＢデバイスの少なくとも１つは、前記外部からのトリガ信号の時刻に対して相対的に特定された時刻に時間順に配列された動作を実行する命令を含むことを特徴とする、請求項２１に記載の方法。
【請求項２３】
データを取得するためのシステムであって、
ＵＳＢホストコントローラと、
同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを有し、前記ＵＳＢホストコントローラとデータ通信する複数のＵＳＢデバイスとを備え、
前記ＵＳＢデバイスは、データの取得を同期して開始し、前記データが取得されると前記データをそれぞれの前記メモリに格納し、前記取得したデータの少なくとも一部の取得時刻を示すタイムスタンプ情報をそれぞれの前記メモリに格納するように制御可能であり、
第１のＵＳＢデバイスは、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによって、データを収集する前記データ収集命令に応答するように構成され、
前記ホストコントローラは、前記第１のＵＳＢデバイスによる前記データ収集命令の前記受信時刻を示すデータを含む第２のメッセージを他のＵＳＢデバイスに送信することによって、前記第１のメッセージに応答するように構成され、
前記他のＵＳＢデバイスは、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記更なるメッセージに応答するように構成され、
前記ＵＳＢデバイスは続けて、後に前記ホストコントローラに送信するために、前記データの取得及びそれぞれのメモリへの格納を継続するように構成されていることを特徴とするシステム。
【請求項２４】
それぞれがＵＳＢホストコントローラと、複数の同期されたＵＳＢデバイスとを含む複数のＵＳＢネットワークを含むＵＳＢシステムであって、
前記複数のＵＳＢデバイスが前記複数のＵＳＢネットワークをまたがって相互に同期されるように、前記複数のＵＳＢネットワークは同期されており、
前記ＵＳＢデバイスは、（ｉ）前記それぞれのＵＳＢデバイスが当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を同期して実行するように作動させられ、（ｉｉ）前記それぞれの測定にタイムスタンプするように構成され、そして（ｉｉｉ）それぞれのローカルメモリに前記測定を記録するように構成され、
第１の前記ＵＳＢデバイスは、外部からのトリガ信号を受信すると当該第１のＵＳＢデバイスのそれぞれのＵＳＢホストコントローラに通知するように構成され、
前記それぞれのＵＳＢホストコントローラは、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの他の前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記第１のデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答するように構成され、
前記他のＵＳＢホストコントローラは、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知するように構成され、
他の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の前記通知を受信すると、当該ＵＳＢデバイスのそれぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信するように構成され、
前記他のＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の通知を受信すると、それぞれの複数の命令を実行するように構成され、
前記ＵＳＢデバイスは続けて、前記それぞれの命令に従って動作を継続するように構成されていることを特徴とする、ＵＳＢシステム。
【請求項２５】
前記複数のＵＳＢデバイスのうちの少なくともいくつかは、開始されると、それぞれの命令を実行し、前記受信の通知を受信するまではローカルメモリに結果をバッファすることを開始するように構成されていることを特徴とする、請求項２４に記載のシステム。
【請求項２６】
それぞれが複数のＵＳＢホストコントローラの少なくとも１つに取り付けられた複数の同期されたＵＳＢデバイスと、前記ＵＳＢホストコントローラの１つに取り付けられたトリガデバイスとを含むＵＳＢシステムであって、
前記トリガデバイスは、外部からのトリガ信号の受信の通知と受信時刻とを、前記トリガデバイスが取り付けられた前記ＵＳＢホストコントローラに送信することによって、当該外部からのトリガ信号の受信に応答するように構成され、
前記トリガデバイスが取り付けられた前記ＵＳＢホストコントローラは、当該ＵＳＢホストコントローラに取り付けられたＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記受信と前記受信時刻とを通知することによって、前記通知の受信に応答するように構成され、
前記１以上の他のＵＳＢホストコントローラは、前記受信及び前記受信時刻を、当該ＵＳＢホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに通知することによって、前記受信及び前記受信時刻を通知されたことに応答するように構成されていることを特徴とする、ＵＳＢシステム。
【請求項２７】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項２６に記載の方法。
【請求項２８】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項２６に記載の方法。
【請求項２９】
共通のＵＳＢホストコントローラに取り付けられた複数のＵＳＢデバイスのローカルクロックに同期可能なローカルクロックを備えるトリガデバイスであって、
前記トリガデバイスは、外部からのトリガ信号を受信すると当該外部からのトリガ信号にタイムスタンプし、前記ＵＳＢホストコントローラに前記受信及び前記タイムスタンプを通知するように構成されていることを特徴とする、トリガデバイス。
【請求項３０】
前記トリガデバイスは、命令セットを実行し、前記命令セットのタイムスタンプされた結果をローカルメモリにバッファし、前記外部からのトリガ信号を受信すると前記バッファされタイムスタンプされた結果を前記ＵＳＢホストコントローラに送信するように構成されていることを特徴とする、請求項２９に記載のトリガデバイス。
【請求項３１】
ローカルクロックとローカルメモリとを備えるＵＳＢデバイスであって、
前記ローカルクロックは、１以上の他のＵＳＢデバイスと同期可能であり、
前記ＵＳＢデバイスは、ＵＳＢホストコントローラから命令セットを受信し、前記命令を開始して前記ローカルメモリに結果をバッファするように構成され、さらに、前記バッファされた結果を前記ＵＳＢホストコントローラに送信することによって、外部からのトリガ信号がトリガデバイスによって受信された時刻の通知の受信に応答するように構成されていることを特徴とする、ＵＳＢデバイス。
【請求項３２】
前記ＵＳＢデバイスは、前記通知を受信した後に前記命令の実行を継続するように構成されていることを特徴とする、請求項３０に記載のＵＳＢデバイス。
【請求項３３】
トリガデバイスと、
複数のＵＳＢデバイスと、
前記トリガデバイスと前記ＵＳＢデバイスとが取り付けられるＵＳＢホストコントローラとを備えるＵＳＢシステムであって、
前記複数のＵＳＢデバイスのそれぞれは、ローカルメモリと、１以上の他の前記ＵＳＢデバイスのローカルクロックと同期可能なローカルクロックとを有し、
前記トリガデバイスは、前記ＵＳＢデバイスのそれぞれのローカルクロックに同期可能なローカルクロックを備え、外部からのトリガ信号を受信するとタイムスタンプを生成し、前記ＵＳＢホストコントローラに前記受信及び前記タイムスタンプを通知するように構成され、
前記ＵＳＢデバイスは、前記ＵＳＢホストコントローラから命令セットを受信し、前記命令を開始してそれぞれの前記ローカルメモリに結果をバッファするように構成され、さらに、前記バッファされた結果を前記ＵＳＢホストコントローラに送信することによって、前記外部からのトリガ信号が前記トリガデバイスによって受信された時刻の通知の受信に応答し、前記通知を受信した後は前記命令の実行を継続するように構成されていることを特徴とするＵＳＢシステム。
【請求項３４】
少なくとも１つの機能を実行するために複数のＵＳＢネットワークをまたがって複数のＵＳＢデバイスを制御する方法であって、
前記ＵＳＢネットワークのそれぞれはホストコントローラを有し、
前記ホストコントローラは相互データ通信を行い、
それぞれの前記複数のＵＳＢデバイスは、同期クロックと、共通の時間の概念と、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記複数のＵＳＢネットワークのそれぞれにある前記複数のＵＳＢデバイスのそれぞれが共通の時間の概念で動作するように、前記複数のＵＳＢネットワークを同期させる工程と、
前記デバイスが前記機能を同期して開始し、前記機能の結果として取得されるデータをそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように前記ＵＳＢデバイスを作動させる工程と、
第１の前記ホストコントローラに取り付けられたトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記第１のホストコントローラに送信することにより、当該命令に応答する工程と、
前記第１のホストコントローラが、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第２のメッセージを、当該第１のホストコントローラに取り付けられた前記ＵＳＢデバイスに送ることと、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む第３のメッセージを、他の前記ホストコントローラに送信することとによって、前記第１のメッセージに応答する工程と、
それぞれの前記他のホストコントローラが、当該他のホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに、前記第１のデバイスによる前記命令の前記受信時刻を示すデータを含む複数の他のメッセージを送信する工程と、
前記ＵＳＢデバイスが、それぞれのメモリを読むことと、それぞれの当該メモリにおける外部からのトリガの前記受信時刻に対応する位置又は次の利用可能な位置から始まる、当該メモリ内に格納された前記取得されたデータを、当該ＵＳＢデバイスのそれぞれのホストコントローラに送信することとによって前記第２のメッセージ及び続くメッセージに応答し、前記機能を実行すること、及び当該機能の結果として取得されるデータと当該取得されたデータの取得時刻を示すタイムスタンプ情報とをそれぞれのメモリへ格納することを、後に前記ホストコントローラに送信するために、前記メッセージを受信した後に継続する工程と、を含むことを特徴とする方法。
【請求項３５】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つであることを特徴とする、請求項３４に記載のシステム。
【請求項３６】
前記トリガデバイスが前記ＵＳＢデバイスのうちの１つではないことを特徴とする、請求項３４に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
第１の広い態様によれば本発明は、１以上の機能を実行するために、共通のコントローラとデータ通信する（ＵＳＢデバイスのような）１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能を同期して開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記コントローラとデータ通信するトリガデバイスが、前記機能を実行する（例えば外部からのトリガ信号の形をとる）命令の受信時刻を示すデータを含む第１のメッセージを前記コントローラに送信することにより、当該命令に応答する工程と、
前記コントローラが、前記命令を前記トリガデバイスが受信した時刻を示すデータを含む第２のメッセージを前記デバイスに送信することによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、当該それぞれのメモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記コントローラに送信することによって、前記第２のメッセージに応答する工程とを含み、
前記機能は、前記第１のデバイスが前記命令を受信した時刻に対して相対的に特定された時刻に時間順に配列された命令を含むことを特徴とする方法を提供する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
特定の実施形態において、この機能はデータの取得、物理変換器の測定、外部装置又は器具の監視、クロック信号の送信の開始又は停止、ビットパターンの送信の開始又は停止、制御シーケンスの送信の開始又は停止、並びに外部装置又は器具の制御、を含む群から選択される１以上の任意の命令を含む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
この態様に従うと、一実施形態において本発明は、１以上の機能を実行するために、共通のコントローラとデータ通信する１以上のデバイスを制御する方法であって、
前記デバイスのそれぞれは、同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
前記デバイスが前記機能を同期して開始し、前記機能を実行した結果として得られるデータを取得してそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように、前記デバイスを作動させる工程と、
前記コントローラとデータ通信するトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記コントローラに送信することにより、当該命令に応答する工程と、
前記コントローラが、前記命令をトリガデバイスが受信した時刻を示すデータを含む第２のメッセージを前記デバイスに送信することによって、前記第１のメッセージに応答する工程と、
前記デバイスが、前記デバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記コントローラに送信することによって、前記第２のメッセージに応答する工程とを含み、
前記デバイスは、前記第２のメッセージを受信した後に、後に前記ホストコントローラに送信するために、前記機能を実行した結果として取得されるデータの取得及びそれぞれのメモリへの格納を継続することを特徴とする方法を提供する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
第２の広い態様によれば本発明は、
ＵＳＢホストコントローラと、
同期クロックと、同期されたリアルタイム・クロック・レジスタと、メモリとを有し、前記ＵＳＢホストコントローラとデータ通信する複数のＵＳＢデバイスとを備え、
前記ＵＳＢデバイスは、データの取得を同期して開始し、前記データが取得されると前記データをそれぞれの前記メモリに格納し、前記取得したデータの少なくとも一部の取得時刻を示すタイムスタンプ情報をそれぞれの前記メモリに格納するように制御可能であり、
第１のＵＳＢデバイスは、データ収集命令の受信時刻を示すデータを含む第１のメッセージを前記ホストコントローラに送信することによって、データを収集する前記データ収集命令に応答するように構成され、
前記ホストコントローラは、前記第１のＵＳＢデバイスが前記データ収集命令を受信した時刻を示すデータを含む第２のメッセージを他のＵＳＢデバイスに送信することによって、前記第１のメッセージに応答するように構成され、
前記他のＵＳＢデバイスは、当該他のＵＳＢデバイスのそれぞれのメモリを読み、当該メモリに格納された、それぞれの当該メモリにおける前記受信時刻に対応する位置又は次の利用可能な位置から始まる前記取得されたデータを、前記ホストコントローラに送信することによって、前記更なるメッセージに応答するように構成され、
前記ＵＳＢデバイスは続けて、後に前記ホストコントローラに送信するために、前記データの取得及びそれぞれのメモリへの格納を継続するように構成されている、データ取得システムを提供する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
ある実施形態において本発明は、
それぞれがＵＳＢホストコントローラと、複数の同期されたＵＳＢデバイスとを含む複数のＵＳＢネットワークを含み、
前記複数のＵＳＢデバイスが前記複数のＵＳＢネットワークをまたがって相互に同期されるように、前記複数のＵＳＢネットワークは同期されており、
前記ＵＳＢデバイスは、（ｉ）前記それぞれのＵＳＢデバイスが当該それぞれのＵＳＢデバイスの１以上のパラメータの測定を行うことを含む複数の命令を同期して実行するように作動させられ、（ｉｉ）前記それぞれの測定にタイムスタンプするように構成され、そして（ｉｉｉ）それぞれのローカルメモリに前記測定を記録するように構成され、
第１の前記ＵＳＢデバイスは、外部からのトリガ信号を受信すると当該第１のＵＳＢデバイスのそれぞれのＵＳＢホストコントローラに通知するように構成され、
前記それぞれのＵＳＢホストコントローラは、当該それぞれのＵＳＢホストコントローラに接続されたそれぞれの前記ＵＳＢデバイス、及び１以上の他の前記ＵＳＢホストコントローラに、前記外部からのトリガ信号の受信と、前記第１のＵＳＢデバイスによる関連するタイムスタンプとを通知することによって、前記受信を通知されたことに応答するように構成され、
前記他のＵＳＢホストコントローラは、前記外部からのトリガ信号の発生及び関連するタイムスタンプを、当該他のＵＳＢホストコントローラのそれぞれのＵＳＢデバイスに通知するように構成され、
他の前記ＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の前記通知を受信すると、当該ＵＳＢデバイスのそれぞれの前記ＵＳＢホストコントローラにそれぞれのローカルメモリの内容を送信するように構成され、
前記他のＵＳＢネットワーク上の前記複数のＵＳＢデバイスは、前記受信の通知を受信すると、それぞれの複数の命令を実行するように構成され、
前記ＵＳＢデバイスは続けて、前記それぞれの命令に従って動作を継続するように構成されていることを特徴とする、ＵＳＢシステムを提供する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
この広い態様によれば、少なくとも１つの機能を実行するために複数のＵＳＢネットワークをまたがって複数のＵＳＢデバイスを制御する方法であって、
前記ＵＳＢネットワークのそれぞれはホストコントローラを有し、
前記ホストコントローラは相互データ通信を行い、
それぞれの前記複数のＵＳＢデバイスは、同期クロックと、共通の時間の概念と、同期されたリアルタイム・クロック・レジスタと、メモリとを備え、
前記方法は、
それぞれの前記複数のＵＳＢネットワーク上のそれぞれの前記複数のＵＳＢデバイスが、共通の時間の概念で動作するように、前記複数のＵＳＢネットワークを同期させる工程と、
前記デバイスが前記機能を同期して開始し、前記機能の結果として取得されるデータをそれぞれのメモリに格納し、前記取得したデータの取得時刻を示すタイムスタンプ情報をそれぞれのメモリに格納するように前記ＵＳＢデバイスを作動させる工程と、
（典型的には通常のポーリングルーチンにおいて）第１の前記ホストコントローラに取り付けられたトリガデバイスが、前記機能を実行する命令の受信時刻を示すデータを含む第１のメッセージを前記第１のホストコントローラに送信することにより、（例えば外部からのトリガ信号の形をとる）当該命令に応答する工程と、
前記第１のホストコントローラが、前記命令を前記第１のデバイスが受信した時刻を示すデータを含む第２のメッセージを、当該第１のホストコントローラに取り付けられた前記ＵＳＢデバイスに送信することと、前記命令を前記第１のデバイスが受信した時刻を示すデータを含む第３のメッセージを、他の前記ホストコントローラに送信することとによって、前記第１のメッセージに応答する工程と、
それぞれの前記他のホストコントローラが、当該他のホストコントローラに取り付けられたそれぞれの前記ＵＳＢデバイスに、前記命令を前記第１のデバイスが受信した時刻を示すデータを含む複数の他のメッセージを送信する工程と、
前記ＵＳＢデバイスが、それぞれのメモリを読むことと、それぞれの当該メモリにおける外部からのトリガの前記受信時刻に対応する位置又は次の利用可能な位置から始まる、当該メモリ内に格納された前記取得されたデータを、当該ＵＳＢデバイスのそれぞれのホストコントローラに送信することとによって前記第２のメッセージ及び続くメッセージに応答し、前記機能を実行すること、及び当該機能の結果として取得されるデータと当該取得されたデータの取得時刻を示すタイムスタンプ情報とをそれぞれのメモリへ格納することを、後に前記ホストコントローラに送信するために、前記メッセージを受信した後に継続する工程と、を含むことを特徴とする方法を、本発明は提供する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
上記の本発明の説明及び以下に続く請求の範囲において、明示的な言語又は必然的な暗示のために文脈が他のことを指すように要求する場合を除いて、「備える(comprise)」は、又は「備える(comprises or comprising)」のような変形は、包括的な意味で用いられる、すなわち、述べられた特徴の存在を特定するために用いられるが、本発明の様々な実施形態におけるさらなる特徴の存在又は追加を排除するためは用いられない。
【国際調査報告】
2010527080.tif 000008
2010527080.tif 000009
2010527080.tif 000010