(57)【要約】　　　（修正有）【課題】バス動作を解析するとき、バスに接続される周辺デバイスとバス上の転送データとの関係を常に把握することができ、更に、オペレータに理解容易な形態で転送データを出力することができるバスアナライザを提供する。【解決手段】ホストコンピュータと周辺デバイスとを接続するバス上に流れるデータのトレースを行うバスアナライザにおいて、周辺デバイス接続時の初期化時に周辺デバイスがホストコンピュータに転送するデバイス情報を、当該周辺デバイスに割り当てられたアドレスに対応付けて記録する初期化情報メモリと、バス上を転送されるデータを前記アドレスに対応付けて記録するトレースデータメモリとを有する。更に、バスアナライザは、周辺デバイスとホストコンピュータとの接続状態を一旦解除後再度接続するバス接続解除手段を有する。【選択図】図２
2004005040.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと周辺デバイスとを接続するバス上に流れるデータのトレースを行うバスアナライザにおいて、
前記周辺デバイス接続時の初期化時に当該周辺デバイスが前記ホストコンピュータに転送するデバイス情報を、当該周辺デバイスに割り当てられたアドレスに対応付けて記録する初期化情報メモリと、
前記バス上を転送されるデータを前記アドレスに対応付けて記録するトレースデータメモリとを有することを特徴とするバスアナライザ。
【請求項２】
請求項１において、
更に、前記周辺デバイスとホストコンピュータとの接続状態を一旦解除後再度接続するバス接続解除手段を有することを特徴とするバスアナライザ。
【請求項３】
請求項１において、
更に、前記バス上を転送されるデータを監視し、前記初期化時にバス上で転送される前記アドレスとそれに対応するデバイス情報とを取得する初期化情報管理部を有することを特徴とするバスアナライザ。
【請求項４】
請求項１において、
更に、前記バス上を転送されるデータを監視し、予め設定されたトレース条件に合致する転送データか否かを前記初期化情報メモリ内のデバイス情報を参照して判別し、前記トレース条件に合致する周辺デバイスの転送データを取得して、前記トレースデータメモリに格納するトレース制御部を有することを特徴とするバスアナライザ。
【請求項５】
請求項４において、
前記トレース制御部は、転送データに含まれるアドレスに対応する前記周辺デバイスと、前記トレース条件に含まれる周辺デバイスとを照合して、当該アドレスに対応付けて、当該周辺デバイスに関する転送データを前記トレースデータメモリに格納することを特徴とするバスアナライザ。
【請求項６】
請求項１において、
更に、前記トレースデータメモリ内に記録されたデータを、前記初期化情報メモリ内のデバイス情報を参照して、当該データの種別情報と共に出力するデータ出力手段を有することを特徴とするバスアナライザ。
【請求項７】
請求項１において、
前記バスは、ユニバーサルシリアルバスを含み、前記デバイス情報は、当該デバイスの種別情報と、当該デバイスに関して転送されるデータの形式情報とを含むことを特徴とするバスアナライザ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータとその周辺デバイスとを接続するユニバーサルシリアルバス（以下ＵＳＢと称する）を転送するデータをトレースし、バス動作の解析に利用されるツールである、バスアナライザに関し、特に、ＵＳＢに接続されるＵＳＢデバイスのデータを容易にトレースでき、トレースしたデータをオペレータが理解容易な形態で出力することができるバスアナライザに関する。
【０００２】
【従来の技術】
ＵＳＢは、パーソナルコンピュータと複数の周辺デバイスとの接続の汎用性及び拡張性を高めたバスインターフェースである。キーボード、マウスなどの入力装置や、モデムなどの通信装置、またはカメラやプリンタなどのＵＳＢ対応周辺デバイス（以下ＵＳＢデバイス）に対して、ＵＳＢケーブルを共通化し、それに伴いプロトコルを規格化することで、ＵＳＢの汎用性と拡張性を高めている。
【０００３】
また、パーソナルコンピュータのＵＳＢポート数に限りがあっても、ＵＳＢハブを利用することにより、多くの（最大で１２７個）周辺デバイスを接続することができる。そして、外付けのハードディスク内の画像データをプリンタに出力したり、モデム経由で送信したりするときに、このＵＳＢを経由してデータ転送が繰り返される。このデータ転送には、例えばコントロール転送、バルク転送、インタラプト転送、アイソクロナス転送などの転送方式がある。
【０００４】
ＵＳＢは、複数のＵＳＢデバイスが接続される場合でも、ホストコンピュータのクライアントソフトウエア（デバイスのドライバ）とＵＳＢデバイスとが１対１で通信を行う。従って、複数のＵＳＢデバイスが接続されている場合は、ホストコンピュータと特定のＵＳＢデバイスのデータ転送が行われている間は、そのＵＳＢをそのＵＳＢデバイスが占有し、そのデータ転送が終了後に、別のＵＳＢデバイスとのデータ転送が行われる。即ち、時分割のデータ転送である。
【０００５】
新たにＵＳＢデバイスを開発する場合、ＵＳＢ接続状態でデバイスの動作を確認する必要がある。即ち、ホストコンピュータとＵＳＢデバイス間での転送データを監視することにより、正常に動作しているか否か、どのような時に誤動作が発生しているかなどを解析することができる。
【０００６】
このようなＵＳＢ上の転送データをトレースして解析するツールとして、ＵＳＢプロトコルアナライザが提案されている。このＵＳＢプロトコルアナライザは、ホストコンピュータとＵＳＢデバイスとを接続するＵＳＢケーブルの途中に接続され、ＵＳＢケーブル上を流れる転送データを抽出して記録し、表示画面などに出力する。
【０００７】
【発明が解決しようとする課題】
ＵＳＢプロトコルアナライザを利用してＵＳＢの解析を行う場合、ＵＳＢを介して接続される多数のＵＳＢデバイスのうち、どのデバイスがホストコンピュータと通信しているかを確認できなくなる場合がある。ホストコンピュータは、ＵＳＢデバイスに対してユニークなアドレスを割り当て、転送されるデータにはそのアドレスが付与される。従って、ＵＳＢプロトコルアナライザは、どのアドレスのデータが転送されているかを検出することはできるが、どのＵＳＢデバイスのデータかを検出できない。特に、ＵＳＢデバイスが多数になると、解析工程において、どのＵＳＢデバイスがデータ転送を行っているかの確認が困難になる。
【０００８】
ＵＳＢデバイスが接続された時に、ホストコンピュータは、その新たに接続されたＵＳＢデバイスにアドレスを割り当てて、ＵＳＢデバイスの情報を取得し、その後アドレスに対応付けてＵＳＢデバイス情報を監視する。この接続時のデバイス情報の取得は、初期化動作またはバスエニュメレーション動作であり、ＵＳＢデバイスが接続された時やホストコンピュータの起動時に行われる。従って、ホストコンピュータは割り当てたアドレスによって、ＵＳＢデバイスを区別することができるが、ＵＳＢプロトコルアナライザは、アドレスとデバイスとの対応関係や、デバイス情報を取得できずに、転送データに対応するＵＳＢデバイスを確認できない場合がある。
【０００９】
また、ＵＳＢでは、転送データの仕様がデバイス毎に異なり、転送データのみをトレースして出力表示するだけでは、そのトレースしたデータの解析が困難であり、バス解析を有効に行うことができない。
【００１０】
そこで、本発明の目的は、ＵＳＢデバイスを確認可能なバスアナライザを提供することにある。
【００１１】
更に、転送データをより上位の言語の形態で出力可能なバスアナライザを提供することにある。
【００１２】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、ホストコンピュータと周辺デバイスとを接続するバス上に流れるデータのトレースを行うバスアナライザにおいて、周辺デバイス接続時の初期化時に周辺デバイスがホストコンピュータに転送するデバイス情報を、当該周辺デバイスに割り当てられたアドレスに対応付けて記録する初期化情報メモリと、バス上を転送されるデータを前記アドレスに対応付けて記録するトレースデータメモリとを有することを特徴とする。
【００１３】
上記の発明によれば、バスアナライザは、取得したデバイス情報を周辺デバイスに割り当てられたアドレスに対応付けて初期化情報メモリに記録することができる。従って、通常のデータ転送時において、記録したデバイス情報を参照することで、転送中のデータがどの周辺デバイスに対応するものかを常に確認することができ、更に、転送されているデータを、オペレータが理解可能なデータ種別情報に変換して出力することができる。従って、利便性の高いバスアナライザを提供することができる。
【００１４】
上記の発明の側面において、より好ましい実施例は、更に、周辺デバイスとホストコンピュータとの接続状態を一旦解除後再度接続するバス接続解除手段を有する。このバス接続解除手段により周辺デバイスがホストコンピュータに新たに接続された状態を再現することができ、両者をして接続時の初期化動作を行わせることができ、初期化動作時に周辺デバイスからホストコンピュータに転送されるデバイス情報をバスから取得することができる。従って、バスアナライザは、接続されている複数の周辺デバイスのデバイス情報を容易に取得することができる。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１６】
図１は、本実施の形態におけるＵＳＢプロトコルアナライザとホストコンピュータ及びＵＳＢデバイスとの関係を示す図である。ホストコンピュータ１０には、ハブ２６，２８，３０を利用することにより、最大で１２７個のＵＳＢデバイス１２〜２４を接続することができる。そして、ホストコンピュータとＵＳＢデバイスとは、ホストコンピュータ内のドライバプログラムとＵＳＢデバイスとの１対１の通信によりデータ転送を行う。
【００１７】
図１のような階層型スタートポロジの接続状態では、全てのＵＳＢデバイスとホストコンピュータ間の転送データをトレースして解析するために、ＵＳＢプロトコルアナライザ１００がホストコンピュータ１０と最上位のハブ２６間のＵＳＢケーブルに接続される。これにより、ＵＳＢプロトコルアナライザ１００は、全てのＵＳＢデバイスに対して、ＵＳＢケーブル上を流れるデータを監視し、所望の条件に合致する転送データを抽出して格納することができる。
【００１８】
ＵＳＢプロトコルアナライザ１００を利用してＵＳＢの分析を行う際、分析対象のＵＳＢデバイスが、任意のタイミングで任意のハブに接続、切断、再接続などが行われる。ＵＳＢデバイスが接続されるたびに、ホストコンピュータと新たに接続されたＵＳＢデバイスとの間で初期化動作（バスエニュメレーション動作）が行われ、ＵＳＢデバイスに対してアドレスが割り当てられて、ＵＳＢデバイスのデバイス情報がホストコンピュータにより取得され、割り当てたアドレスに対応付けて管理される。その後は、この割り当てたアドレスがデータ転送のトランズアクションに添付され、ホストコンピュータはどのＵＳＢデバイスとのデータ転送であるかを認識することができる。
【００１９】
更に、ホストコンピュータは、上記の初期化動作時のデバイス情報を参照することで、転送されるデータの形式情報を取得することができ、従って、ホストコンピュータは、そのデバイス情報を参照して当該データの形式情報にしたがってＵＳＢデバイスに送信するデータを生成する。
【００２０】
図２は、本実施の形態におけるＵＳＢプロトコルアナライザの構成図である。ＵＳＢプロトコルアナライザ１００は、ホストコンピュータ１０とＵＳＢデバイス１２とを接続するＵＳＢケーブルの途中に挿入される。また、アナライザ１００は、アナライザインターフェースコンピュータ２００とも接続され、それに、オペレータへの出力手段であるモニタ２０２と、図示しないマウスやキーボードなどの入力手段とが接続される。
【００２１】
ＵＳＢプロトコルアナライザ１００は、ホストコンピュータ１０とＵＳＢデバイス１２間の接続を一旦解除（切断）しその後再度接続するバス接続解除手段として、デタッチ制御部４０を有する。更に、アナライザ１００は、ＵＳＢデバイスがホストコンピュータに接続された時に行われる初期化動作時のデバイス情報を、ＵＳＢ上の転送データから抽出して取得するセットアップキャッシュ管理部４２と、そのデバイス情報をＵＳＢデバイスに割り当てられたアドレスに対応付けて記録するセットアップキャッシュメモリ４４とを有する。即ち、セットアップキャッシュ管理部４２が初期化情報管理部に該当し、セットアップキャッシュメモリ４４が、初期化時のデバイス情報を記録する初期化情報メモリに該当する。デバイス情報については、後で詳述する。
【００２２】
このデタッチ制御部４０は、アナライザインターフェースコンピュータ２００から制御可能であり、オペレータなどからの任意のタイミングで、ホストコンピュータ１０とＵＳＢデバイス１２との間の接続を、一旦切断し、その後再接続させることができる。これにより、ホストコンピュータ１０とＵＳＢデバイス１２との間で初期化動作を強制的に実施させ、初期化動作時のデバイス情報をバス上に転送させることができる。従って、デタッチ制御部は、バス接続解除手段に該当する。このデタッチ制御部４０は、アナライザインターフェースコンピュータ２００からの指令に応答して接続解除・再接続を行っても良く、また、図示しないハードウエアスイッチに応答して接続解除・再接続を行っても良い。
【００２３】
ＵＳＢプロトコルアナライザ１００は、更に、トレース条件メモリ５０に設定されたトレース条件に応じて、ＵＳＢ上を転送されるデータを抽出し取得して、トレースデータメモリ４８内に記録するトレース制御部４６を有する。トレースデータメモリ４８は、大量の転送データを格納できるように、大容量のメモリで構成される。トレース条件メモリ５０には、転送データをトレースするトリガをかける時のトリガ条件や、記録するデータを特定するフィルタ条件などが、トレース条件として格納され、このトレース条件は、アナライザインターフェースコンピュータ２００で設定される。
【００２４】
図３は、本実施の形態のＵＳＢプロトコルアナライザの動作フローチャート図である。最初に解析したいＵＳＢデバイスとホストコンピュータとの間のＵＳＢに、ＵＳＢプロトコルアナライザを接続する。そして、デタッチ制御部４０を制御して、解析対象のＵＳＢデバイスがホストコンピュータに新たに接続される状態を再現する（Ｓ１）。このバス接続解除・再接続に応答して、ホストコンピュータとＵＳＢデバイスとは、バスエニュメレーション動作を開始する。
【００２５】
ホストコンピュータ１０は、複数のＵＳＢデバイスに対して、ハブのポートの順にバスエニュメレーション動作を行う。図１の例では、ＵＳＢデバイス１２から２４までを順番に指定して、それぞれの初期化動作を行う。
【００２６】
図４は、そのバスエニュメレーション動作（初期化動作）を示す図である。ホストコンピュータ１０は、新たにＵＳＢデバイス１２が接続されると、そのＵＳＢ内の電圧変化を検出して新たなＵＳＢデバイスの接続を検知する（Ｓ１０）。それに応答して、ホストコンピュータ１０は、ＵＳＢデバイスに接続されたか否かの確認信号を送信する（Ｓ１１）。接続されている複数のＵＳＢデバイスのうち、新たに接続されたＵＳＢデバイスは、接続応答を返信し（Ｓ１２）、それに応答して、ホストコンピュータ１０は、そのＵＳＢデバイスに対してユニークなアドレスを割り当てて、通知する（Ｓ１３）。
【００２７】
このアドレス情報は、ホストコンピュータ１０が発行するリクエスト信号に含まれる特定の数バイトデータに続いて当該リクエスト信号に含まれる。従って、バスアナライザ１００のセットアップキャッシュ制御部４２は、上記の特定の数バイトデータを検出して、割り当てられたアドレスを取得することができる。
【００２８】
次に、ホストコンピュータ１０は、ＵＳＢデバイス１２に対して、デバイス情報を要求する（Ｓ１４）。このデバイス要求には、そのＵＳＢデバイスに割り当てられたアドレスが含まれる。従って、そのアドレスに対応するＵＳＢデバイス１２は、要求に応答して、ＵＳＢインターフェースに必要なデバイス情報を返信する（Ｓ１５）。このデバイス情報の要求と返信とは、所定回数繰り返され、その結果、ホストコンピュータ１０は、デバイス情報をアドレスに関連付けて管理することができるようになる。
【００２９】
図５は、ＵＳＢにおけるトランズアクションのパケット例を示す図である。ＵＳＢでのデータ転送は、このトランズアクションに対応する。一つのトランズアクションは、トークンフェーズとデータフェーズとハンドシィクフェーズの３つのフェーズからなり、それぞれのフェーズはパケット６０，６２，６４で構成される。また、各パケットは、パケットの開始を示す同期化用データＳｙｎｃと、そのパケットの終了を示すデータＥＯＰ（Ｅｎｄ　ｏｆ　ｐａｃｋｅｔ）を有し、同期化用データＳｙｎｃに続いてトークン種別データ（図５ではセットアップ６０２や、データ６２２や、アクノリッジ６４２）と、アドレス６０３，エンドポイント６０４（デバイスのサブアドレス）、データ６２３などのパケットのボディとなるデータとが含まれる。
【００３０】
図５に示した３つのパケットからなるトランズアクションは、例えば図４でのデバイス情報返信のトランズアクションに対応する。即ち、ＵＳＢデバイス１２は、トークンフェーズのパケット６０で、そのトランズアクションがセットアップデータ（初期化時のデバイスデータ）を返信することと、どのアドレスのデバイスからのセットアップデータであるかを示し、更に、続いて、データフェーズのパケット６で、デバイス情報がデータ５２３として送信される。そして、最後にアクノリッジを示すパケット６４が送信される。
【００３１】
従って、これらのトランズアクションのパケットを監視することで、アナライザのセットアップキャッシュ管理部４２は、ＵＳＢ上のセットアップトランズアクションを検出することができる。図３に戻り、セットアップトランズアクションであることを検出すると、セットアップキャッシュ管理部４２は、そのトランズアクションのパケットを取得し、パケットに含まれるデバイス情報を、同パケットに含まれるアドレスに対応付けて、セットアップキャッシュメモリ４４内に格納する。
【００３２】
セットアップトランズアクションには、ホストコンピュータからのデバイス情報要求信号とそれに対する応答信号とが含まれる。この要求信号と応答信号とは、データフェーズに存在し、データフェーズのパケット内のデータを解析することにより、要求信号と応答信号とを区別することができる。
【００３３】
図６は、セットアップキャッシュメモリ内のデータ例を示す図である。このメモリ４４内には、アドレス「０ｘ００」「０ｘ０１」「０ｘ０Ｎ」に対応して、デバイス情報であるディスクリプタがそれぞれ格納される。デバイス情報は、デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インターフェースディスクリプタ、エンドポイントディスクリプタとで構成される。デバイスディスクリプタとコンフィギュレーションディスクリプタとは、ホストコンピュータからの要求信号を解析することにより、それに応答するレスポンスデータがどちらのディスクリプタかを判別することができる。また、インターフェースディスクリプタとエンドポイントディスクリプタとは、コンフィギュレーションディスクリプタに付加されて返信される。
【００３４】
図７は、デバイス情報のディスクリプタを示す図である。これは、ＵＳＢで規格化されたディスクリプタの構成であり、デバイスディスクリプタ４０１は、１８のデータフィールドを有し、その中にデバイスクラス（デバイスの種類）やベンダー、製品名などのデバイスの種別情報が含まれる。これらの種別情報から、割り当てられたアドレスとデバイスの種別（例えばプリンタやマウスなど）とを対応つけることができる。
【００３５】
コンフィギュレーションディスクリプタ４０２や、インターフェースディスクリプタ４０３は、デバイスが動作上必要な制御情報とそのデータ形式情報を含み、更に、エンドポイントディスクリプタ４０４は、デバイスのサブアドレスを含む。これらのディスクリプタを参照することにより、ＵＳＢ上を転送するデータの形式からデータの種別情報を得ることができる。つまり、転送データを取得して、このディスクリプタを参照することで、取得したデータの種別情報を得ることができる。
【００３６】
図４に戻り、バスエニュメレーション動作が終了すると、ホストコンピュータ１０は、ＵＳＢデバイス情報をアドレスに対応付けて管理することができる（Ｓ１６）。同時に、ＵＳＢプロトコルアナライザ１００は、セットアップキャッシュメモリ４４内に、図６に示したような、ディスクリプタからなるデバイス情報をアドレスに対応付けて格納する。
【００３７】
このような初期化動作が終了した後は、ホストコンピュータ１０とＵＳＢデバイス１２とは、割り当てたアドレスに従って、通常のトランズアクションを行う（Ｓ１７）。このトランズアクションは、図５に示した通り、トークンフェーズ、データフェーズ、ハンドシェイクフェーズで構成される。通常のトランズアクションでのパケットデータがトレース制御部４８により取得され、トレースデータメモリ４８に格納される。そして、セットアップキャッシュメモリ内のデバイス情報とアドレスの対応関係を参照することで、取得したデータがどのＵＳＢデバイスまたはどのデバイス種別に対応するものかを確認することができ、更に、その取得したデータの種別情報も判別することもできる。
【００３８】
図３に戻ると、ＵＳＢプロトコルアナライザ１００は、セットアップトランズアクションを検出して、その時にホストコンピュータから割り当てられるアドレス情報と、ＵＳＢデバイスから送信されるデバイス情報（ディスクリプタ）とを取得し、そのデバイス情報をアドレスに対応付けてセットアップキャッシュメモリ４４内に格納する（Ｓ３）。
【００３９】
次に、アナライザインターフェースコンピュータ２００から、トレース条件が設定され、そのトレース条件がトレース条件メモリ５０に格納される。トレース条件とは、トレース制御部４６がＵＳＢから転送データを取得する条件であり、ホストコンピュータとＵＳＢデバイスの所定の動作状況時に転送データの取得を開始するかを示すトリガ条件や、どのＵＳＢデバイスの転送データを取得するかのフィルタ条件などが含まれる。従って、トレース条件には、デバイスに割り当てられたアドレスではなく、ＵＳＢデバイスの種別情報にしたがう条件を設定することができる。
【００４０】
トレース制御部４６は、このトレース条件メモリ５０内に設定されたトレース条件とセットアップキャッシュメモリ４４内のデバイス情報とを参照することで、ＵＳＢ上を流れるパケットのうち、どの状況でどのデバイスの転送データを取得すべきかを判断することができる。そして、トレース条件に合致したことを検出して（Ｓ５）、トランズアクション内のバス解析に必要なトレースデータを取得して、トレースデータメモリ４８に格納する（Ｓ６）。トレース条件に合致するか否かの判断は、例えば、トレース条件に含まれるデバイス種別情報に対応するアドレスと、ＵＳＢ上を転送する転送データに含まれるアドレスとが一致するか否かにより行われる。デバイス種別情報とアドレスとの対応関係は、セットアップキャッシュメモリに格納されているデバイス情報のデバイス種別情報を参照することにより、確認することができる。
【００４１】
アナライザインターフェースコンピュータ２００は、このトレースデータメモリ４８に格納された転送データをモニタ２０２に出力する（Ｓ７）。従って、アナライザインターフェースコンピュータ２００は、データ出力手段に対応する。この場合、インターフェースコンピュータ２００は、セットアップメモリ４４内のデバイス情報を参照して、メモリ４８に格納された転送データを、人間が理解可能なデータ種別情報にデコードし、モニタ２０２に表示する。
【００４２】
一例を上げると、所定のアドレスのＵＳＢデバイスがプリンタ（デバイス種別情報の一例）であることがデバイス情報から確認されている。そして、デバイス情報であるディスクリプタには、印字データを何ビットのデータ列で構成されているといった転送データの形式情報も記述されている。従って、そのデバイス情報のデータ形式情報を参照することで、トレースデータメモリ４８内の転送データが印字データか否かを検出することができ、プリンタに対して印字データが転送されていることを、モニタ２０２に出力することができる。従って、オペレータは、プリンタというデバイス種別情報と、印字データというデータ種別情報とを取得することができ、バス動作の解析を容易に行うことができる。
【００４３】
上記の実施の形態では、ＵＳＢプロトコルアナライザ１００内にバス接続解除手段としてデタッチ制御部４０を設けている。しかしながら、バス解析を、ＵＳＢプロトコルアナライザ１００を接続した後に新たに接続されるＵＳＢデバイスについてのみ行うようにする場合は、かかるデタッチ制御部４０は必要ない。即ち、ＵＳＢプロトコルアナライザにより解析したいバス動作の中に、必ず解析対象のＵＳＢデバイスに対するエニュメレーション動作が含まれる場合は、デタッチ制御部４０は必要ない。但し、その場合でも、初期化動作により転送されるデバイス情報が、セットアップキャッシュメモリ４４内にアドレスに対応付けて格納されているので、データトレースと取得したデータ出力を容易に行うことができる。
【００４４】
以上、実施の形態例をまとめると以下の付記の通りである。
【００４５】
（付記１）ホストコンピュータと周辺デバイスとを接続するバス上に流れるデータのトレースを行うバスアナライザにおいて、
前記周辺デバイス接続時の初期化時に当該周辺デバイスが前記ホストコンピュータに転送するデバイス情報を、当該周辺デバイスに割り当てられたアドレスに対応付けて記録する初期化情報メモリと、
前記バス上を転送されるデータを前記アドレスに対応付けて記録するトレースデータメモリとを有することを特徴とするバスアナライザ。
【００４６】
（付記２）付記１において、
更に、前記周辺デバイスとホストコンピュータとの接続状態を一旦解除後再度接続するバス接続解除手段を有することを特徴とするバスアナライザ。
【００４７】
（付記３）付記１において、
更に、前記バス上を転送されるデータを監視し、前記初期化時にバス上で転送される前記アドレスとそれに対応するデバイス情報とを取得する初期化情報管理部を有することを特徴とするバスアナライザ。
【００４８】
（付記４）付記１において、
更に、前記バス上を転送されるデータを監視し、予め設定されたトレース条件に合致する転送データか否かを前記初期化情報メモリ内のデバイス情報を参照して判別し、前記トレース条件に合致する周辺デバイスの転送データを取得して、前記トレースデータメモリに格納するトレース制御部を有することを特徴とするバスアナライザ。
【００４９】
（付記５）付記４において、
前記トレース制御部は、転送データに含まれるアドレスに対応する前記周辺デバイスと、前記トレース条件に含まれる周辺デバイスとを照合して、当該アドレスに対応付けて、当該周辺デバイスに関する転送データを前記トレースデータメモリに格納することを特徴とするバスアナライザ。
【００５０】
（付記６）付記１において、
更に、前記トレースデータメモリ内に記録されたデータを、前記初期化情報メモリ内のデバイス情報を参照して、当該データの種別情報と共に出力するデータ出力手段を有することを特徴とするバスアナライザ。
【００５１】
（付記７）付記１において、
前記バスは、ユニバーサルシリアルバスを含み、前記デバイス情報は、当該デバイスの種別情報と、当該デバイスに関して転送されるデータの形式情報とを含むことを特徴とするバスアナライザ。
【００５２】
（付記８）付記７において、
更に、前記バス上を転送されるデータを監視し、予め設定されたトレース条件に合致する転送データか否かを前記初期化情報メモリ内のデバイス情報を参照して判別し、前記トレース条件に合致する周辺デバイスの転送データを取得して、前記トレースデータメモリに格納するトレース制御部を有し、
前記トレース制御部は、前記トレース条件に含まれるデバイスの種別情報に対応する周辺デバイスのアドレスに従って、トレースすべき転送データを取得することを特徴とするバスアナライザ。
【００５３】
（付記９）付記７において、
更に、前記トレースデータメモリ内に記録されたデータを、前記初期化情報メモリ内のデバイス情報を参照して、当該データの種別情報と共に出力するデータ出力手段を有し、
当該データ出力手段は、前記記録されたデータが前記デバイス情報内のデータ形式情報に対応する時に、当該記録されたデータを前記対応したデータ形式情報と共に出力することを特徴とするバスアナライザ。
【００５４】
【発明の効果】
以上、本発明によれば、バス動作を解析するとき、バスに接続される周辺デバイスとバス上の転送データとの関係を常に把握することができ、更に、オペレータに理解容易な形態で転送データを出力するバスアナライザを提供することができる。
【図面の簡単な説明】
【図１】本実施の形態におけるＵＳＢプロトコルアナライザとホストコンピュータ及びＵＳＢデバイスとの関係を示す図である。
【図２】本実施の形態におけるＵＳＢプロトコルアナライザの構成図である。
【図３】本実施の形態のＵＳＢプロトコルアナライザの動作フローチャート図である。
【図４】バスエニュメレーション動作（初期化動作）を示す図である。
【図５】ＵＳＢにおけるトランズアクションのパケット例を示す図である。
【図６】セットアップキャッシュメモリ内のデータ例を示す図である。
【図７】デバイス情報のディスクリプタを示す図である。
【符号の説明】
１０　　　　ホストコンピュータ
１２〜２４　周辺デバイス
１００　　　バスアナライザ、ＵＳＢプロトコルアナライザ
４０　　　　バス接続解除手段、デタッチ制御部
４２　　　　初期化情報管理部、セットアップキャッシュ管理部
４４　　　　初期化情報メモリ、セットアップキャッシュメモリ
４６　　　　トレース制御部
４８　　　　トレースデータメモリ
２００　　　アナライザインターフェースコンピュータ
【図１】
2004005040.tif 000003
【図２】
2004005040.tif 000004
【図３】
2004005040.tif 000005
【図４】
2004005040.tif 000006
【図５】
2004005040.tif 000007
【図６】
2004005040.tif 000008
【図７】
2004005040.tif 000009