| 【発明の名称】 |
USBモニタ方式 |
| 【発明者】 |
【氏名】安波 大輔
|
| 【要約】 |
【課題】特定のADDRESS/ENDPOINTのトランザクションに対して無効トランザクションは受信せず、有効トランザクションのみを受信するフィルタ機能を提供する。
【解決手段】USB通信データをモニタして、そのパケットデータを記録手段に記録するモニタ方式において、有効トランザクションと、無効トランザクションとを判別する判別手段を備え、有効トランザクションのパケットデータのみを、記録手段に記録するUSBモニタ方式。 |
【特許請求の範囲】
【請求項1】 USB通信データをモニタして、そのパケットデータを記録手段に記録するモニタ方式において、有効トランザクションと、無効トランザクションとを判別する判別手段を備え、前記有効トランザクションのパケットデータのみを、記録手段に記録することを特徴とするUSBモニタ方式。 【請求項2】 前記判別手段は、トークンパケットに続くパケットの種別に応じて判断することを特徴とする請求項1に記載のUSBモニタ方式。 【請求項3】 前記判別手段は、トークンパケットに続くパケットが、データパケットである場合のみ、有効トランザクションであると判断することを特徴とする請求項2に記載のUSBモニタ方式。 【請求項4】 前記判別手段は、トークンパケットに続くパケットが、データパケットであり、且つ、データパケットに続くパケットが、ハンドシェークパケットである場合のみ、有効トランザクションであると判断することを特徴とする請求項2に記載のUSBモニタ方式。 【請求項5】 トークンパケットを判断後、所定の期間内に、次のパケットの判断ができない場合には、無効トランザクションとして処理をする手段を有することを特徴とする請求項1〜4のいずれか1項に記載のUSBモニタ方式。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、パーソナルコンピュータとその周辺機器を結ぶユニバーサルシリアルバス(以下USBと略す)のデータをモニタし、必要なデータのみを受信およびキャプチャ(RAM,HD等の記録媒体へのキャプチャ)する機能を持つプロトコルアナライザに関するものである。 【0002】 【従来の技術】従来、USB通信回線において障害発生時に障害発生箇所を判断する方法の一つとして、前記回線データが正しいか、否かを判断する方法がある。この方法は、プロトコルアナライザを使用して、通信回線上のデータをフレーム単位で受信し、そのデータよりビットフィールド値やフレームシーケンスの正常/異常を判断し、回線の障害発生箇所の切り分けに利用する。 【0003】USB通信は、通信の制御を担うホストと従属して動作するファンクションと位置付けられている端末間で行われ、1.5Mbpsまたは12Mbpsの転送速度で通信が行われる。また、ホストはADDRESS/ENDPOINTと呼ばれる情報により、通信対象とするファンクションを特定しデータの通信を行う。 【0004】これらの通信で使用されるパケットは、図1に示す10種類が存在する。USB通信は、4種類のトランザクションと呼ばれる転送方式(バルク,コントロール,インタラプト,アイソクロナス)があり、トランザクションフォーマットは大きく分けて2種類が存在する。 【0005】USBの上位データを解析する場合、解析に有効なトランザクションフォーマット(以後、有効トランザクションと称す)は、図2に示す「トークンパケット」「DATAパケット」「ハンドシェークパケット」または「トークンパケット」「DATAパケット」で構成されている。 【0006】この構成以外は、解析に無効なトランザクション(以後、無効トランザクションと称す)としてホスト及びファンクションで破棄される。プロトコルアナライザには、図3に示す、必要なデータのみを受信するフィルタ機能がある。USB回線を測定する場合には、図4に示す、特定のUSBパケットのみを受信するパケットタイプ別フィルタ機能や、図5に示す、特定のADDRESS/ENDPOINTにおける通信のみを受信するフィルタ機能を搭載している。 【0007】パケットタイプ別フィルタ機能は、1パケットごとにパケットタイプを比較し対象のパケットと一致した場合に記録媒体へ記録される。また、ADDRESS/ENDPOINTフィルタ機能は、トークンパケットを判断した際、パケット内のADDRESS値とENDPOINT値をフィルタ処理部で登録し、以後ハンドシェークパケットを判断するまで受信およびRAMへの記録を続ける。 【0008】 【発明が解決しようとする課題】USBの上位プロトコルデータの転送速度が、1.5Mbpsや12Mbpsより極端に遅い場合は、その上位プロトコルデータが存在するUSBトランザクションはUSB全パケットに対して極端に小さい割合となる。このことは、大半は、無効トランザクションフォーマットやフレーム開始パケット(SOFパケット)で占められることを示している。 【0009】USBの上位プロトコルデータは、DATA0またはDATA1に存在するため、パケットタイプ別フィルタで、DATA0およびDATA1のみを受信するようにすることは出来るが、DATA0やDATA1パケットのみではデータの方向性や有効性、ADDRESS/ENDPOINT情報が存在しないため、上位プロトコルデータの判断は難しい。 【0010】また、図6に示す、ADDRESS/ENDPOINTフィルタで、指定するADDRESS/ENDPOINTのトランザクションのみを受信するようにしても、無効トランザクションフォーマット(DATA0またはDATA1が無いトランザクション)が受信データの大半を占めるため上位プロトコルデータの判断、解析に時間がかかってしまう。 【0011】発明の課題は、特定のADDRESS/ENDPOINTのトランザクションに対して無効トランザクションは受信せず、有効トランザクションのみを受信するフィルタ機能を提供することである。 【0012】 【課題を解決するための手段】前記課題を解決するために、USB通信データをモニタして、そのパケットデータを記録手段に記録するモニタ方式において、有効トランザクションと、無効トランザクションとを判別する判別手段30を備え、有効トランザクションのパケットデータのみを記録手段に記録することによって短時間で解析が可能になる。(請求項1) 【0013】また、前記判別手段は、トークンパケットに続くパケットの種別に応じて判断する。(請求項2) また、前記判別手段は、トークンパケットに続くパケットが、データパケットである場合のみ、有効トランザクションであると判断する。(請求項3) また、前記判別手段は、トークンパケットに続くパケットが、データパケットであり、且つ、データパケットに続くパケットが、ハンドシェークパケットである場合のみ、有効トランザクションであると判断する。これは、トランザクションフォーマットがアイソクロナスの場合である。(請求項4) 【0014】また、トークンパケットを判断後、所定の期間内に、次のパケットの判断ができない場合には、無効トランザクションとして処理をする手段を有することによって、トークンのみの無効トランザクションの場合にはライトポインタをBAK(保存用ポインタ)が示す位置に戻すことにより、トークンを削除することができる。(請求項5) 【0015】 【発明の実施の形態】以下、図面を用いて本発明の実施の形態を説明する。図7は、本発明の実施の形態である、パケットタイプ別フィルタを備えたUSBモニタの構成を示す図である。図7において、1は通信の制御を担うホストであり、2はファンクションと位置付けられる端末である。また、3はプロトコルアナライザであって、ADDREES/ENDPOINT(31)、有効トランザクションフィルタ処理部(33)、パケットタイプ別フィルタ処理部(32)よりなるフィルタ処理部(30)及び、RAM(34)、CPU(35)、記憶媒体(36)、表示装置(37)により構成されている。 【0016】USB回線において、ホスト1と端末2との間を、双方向に送信されるデータをフィルタ機能により選別し、受信するプロトコルアナライザにおいて、フィルタ処理部30内のADDRESS/ENDPOINTフィルタ部31の後段に有効トランザクションフィルタ処理部33が配置されている。 【0017】回線から受信したトランザクションには、トランザクションフォーマットが、(「トークンパケット」「DATAパケット」「ハンドシェークパケット」)及び(「トークンパケット」「DATAパケット」)である有功トランザクションと、トランザクションフォーマットが、(「トークンパケット」「DATAパケット」)以外の場合{(「トークンパケット」「ハンドシェークパケット)、(「トークンパケット」「トークンパケット」)等}の無効トランザクションが含まれている。前記ADDRESS/ENDPOINTフィルタ部31では、受信したトランザクションを、それぞれ、1パケットずつ有効トランザクションフィルタ部33へ渡される。 【0018】前記有効トランザクションフィルタ処理部33の判断処理は以下の如く実行される。処理には、トークンパケットを判断したことを示すフラグ(以後トークンフラグと称す)と、記録媒体36への書き込みポインタ(以後ライトポインタと称す)、および書き込みポインタの位置を保存しておく、保存用ポインタBAKを用意する。 【0019】記録媒体への書き込みは、図8に示すように、書き込み用ポインタにより行う。ADDRESS/ENDPOINTフィルタの出力から、トークンフラグを判断し、前回にトークンパケットを受信したかを判断する。トークンフラグがOFF(前回トークンパケットを受信していない状態)であるなら、PIDフィールドによりパケット種別を判断する。 【0020】そのパケットが「トークン」である場合、SYNCパターンのポインタ位置をBAKへ保存し、トークンフラグをONにする。その後、このパケットデータを記録媒体へ書き込みを行う。 【0021】PIDフィールドによる判断で「トークン以外」である場合は、無条件にパケットデータの書き込みを行う。トークンフラグがON(前回トークンパケットを受信している状態)である場合、PIDフィールドのパケット種別判断を行う。この結果「DATA0/1」であるならトークンフラグをOFFにし、パケットデータの書き込みを行う。 【0022】また「DATA0/1以外」かつ「トークン以外」であるなら、トークンフラグをOFFにし、このトランザクションは無効であるとして、図9に示すように、ライトポインタをBAKが示す位置へ戻す。 【0023】「DATA0/1以外」かつ「トークン」である場合には、「トークン」が連続して来たことを示すので、連続した最後の「トークン」を残すため、図10に示すように、ライトポインタをBAKが示す位置へ戻し、このトークンパケットデータを記録媒体へ書き込む。 【0024】「トークン」を判断した後に、タイムアウトとなった場合(16クロックカウント経過後に何も判断できなかった場合)は、「トークン」のみの無効トランザクションフォーマットとして、図11に示すように、ライトポインタをBAKが示す位置へ戻すことでトークンの情報を削除する。 【0025】次に、本発明の全体の処理フローを図12を用いて説明する。 ・先ず、ホスト1と端末2間の双方向通信データをプロトコルアナライザ3を構成するフィルタ処理部30のADDRES/ENDPOINTフィルタ処理部31が出力する。(ステップS1) ・次に、上記ADDRES/ENDPOINTフィルタ処理部31からの出力に対して、タイムアウト不成立かつSYNCパターンの認識の判断を行う。(ステップS2) ・ステップS2における判断で、Trueの場合には、トークンフラグ判定を行う。(ステップS3) ・ステップS3における判断で、トークンフラグがON(前回トークンパケットを受信している状態)の場合には、PIDフィールドのパケット種別がDATA0/1であるか否かの判断を実行する。(ステップS4) ・ステップS4の判断でTrur(パケットの種別がDATA0/1)場合には、トークンフラグをOFFにする。(ステップS10) ・ステップS10でトークンフラグをOFFにした後、パケットデータを記憶媒体36に書込み、ライトポインタを更新する。(ステップS11) 【0026】・ステップS4の判断で、Faise(パケットの種別がDATA0/1ではない)の場合には、PIDフィールドのパケットの種別がトークンか否かの判断を行う。(ステップS5) ・ステップS5の判断が、True(パケットの種別がトークン)の場合には、ライトポインタの位置をBAKへ戻す。(ステップS6) ・ステップS6でライトポインタの位置をBAKに戻した後に、パケットデータを記憶媒体36に書き込み、ライトポインタの更新を行う。(ステップS7) 【0027】・ステップS5の判断が、False(パケットの種別がDATA0/1以外で、且つトークン以外)の場合には、トークンフラグをOFFにする。(ステップS8) ・ステップS5でトークンフラグをOFFにするのは、このトランザクションが無効であると判断した結果であるので、ライトポインタをBAKの示す位置に戻す。(ステップS9) 【0028】・ステップS3の判断で、トークンフラグがOFF(前回トークンパケットを受信していない状態)の場合には、PIDフィールドのパケット種別がトークンであるか否かの判断を実行する。(ステップS12) ・ステップS12の判断がTrue(パケット種別トークン)の場合には、SYNCのポインタ位置をBAKへ保存する。(ステップS13) ・ステップS12でSYNCのポインタ位置をBAKへ保存した後に、トークンフラグをONにする。(ステップS14) ・ステップS14でトークンフラグをONにした後に、パケットデータをき多く媒体36に書込み、ライトポインタの更新を行う。(ステップS15) ・ステップS12の判断がFalse(パケット種別トークン以外)の場合には、パケットデータを記憶媒体36に書込み、ライトポインタの更新を行う。(ステップS15) 【0029】・ステップS2における判断で、Falseの場合には、PIDフィールドのパケット種別がトークンであるか否かの判断を実行する。(ステップS16) ・ステップS16の判断が、True(パケットの種別がトークン)の場合には、ライトポインタをBAKの示す位置に戻す。(ステップS17) ・ステップS16でライトポインタをBAKの示す位置に戻した後に、トークンフラグをOFFにする。(ステップS18) ・ステップS16の判断が、False(パケットの種別がトークン以外)の場合には、トークンフラグをOFFにする。(ステップS18) 【0030】 【発明の効果】請求項1に記載の発明では、USB通信データをモニタして、そのパケットデータを記録手段に記録するモニタ方式において、有効トランザクションと、無効トランザクションとを判別する判別手段30を備え、有効トランザクションのパケットデータのみを記録手段に記録することによって短時間で解析が可能になり、容易にUSBの上位データを識別可能となると同時に、受信データの記録効率も向上できる。 【0031】また、請求項2に記載の発明では、前記判別手段は、トークンパケットに続くパケットの種別に応じて有効トランザクションか無効なトランザクションかの判断が容易にできる。また、請求項3に記載の発明では、前記判別手段は、トークンパケットに続くパケットが、データパケットである場合のみ、有効トランザクションであると判断できる。また、請求項4に記載の発明では、前記判別手段は、トークンパケットに続くパケットが、データパケットであり、且つ、データパケットに続くパケットが、ハンドシェークパケットである場合のみ、有効トランザクションであると判断する。 【0032】また、請求項5に記載の発明では、トークンパケットを判断後、所定の期間内に、次のパケットの判断ができない場合には、無効トランザクションとして処理をする手段を有することによって、トークンのみの無効トランザクションの場合にはライトポインタをBAKが示す位置に戻すことにより、トークンを削除することができる。
|
| 【出願人】 |
【識別番号】000117744 【氏名又は名称】安藤電気株式会社
|
| 【出願日】 |
平成13年4月9日(2001.4.9) |
| 【代理人】 |
【識別番号】100099195 【弁理士】 【氏名又は名称】宮越 典明 (外1名)
|
| 【公開番号】 |
特開2002−312258(P2002−312258A) |
| 【公開日】 |
平成14年10月25日(2002.10.25) |
| 【出願番号】 |
特願2001−109496(P2001−109496) |
|