JP3750467B2 - Usbシミュレーション装置、及び、記憶媒体 - Google Patents
Usbシミュレーション装置、及び、記憶媒体 Download PDFInfo
- Publication number
- JP3750467B2 JP3750467B2 JP2000051668A JP2000051668A JP3750467B2 JP 3750467 B2 JP3750467 B2 JP 3750467B2 JP 2000051668 A JP2000051668 A JP 2000051668A JP 2000051668 A JP2000051668 A JP 2000051668A JP 3750467 B2 JP3750467 B2 JP 3750467B2
- Authority
- JP
- Japan
- Prior art keywords
- usb
- data
- simulation apparatus
- external device
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Description
【発明の属する技術分野】
本発明は、USB(Universal Serial Bus)で接続されたパーソナルコンピュータや周辺機器の通信機能とその動作を仮想的に行い検証するUSBシミュレーション装置に関する。
【0002】
【従来の技術】
近年では、パーソナルコンピュータ(ホスト)とUSB規格に準拠したインターフェースによって接続できるキーボード、マウス、スピーカ、モデム、プリンタ等の周辺機器(デバイス)が多く開発されている。
【0003】
USBによるホスト−デバイス間の通信は、ホストのUSBプロトコルソフトウエアによって制御されている。つまり、デバイス側からデータを送信する場合であっても、ホストがデバイスにバス使用権を与えてからデバイスがホストにデータを送信する。
【0004】
具体的には、ホスト及び各デバイスは、それぞれUSBに準拠したコントローラを有する。ホスト側のUSBコントローラは、USBプロトコルソフトウエアのプログラムに従って各デバイスにトークン・パケットを発行する。トークンとは、ホストからデバイスにデータを送信するか(OUT)、デバイスからホストにデータを送信するか(IN)等をデバイスが区別するためのコードであり、デバイスは、受信したトークン・パケットに応じた処理をする。また、パケットとは、ホストやデバイスが出力する情報や、そのデータ種を識別するコード、アドレス等を含んだ情報の単位を意味する。
【0005】
ホストは、デバイスと通信する際、トランザクションと呼ばれる単位でデバイスとの通信スケジュールを立てる。例えば、まず、ホストがデバイスにトークン・パケットを送信し、データのやり取りが終了すると、データを受信した側が送信側にハンドシェイク・パケットを送信して、トランザクションと呼ばれる通信単位が終了する。
【0006】
なお、USB上を流れるデータは、フレームという概念で時間分割され、フレームの始めには、必ずSOF(Start of Frame)パケットが付加される。ホストは、SOF・パケットに続いて、予めスケジューリングした順序で各パケットをデバイスと送受信する。
【0007】
このようなUSBバス上を流れるデータをテストパターンによって調べたり、USBを介したデバイスからの応答をUSBバス上で直接検証する場合、一般的に、USBシミュレーション・モデルを用いて行う。
【0008】
USBシミュレーションを行う従来の専用シミュレータ20は、図8に示すように、ホストやデバイスに出力する送信データのパターン(USBシミュレーション・モデル)を記憶したメモリ21、送信データの送出タイミングを制御するタイミング発生器22、及び、送信データをUSBのシリアルデータに変調したり、受信データを復調するための符号変換回路23とから構成される。
【0009】
つまり、専用シミュレータ20では、メモリ21に記憶された送信パターンを、符号変換回路23でフレーム分割し、同期パターンを付加して、タイミング発生器22が指定するタイミングでホストやデバイスに出力する。
【0010】
また、図9に示すように、汎用のUSBコントローラLSI31を用いてUSBシミュレーションを行う場合もある。図9において、USBシミュレーションシステム30は、USBコントローラLSI31、制御マイコン32、USBドライバソフトウエア33とから構成されており、制御マイコン32は、USBドライバソフトウエア33に記憶されたテストプログラムに従ってUSBコントローラLSI31を制御する。
【0011】
【発明が解決しようとする課題】
しかしながら、図8に示すような従来の専用シミュレータ20では、同期化のタイミングがずれたり、エラーデータなどにより再送処理が必要になった場合、通信相手との接続が切れ、正常なシミュレーション動作ができない。また、エラーパケットや異常シーケンスを意図的に発生させた場合、その都度通信相手との接続が切れるために、作業時間が冗長化するという問題があった。
【0012】
一方、図9に示すUSBシミュレーションシステム30では、検証するデバッグの用途に応じてUSBドライバソフトウエア33の内容をチューニングする必要があり、手間がかかる。また、USBコントローラLSI31では、制御マイコン32が、送受信するデータを自動的に処理し、エラーが発生した場合には送信リトライ信号をデータ発信側に要求するため、エラーパケットや異常シーケンスを意図的に発生できない。
【0013】
なお、通信のハンドシェイクを維持しながらシミュレーションを行う手法として、パケット単位でソフトウェアハンドリングしてシミュレーションプログラムを実行する方式が従来技術として確立しているが、USBにおけるトランザクション中のパケット応答は非常に高速であるため、同一技術では実現が困難である。
【0014】
本発明の課題は、シミュレーションプログラムによって、USBを介して接続されたホスト及びデバイス間のハンドシェイクを維持しながら、意図的にエラーパケットやハンドシェイク等の異常シーケンスを発生させることである。
【0015】
【課題を解決するための手段】
請求項1記載の発明は、
USBで接続された主機器とその周辺機器との間で交わされる信号処理を仮想的に実行するUSBシミュレーション装置において、
複数のテスト項目及びシミュレーション上の命令を記憶する記憶手段と、
前記記憶手段に記憶された内容に基づいてUSBで接続される1つ或いは複数の外部機器に送信するデータを管理する送信データ管理手段(例えば、図4のCPU11内のトランザクション管理部12b)と、
前記記憶手段に記憶された内容に基づいて前記外部機器のアドレスを設定する設定手段(例えば、図4のCPU11内の設定部12a)と、
前記記憶手段に記憶された内容に基づいてデータを出力するタイミングを発生するタイミング発生手段(例えば、図4のUSBコントローラ13内のUSB状態監視部13c)と、
前記タイミング発生手段により発生されるタイミングで、前記設定手段により設定されたアドレスに前記送信データ管理手段から指示されたデータを出力するデータ送信手段(例えば、図4のUSBコントローラ13内の送信制御部13d)と、
USBを介して前記外部機器から入力される信号を受信する受信手段(例えば、図4のUSBコントローラ13内のステータス監視部13f)と、
前記受信手段により受信される信号に基づいて次に送信するデータを判定し、前記送信データ管理手段に出力する判定手段(例えば、図4のCPU11内の受信データ判定部12c)と、を備え、接続される外部機器に対して仮想主機器、或いは、仮想周辺機器として機能することを特徴としている。
【0016】
請求項1記載の発明によれば、
USBで接続された主機器とその周辺機器との間で交わされる信号処理を仮想的に実行するUSBシミュレーション装置において、記憶手段は、複数のテスト項目及びシミュレーション上の命令を記憶し、送信データ管理手段は、前記記憶手段に記憶された内容に基づいてUSBで接続された1つ或いは複数の外部機器に送信するデータを管理し、設定手段は、前記記憶手段に記憶された内容に基づいて前記外部機器のアドレスを設定し、タイミング発生手段は、前記記憶手段に記憶された内容に基づいてデータを出力するタイミングを発生し、データ送信手段は、前記タイミング発生手段により発生されるタイミングで、前記設定手段により設定されたアドレスに前記送信データ管理手段から指示されたデータを出力し、受信手段は、USBを介して前記外部機器から入力される信号を受信し、判定手段は、前記受信手段により受信される信号に基づいて次に送信するデータを判定し、前記送信データ管理手段に出力する。
【0017】
従って、記憶手段に記憶した内容に合わせて接続する外部機器のアドレスを変更したり、データを出力するタイミングを変更したり、外部機器から入力される信号に応じて次に出力するデータを選択できる。
【0018】
請求項2記載の発明は、請求項1記載のUSBシミュレーション装置において、送信データ管理手段が、トランザクションの単位で送信するデータを管理することを特徴としている。
【0019】
従って、情報をまとまった単位で管理するため、USBのバス内で交わされる通信が高速であるにもかかわらず、外部機器から入力される信号に応じた処理ができる。
【0020】
請求項3記載の発明は、請求項2記載のUSBシミュレーション装置において、送信データ管理手段が、意図的にエラーデータや異常なシーケンスを発生することを特徴としている。
【0021】
従って、エラーデータや、異常なシーケンスに対する外部機器の応答を検査できる。
【0022】
請求項4記載の発明は、請求項3記載のUSBシミュレーション装置において、判定手段が、受信手段により受信された外部機器から入力されるハンドシェイク信号に基づいて次に送信するデータを判定し、外部機器に対する全てのテスト項目が完了するまで通信の接続を切断しないことを特徴としている。
【0023】
従って、エラーデータや異常なシーケンスを発生しても、外部機器との接続が切断されず、USBシミュレーションでの論理検証やバス内の信号検索等の作業を効率的に実行できる。
【0024】
請求項5記載の発明は、請求項1記載のUSBシミュレーション装置において、前記設定手段が、データを送信する外部機器のアドレスを設定すると共に、送信するデータの転送特性を任意のモードに設定することを特徴としている。
【0025】
従って、接続された外部機器に設定されたアドレスで転送モードに応じた送信を可能とするとともに、そのモードにおいて異常なシーケンスでパケット送信することで、外部機器の異常応答を検査できる。
【0026】
【発明の実施の形態】
以下、図1〜図7を参照して本発明の実施の形態におけるUSBシミュレーション装置を詳細に説明する。
図1は、USBシミュレーション装置1にホスト2と複数の周辺機器(以下、デバイス3)を接続したUSB接続形態を示すブロック図である。図1において、USBシミュレーション装置1は、各機器のUSBコントローラ2b・3bと接続されている。
【0027】
本実施の形態では、USBシミュレーション装置1は、仮想ホストとなってデバイス3と通信したり(図2参照)、仮想デバイスとなってホスト2と通信を行う(図3参照)。
【0028】
図4は、本実施の形態におけるUSBシミュレーション装置1の内部構成を示すブロック図である。図4において、USBシミュレーション装置1は、記憶媒体10、CPU11、及び、USBコントローラ13とから構成されている。
【0029】
記憶媒体10は、磁気的、光学的記憶媒体、若しくは半導体メモリなどCPU10が読み取り可能な構成をしており、USBシミュレーション装置1に着脱可能な媒体や、ハードディスク等の固定的な媒体を含む。記憶媒体10には、USBコントローラ13を制御するための制御プログラムや、USBシミュレーションプログラム等が記憶される。
【0030】
CPU11は、記憶媒体10に記憶されるプログラムに従ってUSBコントローラ13を制御する。
なお、CPU11は、設定部12a、トランザクション管理部12b、及び、受信データ判定部13cによって、記憶媒体10に記憶されたUSBシミュレーションプログラムを実行する。
【0031】
設定部12aは、シミュレーション対象とするデバイスの転送モード、帯域、及びアドレス設定の定義をし、USBコントローラ13内のアドレス管理部13a、帯域管理部13bに指示信号を出力する。
【0032】
USBでは、1つの通信パイプに対するバス専有帯域をコントロールして通信を行っている。例えば、キーボードやマウスなどのデバイスから入力される信号を他のデバイスとの通信に割り込んで処理するためのインタラプト転送や、大量のデータを転送するためのバルク転送、オーディオやビデオなど途切れては困るデータを転送するためのアイソクロナス転送、ホストがデバイスの構成情報を取得するためのコントロール転送などの転送モードがある。
【0033】
つまり、設定部12aは、どのデバイスにどの転送モードで通信するかを決定する。また、フレームの始めに付加するSOF・パケットの出力タイミングをずらしたり、異常なシーケンスで発生させる指示信号をUSBコントローラ13内のアドレス管理部13a、帯域管理部13bに出力する。
【0034】
トランザクション管理部12bは、送信するデータの内容を記憶媒体10から呼び出して送信バッファ13eに展開する展開指示信号と、エラーパケットの発生やハンドシェイク応答の異常シーケンス生成を制御する送信制御信号を生成し、USBコントローラ13内の送信制御部13dに出力する。
【0035】
トランザクションとは、ホストがデバイスとの通信を確立するために予め設定するスケジュール単位であり、例えば、ホストからデバイスへの通信開始のアクションで始まり、ハンドシェイクで終わる転送データの組み合わせである。つまり、トランザクション管理部12bは、受信データ判定部12cによる判定結果と、記憶媒体10に記憶されたプログラムに基づいて、トークン・パケットやデータ・パケット、ハンドシェイク・パケット等のトランザクション内の各パケットを決定し、それらの組み合わせを作る。
【0036】
受信データ判定部12cは、USBコントローラ13内のステータス監視部13fから入力されるデータから通信相手の応答が正常であったか異常終了したのかを判定し、処理を分岐させて次のトランザクションで出力するデータを決定して、トランザクション管理部12bに処理結果を出力する。
【0037】
例えば、受信データ判定部12cは、出力したエラー・パケットや異常シーケンスの応答を通信相手から入力されるハンドシェイク・パケットに基づいて判定し、引き続きハンドシェイクを断たないための出力データを条件分岐によって決定する。
【0038】
また、ホスト−デバイス間でコントロール転送を実行する場合、ホストは、デバイスの状態を知るために、デバイスにディスクリプタの転送要求(セットアップ・パケット)を出力する。ディスクリプタとは、デバイスの接続状態や処理状態を意味するコードである。従って、USBシミュレーション装置1が仮想ホストであり、デバイスとコントロール転送する場合には、受信データ判定部12cは、デバイスから入力されるディスクリプタに応じた処理をする。
【0039】
USBコントローラ13は、アドレス管理部13a、帯域管理部13b、USB状態監視部13c、送信制御部13d、送信バッファ13e、ステータス監視部13f、及び、コントロールデータキャプチャ13gとから構成されており、CPU11から入力される指示に従って動作する。
【0040】
アドレス管理部13aは、CPU11内の設定部12aから入力される指示に従って、デバイスのアドレスを管理し、USB状態監視部13cに出力する。つまり、USBシミュレーション装置1が仮想ホストである場合には、接続された1つ或いは複数のデバイスのアドレスを管理し、USBシミュレーション装置1が仮想デバイスである場合には、ホストから与えられたアドレスを管理する。
【0041】
帯域管理部13bは、CPU11内の設定部12aから入力される指示に従って出力する信号の送信モードおよびその送信タイミングをコントロールする。
【0042】
USB状態監視部13cは、アドレス管理部13a、帯域管理部13b、及び、受信データ判定部13fから入力されるデータに基づいてUSBバス状態を監視し、送信可能なタイミングやモード、アドレス等を送信制御部13dに出力する。
【0043】
送信制御部13dは、CPU11内のトランザクション管理部12bから入力される指示に従って各パケットを生成し、USBコントローラ13から入力されるタイミング及び転送モードに従って、USBバスに出力する。なお、データを出力する場合には、トランザクション管理部12bから入力される送信コマンドに従って展開された送信バッファ13e内のデータをデータ・パケットとして出力する。
【0044】
ステータス監視部13fは、USBバスを介した接続相手から入力されるハンドシェイク・パケットやデータ・パケット(ディスクリプト等)を解読し、CPU11やUSB状態監視部13cに出力する。
【0045】
また、コントロールデータキャプチャ13gは、ステータス監視部13fの解読結果を記憶し、記憶された解読結果は、CPU11から入力される指示信号に応じてステータス監視部13fから読み出されて受信データ判定部12cに出力される。このようにコントロールデータキャプチャ13gに通信相手のステータスを記憶することで、コントロール転送におけるセットアップ情報を正確に反映したプログラムを実行する。
【0046】
次に、図5〜図7を用いて本発明の実施の形態における動作を説明する。
図5は、USBシミュレーション装置1が仮想ホストであり、デバイス3にデータを転送する場合(図2参照)のOUTトランザクションを説明するプロトコルフローである。
【0047】
図5において、USBシミュレーション装置1(仮想ホスト)のCPU11は、転送モード、帯域、通信するデバイス3のアドレス等を設定し(ステップS1)、USBコントローラ13のアドレス管理部13a及び帯域管理部13bに出力する。
【0048】
そして、CPU11は、送信制御部13dにトークン・パケット生成指示を出力する。送信制御部13dは、CPU11の指示に従ってトークンパケットを生成すると、USB状態監視部13cから入力されるタイミングに従って指定された転送モード、帯域、及びアドレス(デバイス3)にトークン・パケットを出力する(ステップS2)。
【0049】
ステップS2が終了すると、CPU11は、該トランザクションにおいて仮想ホスト1が出力するデータをUSBコントローラ13内の送信バッファ13eに展開し(ステップS3)、データ・パケットの生成指示を送信制御部13dに出力する。送信制御部13dは、CPU11の指示に従って、送信バッファ13e内から送信するデータを読み出すと、データ・パケットを生成し、USB状態監視部13cから入力されるタイミングに従ってデバイス3にデータ・パケットを出力する(ステップS4)
【0050】
一方、デバイス3は、仮想ホスト1からデータ・パケットが入力されると、データの受信が正常に行われたか否かを判断し、ハンドシェイク・パケットを生成して仮想ホスト1に出力する(ステップS5)。
【0051】
CPU11は、デバイス3から入力されたハンドシェイク・パケットからデバイス3の通信状態を把握し(ステップS6)、次のトランザクションで出力するトークンやデータを選択し、トランザクション内の各パケットの組み合わせを決定する。
【0052】
以上に、USBシミュレーション装置1が仮想ホストでデバイス3にデータを出力する場合のOUTトランザクションの流れを説明した。逆に、仮想ホスト1にデバイス3がデータを送信する場合には、仮想ホスト1がトークン・パケットをデバイス3に出力すると、デバイス3はデータ・パケットを仮想ホスト1に出力する。そして、仮想ホスト1内のCPU11は、受信したデータ・パケットに応じて出力するハンドシェイクを選択し、ハンドシェイク・パケットを生成するとデバイス3に出力する。
【0053】
ハンドシェイクの選択は、USB規格に従った制御プロトコルによるものでも良いし、予め記憶媒体10に記憶された判定コマンドによって意図的に選択するようにしてもよい。また、ハンドシェイク・パケットを出力するタイミングをずらしてエラーを発生させることもできる。
【0054】
次に、USBシミュレーション装置1が仮想デバイスで、ホスト2にデータを出力する場合(図3参照)のINトランザクションについて、図6に示すプロトコルフローに基づいて説明する。
【0055】
図6において、ホスト2がトークン・パケットを生成し、仮想デバイス1に出力すると(ステップS10)、仮想デバイス1のCPU11は、転送するデータをUSBコントローラ13内の転送バッファ13eに展開し(ステップS11)、データ・パケット生成指示を送信制御部13dに出力する。
【0056】
送信制御部13dは、データ・パケットを生成して、USB状態監視部13cから入力されるタイミングに従ってホスト2にデータ・パケットを出力する(ステップS12)。
【0057】
ホスト2は、仮想デバイス1からデータ・パケットを入力されるとハンドシェイク・パケットを生成し、仮想デバイス1に出力する(ステップS13)。
【0058】
CPU11は、ホスト2から入力されたハンドシェイク・パケットからホスト2の通信状態を把握し(ステップS14)、次のトランザクションで仮想デバイス1が出力するデータを決定する。
【0059】
以上に、仮想デバイス1がホスト2にデータを転送する場合のINトランザクションについて説明をした。逆に、ホスト2が仮想デバイス1にデータを転送するOUTトランザクションの場合には、CPU11は、受信したトークン・パケットやデータ・パケットに基づいてハンドシェイク・パケットを生成してホスト2に出力する。
【0060】
続いて、USBシミュレーション装置1が仮想ホストであり、デバイス3とコントロール転送による通信を実行する場合(図2参照)に、デバイス3が仮想ホスト1からの要求に応じてディスクリプタを出力するときのINトランザクションについて図7に示すプロトコルフローを用いて説明する。
【0061】
図7において、仮想ホスト1のCPU11は、転送モード、帯域、通信するデバイス3のアドレス等を設定し(ステップS20)、指示信号をUSBコントローラ13のアドレス管理部13a及び帯域管理部13bに出力する。
【0062】
更に、CPU11は、送信制御部13dにトークン・パケット生成指示を出力する。送信制御部13dは、CPU11の指示に従ってトークンパケットを生成すると、USB状態監視部13cから入力されるタイミングに従って指定された転送モード、帯域、及びアドレス(該デバイス)にトークン・パケットを出力する(ステップS21)。
【0063】
一方、デバイス3は、仮想ホスト1からトークン・パケットが入力されると、データ・パケット(ディスクリプタ)を生成し、仮想ホスト1に出力する(ステップS22)。
【0064】
CPU11は、デバイス3から入力されたディスクリプタからデバイス3の状態を把握し(ステップS23)、次のトランザクションで出力するトークンやデータを選択し、トランザクション内の各パケットの組み合わせを決定する。
【0065】
次いで、CPU11は、受信したデータ・パケットに対するハンドシェイク・パケットを生成してデバイス3に出力する(ステップS24)。
【0066】
以上は、デバイス3が仮想ホスト1にディスクリプタを出力するINトランザクションについて説明したが、逆に図3に示す形態において、仮想デバイス1がホスト2にディスクリプタを出力するOUTトランザクションに本発明を適用してもよい。つまり、仮想デバイス1が出力するディスクリプタの内容を、記憶媒体10に予め記憶されたステータスを設定するコマンドに従って変更する。
【0067】
以上のように、本発明の実施の形態におけるUSBシミュレーション装置1は、CPU11内の設定部12aによって通信するデバイスのアドレスや転送モード、帯域を設定し、トランザクション管理部12bでトランザクション毎にテスト項目(エラー・パケットや異常なシーケンス等)を設定し、受信データ判定部12cで通信内定から入力される応答信号を判定し、判定結果に応じてその後の処理を分岐して、次のトランザクションで実行するテスト項目や送信するデータ等を選択する。
【0068】
従って、USBシミュレーション装置1は、通信相手から入力される応答信号に応じて次のトランザクションの内容を変更できるので、通信相手とのハンドシェイクを維持できる。また、CPU11内の設定部12aによって、USBシミュレーション装置1が出力する信号の転送モードを随時変更できるため、リアルタイムで異常な信号を発信し、その応答を調べられる。
【0069】
更に、CPU11が実行するシミュレーションの処理単位をパケットではなく、トランザクションにしたので、USBでの高速な通信に対応できる。
【0070】
なお、本発明は、上記実施の形態において示した内容に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。例えば、ホスト2のCPU2a及びUSBコントローラ2bを用いて本発明を実行できるように変更してもよい。また、図5〜図7に本発明の実施の形態におけるプロトコルフローを示したが、テスト項目や通信する機器の応答信号に応じてこれらの流れは適宜変更されるものである。
【0071】
【発明の効果】
請求項1記載のUSBシミュレーション装置、請求項6記載の記憶媒体によれば、記憶手段に記憶した内容に合わせて接続する外部機器のアドレスを変更したり、データを出力するタイミングを変更したり、外部機器から入力される信号に応じて次に出力するデータを選択できる。
【0072】
請求項2記載のUSBシミュレーション装置によれば、送信データ管理手段がトランザクション単位でデータを管理するため、USBのバス内で交わされる通信が高速であっても、外部機器から入力される信号に応じた処理ができる。
【0073】
請求項3記載のUSBシミュレーション装置によれば、送信データ管理手段がエラーデータや異常なシーケンスを発生するので、これらの異変な状況における外部機器の応答信号を検査できる。
【0074】
請求項4記載のUSBシミュレーション装置によれば、判定手段が外部機器から入力されるハンドシェイク信号に応じて次に送信するデータを選択するため、エラーデータや異常なシーケンスを発生させた後でも外部機器との接続を維持できる。
【0075】
請求項5記載のUSBシミュレーション装置によれば、設定手段は、送信するデータの転送特性を変更できるため、接続される外部機器の転送モードと異なるモードでデータを送信できる。従って、異常信号に対する該外部機器の応答を検査できる。
【図面の簡単な説明】
【図1】USBシミュレーション装置1の接続形態を示すブロック図である。
【図2】USBシミュレーション装置1とデバイス3の接続を示すブロック図である。
【図3】USBシミュレーション装置1とホスト2の接続を示すブロック図である。
【図4】USBシミュレーション装置1の内部構成を示すブロック図である。
【図5】OUTトランザクションのプロトコルフローである。
【図6】INトランザクションのプロトコルフローである。
【図7】ディスクリプタを送受信する場合のプロトコルフローである。
【図8】従来の専用シミュレータ20の構成を示すブロック図である。
【図9】従来のUSBシミュレーションシステム30を示すブロック図である。
【符号の説明】
1 USBシミュレーション装置
10 記憶媒体
11 CPU
12a 設定部
12b トランザクション管理部
12c 受信データ判定部
13 USBコントローラ
13a アドレス管理部
13b 帯域管理部
13c USB状態監視部
13d 送信制御部
13e 送信バッファ
13f ステータス監視部
13g コントロールデータキャプチャ
2 ホスト
2a CPU
2b USBコントローラ
3 デバイス
3a USBデバイス
3b USBコントローラ
4 USB(バス)
Claims (6)
- USBで接続された主機器とその周辺機器との間で交わされる信号処理を仮想的に実行するUSBシミュレーション装置において、
複数のテスト項目及びシミュレーション上の命令を記憶する記憶手段と、
前記記憶手段に記憶された内容に基づいてUSBで接続される1つ或いは複数の外部機器に送信するデータを管理する送信データ管理手段と、
前記記憶手段に記憶された内容に基づいて前記外部機器のアドレスを設定する設定手段と、
前記記憶手段に記憶された内容に基づいてデータを出力するタイミングを発生するタイミング発生手段と、
前記タイミング発生手段により発生されるタイミングで、前記設定手段により設定されたアドレスに前記送信データ管理手段から指示されたデータを出力するデータ送信手段と、
USBを介して前記外部機器から入力される信号を受信する受信手段と、
前記受信手段により受信される信号に基づいて次に送信するデータを判定し、前記送信データ管理手段に出力する判定手段と、を備え、接続される外部機器に対して仮想主機器、或いは、仮想周辺機器として機能することを特徴とするUSBシミュレーション装置。 - 前記送信データ管理手段は、トランザクションの単位で送信するデータを管理することを特徴とする請求項1記載のUSBシミュレーション装置。
- 前記送信データ管理手段は、意図的にエラーデータや異常なシーケンスを発生することを特徴とする請求項2記載のUSBシミュレーション装置。
- 前記判定手段は、前記受信手段により受信された前記外部機器から入力されるハンドシェイク信号に基づいて次に送信するデータを判定し、前記外部機器に対する全てのテスト項目が完了するまで通信の接続を切断しないことを特徴とする請求項3記載のUSBシミュレーション装置。
- 前記設定手段は、データを送信する外部機器のアドレスを設定すると共に、送信するデータの転送特性を任意のモードに設定することを特徴とする請求項1記載のUSBシミュレーション装置。
- USBで接続された主機器とその周辺機器との間で交わされる信号処理を仮想的に実行し、接続される外部機器に対して仮想主機器、或いは、仮想周辺機器として機能するためのコンピュータが実行可能なプログラムを格納した記憶媒体であって、
複数のテスト項目及びシミュレーション上の命令に基づいて、USBを介して接続される1つ或いは複数の外部機器に送信するデータを管理するためのプログラムコードと、
複数のテスト項目及びシミュレーション上の命令に基づいて前記外部機器のアドレスを設定するためのプログラムコードと、
複数のテスト項目及びシミュレーション上の命令に基づいてデータを出力するタイミングを発生するためのプログラムコードと、
前記タイミングで、設定した前記アドレスに管理するデータを出力するためのプログラムコードと、
USBを介して前記外部機器から入力される信号を受信するためのプログラムコードと、
受信される信号に基づいて次に送信するデータを判定するためのプログラムコードと、を含むプログラムを記憶することを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000051668A JP3750467B2 (ja) | 2000-02-28 | 2000-02-28 | Usbシミュレーション装置、及び、記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000051668A JP3750467B2 (ja) | 2000-02-28 | 2000-02-28 | Usbシミュレーション装置、及び、記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001245017A JP2001245017A (ja) | 2001-09-07 |
JP3750467B2 true JP3750467B2 (ja) | 2006-03-01 |
Family
ID=18573291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000051668A Expired - Fee Related JP3750467B2 (ja) | 2000-02-28 | 2000-02-28 | Usbシミュレーション装置、及び、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3750467B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4564412B2 (ja) * | 2005-06-21 | 2010-10-20 | 株式会社日立製作所 | ネットワーク装置、ネットワークシステム、および、タフネス性確認方法 |
JP4422134B2 (ja) | 2006-09-29 | 2010-02-24 | Okiセミコンダクタ株式会社 | Usbテスト回路 |
JP6483142B2 (ja) * | 2014-03-14 | 2019-03-13 | グーグル エルエルシー | 周辺機器デバイスのユニバーサルシリアルバスエミュレーション |
JP2017123117A (ja) * | 2016-01-08 | 2017-07-13 | Kddi株式会社 | 通信装置、通信システム、通信方法及びプログラム |
CN116089199B (zh) * | 2023-03-30 | 2023-07-11 | 湖南华自信息技术有限公司 | 一种io端口测试方法及服务器 |
-
2000
- 2000-02-28 JP JP2000051668A patent/JP3750467B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001245017A (ja) | 2001-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100456180B1 (ko) | 주변 기기 및 그 제어 방법 | |
US20010018646A1 (en) | USB simulation apparatus and storage medium | |
CN106126465B (zh) | 一种数据传输方法及装置 | |
CN117112474A (zh) | 一种通用可信的基板管理方法和系统 | |
JP3750467B2 (ja) | Usbシミュレーション装置、及び、記憶媒体 | |
JP3400772B2 (ja) | パケット送受信処理装置 | |
US7702838B2 (en) | Method and apparatus for configuration space extension bus | |
JPH04108242A (ja) | 通信制御装置のデータ転送方式 | |
JP2001312416A (ja) | Usbデータシミュレーション装置、および、記憶媒体 | |
CN107770228B (zh) | 一种基于CPCI主控的1-Wire通信系统及方法 | |
JP4479131B2 (ja) | 制御装置 | |
JP2000010910A (ja) | データ転送制御装置およびデータ転送制御方法ならびに記録媒体 | |
CN109165099B (zh) | 一种电子设备、内存拷贝方法及装置 | |
JP4564412B2 (ja) | ネットワーク装置、ネットワークシステム、および、タフネス性確認方法 | |
JP4666369B2 (ja) | Usbデバイス | |
JP3817741B2 (ja) | 編集装置 | |
JP5494854B1 (ja) | 半導体集積回路及びレジスタリード方法 | |
JP2824890B2 (ja) | Scsiプロトコル制御装置 | |
JP2563082Y2 (ja) | 疑似通信制御装置 | |
JP6542513B2 (ja) | Usb転送装置、usb転送システムおよびusb転送方法 | |
CN115881208A (zh) | 一种存储设备的测试方法及装置 | |
JP3299021B2 (ja) | マルチバスii−scsiバスデータ転送方法および装置 | |
CN117411594A (zh) | 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 | |
JP2001313690A (ja) | 通信制御装置および方法 | |
JPH03260859A (ja) | Cpu間通信のトレースデータ記録方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20040810 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050216 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051025 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051128 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |