(57)【要約】【課題】ＵＳＢコネクタの抜き差しあるいは、コンピュータの再起動をすることなく、容易にＵＳＢ機器の認識を復旧することを目的とする。【解決手段】伝送線４００によりホスト装置２００に接続されるユニバーサルシリアルバス機器１００であって、前記ホスト装置２００から所定の間隔で送信される外部ポーリング信号を受信する外部ポーリング信号受信部１１０と、前記外部ポーリング信号の受信時に初期化されるタイマ１２４と、前記タイマ１２４が所定の時間経過した時に、前記ホスト装置２００に信号を送る伝送線４００の電位を、通常動作における電位と異なる電位にすることにより前記ホスト装置２００に対して前記ＵＳＢ機器１００が取り外されたと認識させる取り外し擬制手段１８０とを備える。【選択図】図１
2008152533.tif 000002
【特許請求の範囲】
【請求項１】
伝送線によりホスト装置に接続されるユニバーサルシリアルバス（ＵＳＢ）機器であって、
前記ホスト装置から所定の間隔で送信される外部ポーリング信号を受信する外部ポーリング信号受信部と、
前記外部ポーリング信号の受信時に初期化されるタイマと、
前記タイマが所定の時間経過した時に、前記ホスト装置にデータを送る伝送線の電位を、通常動作における電位と異なる電位にすることにより前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段とを備える、ＵＳＢ機器。
【請求項２】
請求項１に記載のＵＳＢ機器において、さらに、
前記ホスト装置からの信号により、前記取り外し擬制手段の動作を有効にし、あるいは無効にする機能有効設定部を備える、ＵＳＢ機器。
【請求項３】
請求項２に記載のＵＳＢ機器において、さらに
ホスト装置からの信号により、前記所定の時間を変更する、タイマ時間変更手段を備える、ＵＳＢ機器。
【請求項４】
請求項１から請求項３のいずれか一項に記載のＵＳＢ機器において、さらに、
ＵＳＢ機器内で所定の間隔でリフレッシュ信号を発生するリフレッシュ信号発生部と、
前記リフレッシュ信号により初期化されるハードウェアタイマとを備え、
前記ハードウェアタイマが所定の時間経過した時に前記取り外し擬制手段は、前記伝送線の電位を変える、ＵＳＢ機器。
【請求項５】
伝送線によりホスト装置に接続されるＵＳＢ機器であって、
ＵＳＢ機器内で所定の間隔でリフレッシュ信号を発生するリフレッシュ信号発生部と、
前記リフレッシュ信号によりカウント値が初期化されるハードウェアタイマと、
前記ハードウェアタイマが所定の時間経過した時に前記伝送線の電位を変えて前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段とを備える、ＵＳＢ機器。
【請求項６】
請求項１から請求項５のいずれか一項に記載のＵＳＢ機器において、
前記取り外し擬制手段は、
前記伝送線を、ＵＳＢ機器内部の内部伝送線と、ＵＳＢ機器外部の外部伝送線とに分離するスイッチを備える、ＵＳＢ機器。
【請求項７】
請求項１から請求項５のいずれか一項に記載のＵＳＢ機器において、
前記ＵＳＢ機器がフルスピードモードあるいはロースピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、
前記ＵＳＢ機器の前記伝送線に接続されるプルアップ抵抗と、
前記プルアップ抵抗を前記伝送線から電気的に切り離し、あるいは、前記プルアップ抵抗を前記伝送線に電気的に接続するためのスイッチと、
前記スイッチが前記プルアップ抵抗を前記伝送線から一旦電気的に切り離してから前記プルアップ抵抗を再接続するように前記スイッチを制御するスイッチ制御部とを備える、ＵＳＢ機器。
【請求項８】
請求項１から請求項５のいずれか一項に記載のUSB機器において、
前記ＵＳＢ機器がハイスピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、
前記伝送線に接続される前記プルアップ抵抗よりも小さい所定の抵抗値を有する第２のプルアップ抵抗と、前記第２のプルアップ抵抗を電気的に接続するスイッチと、
前記プルアップ抵抗と前記第２のプルアップ抵抗、あるいは、第２のプルアップ抵抗のみを接続するスイッチ制御手段とを備える、ＵＳＢ機器。
【請求項９】
請求項１から請求項５のいずれか一項に記載のＵＳＢ機器において、
前記ＵＳＢ機器はハイスピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、
前記伝送線に接続されるプルダウン抵抗と、
前記プルダウン抵抗を電気的に切り離すスイッチとを備える、ＵＳＢ機器。
【請求項１０】
請求項１から請求項９のいずれか一項に記載のＵＳＢ機器において、さらに、
前記伝送線の電位を異ならせる際に、前記ＵＳＢ機器をリセットするリセット手段を備える、ＵＳＢ機器。
【請求項１１】
ホスト装置と伝送線を介して前記ホスト装置に接続されるＵＳＢ機器とからなるＵＳＢ接続システムであって、
前記ホスト装置は、前記ＵＳＢ装置に対して所定の間隔で外部ポーリング信号を発信する外部ポーリング信号発信部を備え、
前記ＵＳＢ装置は、
前記外部ポーリング信号を受信する外部ポーリング信号受信部と、
前記外部ポーリング信号の受信時に初期化されるタイマと、
前記タイマが所定の時間経過した時に前記ホスト装置にデータを送る伝送線の電位を、通常動作における電位と異なる電位にすることにより前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段とを備える、
ＵＳＢ接続システム。
【請求項１２】
請求項１１に記載のＵＳＢ接続システムにおいて、
前記ホスト装置は、前記外部ポーリング信号に対する前記ＵＳＢ機器からの応答がない場合には、前記外部ポーリング信号の発信を停止する、ＵＳＢ接続システム。
【請求項１３】
ホスト装置に対してＵＳＢ機器の取り外しを擬制させるＵＳＢ機器の取り外し擬制方法であって、
前記ＵＳＢ機器において、前記ホスト装置にデータを送る伝送線の電位を、通常動作における電位と異なる電位にすることにより、前記ホスト装置に前記ＵＳＢ機器が取り外されたと認識擬制させる、ＵＳＢ機器の取り外し認識擬制方法。
【請求項１４】
ホスト装置がＵＳＢ機器の認識を再実行するＵＳＢ機器の再認識方法であって、
前記ホスト装置は、前記ＵＳＢ機器に所定のコマンドを送信し、
前記所定のコマンドにより前記ＵＳＢ機器に対し前記ホスト装置にデータを送る伝送線の電位を通常動作における電位と異なる電位にさせ、
前記伝送線の変動した電位を検知して前記ＵＳＢ機器がホスト装置から取り外されたと認識擬制し、
前記コマンドにより伝送線の電位変動の所定の時間経過後に前記ＵＳＢ機器を自己リセットさせて再起動させ、
前記ＵＳＢ機器の再起動完了時に前記ＵＳＢ機器が再接続されたと認識してプラグ・アンド・プレイを実行して前記ＵＳＢ機器を認識する、ＵＳＢ機器の再認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユニバーサルシリアルバス（ＵＳＢ）インターフェースによりホスト装置と接続されるＵＳＢ機器及びＵＳＢ機器とホスト装置からなるＵＳＢ接続システムに関する。
【背景技術】
【０００２】
コンピュータと周辺装置の間の伝送方式としてＵＳＢ伝送方式が広く利用されている。ＵＳＢ伝送方式は、ＵＳＢ−ＩＦ（ＵＳＢ  Ｉｍｐｌｅｍｅｎｔｅｒｓ  Ｆｏｒｕｍ）により標準化された規格である。コンピュータの周辺装置の接続時にプラグ・アンド・プレイが実行されてＵＳＢ伝送方式の設定が自動的に行われる。ノイズやソフト異常によりコンピュータが周辺機器を認識できなくなった場合には、一般的に、ＵＳＢコネクタの抜き差しあるいは、コンピュータの再起動を行うことにより、プラグ・アンド・プレイを再実行させて周辺機器の認識を復旧させる。しかし、周辺機器が、例えば、無人機で使用される場合には、ＵＳＢコネクタの抜き差しあるいは、コンピュータの再起動は利用者に不便を与える。かかる解決策として、コンピュータからＵＳＢ伝送線にリセット状態をドライブし、周辺機器の監視回路がＵＳＢ伝送線上のリセット状態を検出した時に周辺機器のマイクロコンピュータにリセット信号を与えて周辺機器をリセットする方法（特許文献１）、ＵＳＢ伝送線とは異なる専用線により周辺機器をリセットする方法（特許文献２）が知られている。
【０００３】
【特許文献１】特開２００２−３７３０３６号公報
【特許文献２】特開２００３−１３１９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＵＳＢ伝送線上のリセット状態を検出するための専用の監視回路が必要になる。また、専用線によりリセットする方法では、別途専用線及び周辺装置の改造が必要となり、コストが増加する。また、ＵＳＢケーブル１本でコンピュータと周辺機器を接続できるというメリットが失われる。
【０００５】
本発明は、上記課題の少なくとも１つを解決するためになされたものであり、ＵＳＢコネクタの抜き差しあるいは、コンピュータの再起動をすることなく、容易にＵＳＢ機器の認識を復旧させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る第１の態様に係るＵＳＢ機器は、伝送線によりホスト装置に接続されるユニバーサルシリアルバス（ＵＳＢ）機器であって、前記ホスト装置から所定の間隔で送信される外部ポーリング信号を受信する外部ポーリング信号受信部と、前記外部ポーリング信号の受信時に初期化されるタイマと、前記タイマが所定の時間経過した時に、前記ホスト装置にデータを送る伝送線の電位を、通常動作における電位と異なる電位にすることにより前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段とを備える。本発明の第１の態様に係るＵＳＢ機器によれば、ホスト装置とＵＳＢ機器の間の通信ができなくなった場合に、所定の時間が経過すれば前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段を備えているので、ＵＳＢ機器を取り外したり、ホスト装置の再起動を実行したりしなくても、前記ＵＳＢ機器が取り外されたと認識させる。
【０００７】
本発明に係る第１の態様に係るＵＳＢ機器は、さらに、前記ホスト装置からの信号により、前記取り外し擬制手段の動作を有効にし、あるいは無効にする機能有効設定部を備える。本発明に係る第１の態様に係るＵＳＢ機器によれば、必要な時に前記取り外し擬制手段の動作を有効にすることができる。
【０００８】
本発明に係る第１の態様に係るＵＳＢ機器は、さらに、ホスト装置からの信号により、前記タイマの所定の時間を変更する、タイマ時間変更手段を備える。本発明に係る第１の態様に係るＵＳＢ機器によれば、ホスト装置により、前記取り外し擬制手段が実行するまでの時間を制御できる。
【０００９】
本発明に係る第１の態様に係るＵＳＢ機器は、さらに、ＵＳＢ機器内で所定の間隔でリフレッシュ信号を発生するリフレッシュ信号発生部と、前記リフレッシュ信号により初期化されるハードウェアタイマとを備え、前記ハードウェアタイマにより所定の時間が経過した時に前記取り外し擬制手段は、前記伝送線の電位を変える。本発明に係る第１の態様に係るＵＳＢ機器によれば、例えば、ＵＳＢ機器内のＣＰＵが暴走してタイマが動作しない場合でも、ハードウェアタイマにより所定の時間が経過したときに、前記取り外し擬制手段により、前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させることができる。
【００１０】
本発明に係る第２の態様に係るＵＳＢ機器は、伝送線によりホスト装置に接続されるＵＳＢ機器であって、ＵＳＢ機器内で所定の間隔でリフレッシュ信号を発生するリフレッシュ信号発生部と、前記リフレッシュ信号によりカウント値が初期化されるハードウェアタイマと、前記ハードウェアタイマにより所定の時間が経過した時に前記伝送線の電位を変えて前記ホスト装置に対して前記ＵＳＢが取り外されたと認識させる取り外し擬制手段とを備える。本発明に係る第２の態様に係るＵＳＢ機器によれば、例えば、ＵＳＢ機器内のＣＰＵが暴走してタイマが動作しない場合でも、ハードウェアタイマにより所定の時間が経過したときに、前記取り外し擬制手段により、前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させることができる。
【００１１】
本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器において、前記取り外し擬制手段は、前記伝送線を、ＵＳＢ機器内部の内部伝送線と、ＵＳＢ機器外部の外部伝送線とに分離するスイッチを備える。本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器によれば、スイッチにより、ＵＳＢ機器外部の外部伝送線とに分離することができる。その結果、外部伝送線の電位が変わるので、ホスト装置に対して、ＵＳＢ機器が取り外されたと認識させることができる。
【００１２】
本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器において、前記ＵＳＢ機器がフルスピードモードあるいはロースピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、前記ＵＳＢ機器の前記伝送線に接続されるプルアップ抵抗と、前記プルアップ抵抗を前記伝送線から電気的に切り離し、あるいは、前記プルアップ抵抗を前記伝送線に電気的に接続するためのスイッチと、前記スイッチが前記プルアップ抵抗を前記伝送線から一旦電気的に切り離してから前記プルアップ抵抗を再接続するように前記スイッチを制御するスイッチ制御部とを備える。本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器によれば、プルアップ抵抗を切り離すことにより、伝送線の電位を変え、ホスト装置に対して、ＵＳＢ機器が取り外されたと認識させることができる。なお、プルアップ抵抗は、ＵＳＢ機器の動作モードを認識するために設けられているプルアップ抵抗を使うことができるので、特別なハードウェアの付加をしなくてもよい。
【００１３】
本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器において、前記ＵＳＢ機器がハイスピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、前記伝送線に接続される前記プルアップ抵抗よりも小さい所定の抵抗値を有する第２のプルアップ抵抗と、前記第２のプルアップ抵抗を電気的に接続するスイッチと、前記プルアップ抵抗と前記第２のプルアップ抵抗、あるいは、第２のプルアップ抵抗のみを接続するスイッチ制御手段とを備える。本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器によれば、ハイスピードモードで動作している場合には、プルアップ抵抗が切り離されているので、逆にプルアップ抵抗を接続することにより伝送線の電位を変え、ホスト装置に対して、ＵＳＢ機器が取り外されたと認識させることができる。この場合、プルアップ抵抗は、ＵＳＢ機器の動作モードを認識するために設けられているプルアップ抵抗を使うと、伝送線の電位の変化が少ないので、より抵抗値の小さい第２のプルアップ抵抗、あるいは、前記プルアップ抵抗と第２のプルアップ抵抗の双方を接続することが好ましい。
【００１４】
本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器において、前記ＵＳＢ機器はハイスピードモードのＵＳＢ機器の場合には、前記取り外し擬制手段は、前記伝送線に接続されるプルダウン抵抗と、前記プルダウン抵抗を電気的に切り離すスイッチとを備える。本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器によれば、プルダウン抵抗を切り離しても、伝送線の電位を変え、ホスト装置に対して、ＵＳＢ機器が取り外されたと認識させることができる。
【００１５】
本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器において、さらに、前記伝送線の電位を異ならせる際に、前記ＵＳＢ機器をリセットするリセット手段を備える。本発明に係る第１の実施態様または本発明に係る第２の態様に係るＵＳＢ機器によれば、ホスト装置がＵＳＢ機器を認識できなくなった場合には、ＵＳＢ機器のＣＰＵ等に異常が発生している可能性があるので、ＵＳＢ機器をリセットすることが好ましい。
【００１６】
本発明に係る第３の態様に係るＵＳＢ接続システムは、ホスト装置と伝送線を介して前記ホスト装置に接続されるＵＳＢ機器とからなるＵＳＢ接続システムであって、前記ホスト装置は、前記ＵＳＢ装置に対して所定の間隔で外部ポーリング信号を発信する外部ポーリング信号発信部を備え、前記ＵＳＢ装置は、前記外部ポーリング信号を受信する外部ポーリング信号受信部と、前記外部ポーリング信号の受信時に初期化されるタイマと、前記タイマが所定の時間経過した時に、前記ホスト装置にデータを送る伝送線の電位を、通常動作における電位と異なる電位にすることにより前記ホスト装置に対して前記ＵＳＢが取り外されたと認識させる取り外し擬制手段とを備える。本発明に係る第３の態様に係るＵＳＢ接続システムによれば、ホスト装置とＵＳＢ機器の間の通信ができなくなった場合に、所定の時間が経過すれば前記ホスト装置に対して前記ＵＳＢ機器が取り外されたと認識させる取り外し擬制手段を備えているので、ＵＳＢ機器を取り外さなくても、前記ＵＳＢ機器が取り外されたと認識させることができる。
【００１７】
本発明に係る第３の態様に係るＵＳＢ接続システムにおいて、前記ホスト装置は、前記外部ポーリング信号に対する前記ＵＳＢ機器からの応答がない場合には、前記外部ポーリング信号の発信を停止する。本発明に係る第３の態様に係るＵＳＢ接続システムによれば、外部ポーリング信号に対する前記ＵＳＢ機器からの応答がない場合には、外部ポーリング信号の発信を停止し、ＵＳＢ機器に対して、前記取り外し擬制手段による、前記伝送線の電位の変更を実施させることができる。
【００１８】
本発明に係る第４の態様に係るＵＳＢ機器の取り外し擬制方法は、ホスト装置に対してＵＳＢ機器の取り外しを擬制させるＵＳＢ機器の取り外し擬制方法であって、前記ＵＳＢ機器において、前記ホスト装置にデータを送る伝送線の電位通常動作における電位と異なる電位にすることにより、前記ホスト装置に前記ＵＳＢ機器が取り外されたと認識擬制させる。本発明に係る第４の態様に係るＵＳＢ機器の取り外し擬制方法によれば、前記ＵＳＢ機器において、前記ホスト装置と前記ＵＳＢ機器の間でデータのやり取りを行うための伝送線の電位を、通常動作における電位と異なる電位にすることにより、前記ホスト装置に前記ＵＳＢ機器が取り外されたと認識擬制させることができる。
【００１９】
本発明に係る第５の実施態様に係るＵＳＢ機器に再認識方法は、ホスト装置がＵＳＢ機器の認識を再実行するＵＳＢ機器の再認識方法であって、前記ホスト装置は、前記ＵＳＢ機器に所定のコマンドを送信し、前記所定のコマンドにより前記ＵＳＢ機器に対し前記ホスト装置にデータを送る伝送線の電位を通常動作における電位と異なる電位にさせ、前記伝送線の変動した電位を検知して前記ＵＳＢ機器がホスト装置から取り外されたと認識擬制し、前記コマンドにより伝送線の電位変動の所定の時間経過後に前記ＵＳＢ機器を自己リセットさせて再起動させ、前記ＵＳＢ機器の再起動完了時に前記ＵＳＢ機器が再接続されたと認識してプラグ・アンド・プレイを実行して前記ＵＳＢ機器を認識する。本発明に係る、第５の実施例によれば、ホスト装置は、ＵＳＢ機器を認識できている場合でも、コマンドを送ることにより、ＵＳＢ機器をリセットして再認識することができる。
【発明を実施するための最良の形態】
【００２０】
図１から図３を用いて本実施例について説明する。図１は、本実施例に係るＵＳＢ接続システム１０のブロック図である。図２は、本実施例に係るＵＳＢ機器１００のプルアップ抵抗回りを詳しく説明する説明図である。図３は伝送線へのプルアップ抵抗の接続とＵＳＢ機器１００の動作モードの関係を説明する説明図である。
【００２１】
ＵＳＢ接続システム１０は、ＵＳＢ機器１００とホスト装置２００とＵＳＢハブ３００とＵＳＢケーブル４００とを備える。
【００２２】
ＵＳＢ機器１００は、ＵＳＢインターフェースによりホスト装置２００に接続される周辺装置であり、例えば、現金自動預け払い機の利用者を監視する監視用のＵＳＢカメラである。ＵＳＢ機器１００は、ＣＰＵ１１０と、ＲＯＭ１２０と、ＲＡＭ１３０と、ウォッチドッグタイマ回路１４０と、汎用出力回路１５０と、リセット回路１６０と、ＵＳＢデバイスコントローラ１７０と、プルアップ抵抗オン／オフ回路１８０と、ＵＳＢコネクタ１０２を備える。
【００２３】
ＣＰＵ１１０は、ＵＳＢ機器１００の全体の動作を制御する中央処理装置である。ＲＯＭ１２０は、例えば、ファームソフト１２２とタイマプログラム１２４を記憶する。ファームソフト１２２は、ＵＳＢ機器１００の基本的な制御を行う。タイマプログラム１２４は、所定の時間に所定の動作をさせるために時間を計測する。本実施例では、例えば、ホスト装置からの外部ポーリング信号により、タイマプログラム１２４のカウント値に所定の値が設定され、タイムアップ時に、ＵＳＢ機器の認識復旧のための処理が実行される。なお、本実施例では、タイマプログラム１２４を用いているが、外部ポーリング信号によりリフレッシュされるものであれば、例えば、ハードウェアによるタイマを用いてもよい。ＲＡＭ１３０は書き換え可能な揮発性メモリであり、例えば、ＣＰＵ１１０が処理するデータを一時記憶する。
【００２４】
ウォッチドッグタイマ回路１４０は、例えば、ハードウェアによるタイマ回路である。
ウォッチドッグタイマ回路１４０は、ＵＳＢ機器１００への通電により動作する。本実施例では、例えば、ＣＰＵ１１０からのリフレッシュ信号により、ウォッチドッグタイマ回路１４０のカウント値に所定の値が設定され、タイムアップしたときに、ＵＳＢ機器１００の認識復旧のための処理が実行される。
【００２５】
汎用出力回路１５０は、ＵＳＢ機器１００内部の回路あるいはＣＰＵにリセット信号等の各種信号を送る回路である。リセット回路１６０は、ＵＳＢ機器１００を電源投入時の状態に戻すためのリセット信号を発信する回路である。
【００２６】
ＵＳＢデバイスコントローラ１７０は、ホスト装置２００と通信を行うための制御装置であり、通信用のトランシーバを備える。
【００２７】
プルアップ抵抗オン／オフ回路１８０は、プルアップ抵抗を伝送線から電気的に切り離しあるいは接続する回路である。本実施例では、プルアップ抵抗オン／オフ回路１８０とＵＳＢデバイスコントローラ１７０とを分けているが、ＵＳＢデバイスコントローラ１７０にプルアップ抵抗をオン／オフ回路を内蔵させてもよい。
【００２８】
本実施例において、プルアップ抵抗オン／オフ回路１８０は、プルアップ抵抗Ｒ１とＭＯＳトランジスタＴｒ１とスイッチコントローラ１８２を備える。プルアップ抵抗Ｒ１は、Ｄ＋伝送線４０２をプルアップする。
【００２９】
プルアップ抵抗は、ＵＳＢ機器の動作モードを決めるために使われる。ＵＳＢの規格によれば、動作モードは、ＵＳＢ機器１００のホスト装置２００への接続時におけるＵＳＢ機器１００の伝送線へのプルアップ抵抗の接続状態に基づいて決められる。例えば、本実施例では、プルアップ抵抗Ｒ１を備えており、Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１が接続される。この場合の動作モードは、フルスピードモード（１２Ｍｂｐｓ）になる。Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１が接続されない場合には、ＵＳＢ機器１００は未接続であると判断される。また、Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１が接続されることによりフルスピードモードとして認識された後、デバイスＣｈｉｒｐ、ハブＣｈｉｒｐと呼ばれる所定のプロトコルが実行された場合には、動作モードは、ハイスピードモード（４８０Ｍｂｐｓ）になる。ハイスピードモードではＤ＋伝送線４０２にプルアップ抵抗Ｒ１が接続されていると、信号の振幅が大きくなり、４８０Ｍｂｐｓという通信速度を実現できない。したがって、ハイスピードモードではＤ＋伝送線４０２のプルアップ抵抗Ｒ１は切り離される。
【００３０】
一方、プルアップ抵抗Ｒ１とＭＯＳトランジスタＴｒ１の代わりに、Ｄ−伝送線４０４に接続されるプルアップ抵抗Ｒ２とＭＯＳトランジスタＴｒ２を備えるＵＳＢ機器も存在する。プルアップ抵抗Ｒ２を備えているＵＳＢ機器では、Ｄ−伝送線４０４にプルアップ抵抗Ｒ２が接続されると、動作モードはロースピードモード（１．５Ｍｂｐｓ）になる。なお、Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１を接続し、Ｄ−伝送線４０４にプルアップ抵抗Ｒ２を接続することは、ＵＳＢ規格では定められていない。したがって、通常、１つのＵＳＢ機器は、Ｄ＋伝送線４０２に接続されるプルアップ抵抗Ｒ１あるいはＤ−伝送線４０４に接続されるプルアップ抵抗Ｒ２のいずれかを備える。なお、プルアップ抵抗Ｒ１とプルアップ抵抗Ｒ２の両方を備え、どちらを接続するか、スイッチで切り替えるようにしてもよい。
【００３１】
ＭＯＳトランジスタＴｒ１は、プルアップ抵抗Ｒ１をＤ＋伝送線４０２に電気的に接続するスイッチとして働く。スイッチコントローラ１８２は、ウォッチドッグタイマ回路１４０あるいは汎用出力回路１５０からの信号を受けてＭＯＳトランジスタＴｒ１のオン／オフを制御する。
【００３２】
本実施例では、ＣＰＵ１１０と、ＲＯＭ１２０と、ＲＡＭ１３０と、ウォッチドッグタイマ回路１４０と、汎用出力回路１５０と、リセット回路１６０と、ＵＳＢデバイスコントローラ１７０は、それぞれ別個のデバイスとして説明しているが、例えば、少なくとも１つをＣＰＵ１１０に内蔵するようにしてもよい。
【００３３】
ホスト装置２００は、例えば、現金自動預け払い機内のコンピュータである。ホスト装置２００は、ＣＰＵ２１０と、ハードディスク２２０と、ＲＡＭ２３０と、ＵＳＢホストコントローラ２７０とＵＳＢコネクタ２０４を備える。
【００３４】
ＣＰＵ２１０は、ホスト装置２００の全体の動作を制御する中央処理装置である。ハードディスク２２０は、例えば、アプリケーション２２２とドライバソフト２２４とタイマプログラム２２６を記憶する。アプリケーション２２２は、特定の目的を果たすための応用プログラムである。ドライバソフト２２４は、周辺機器の制御を行うためのホスト装置２００側のプログラムである。タイマプログラム２２６は、所定の時間に所定の動作をさせるために時間を計測する。なお、本実施例では、タイマプログラム２２６を用いているが、例えば、ハードウェアによるタイマを用いてもよい。本実施例では、タイマプログラム２２６は、ＣＰＵ２１０に対して所定の時間が経過するごとにタイムアップ信号を送る。ＣＰＵ２１０は、タイムアップ信号を受信するとＵＳＢ機器１００に対する外部ポーリング信号を発信する。ＲＡＭ２３０は書き換え可能な揮発性メモリであり、例えば、ＣＰＵ２１０が処理するデータを一時記憶する。
【００３５】
ＵＳＢホストコントローラ２７０は、ＵＳＢ機器１００と通信を行うための制御装置であり、通信用のトランシーバを備える。ＵＳＢコネクタ２０４には、ＵＳＢ機器１００と接続するためのＵＳＢケーブル４００が接続される。
【００３６】
本実施例ではハードディスク２２０を用いているが、例えば、フラッシュメモリを用いてもよい。また、本実施例では、ＲＡＭ２３０とＵＳＢホストコントローラ２７０は、それぞれ別個のデバイスとして説明しているが、例えば、少なくとも１つをＣＰＵ２１０に内蔵するようにしてもよい。なお、ハードディスク２２０の変わりにフラッシュメモリを用いた場合には、フラッシュメモリもＣＰＵ２１０に内蔵してもよい。
【００３７】
ＵＳＢハブ３００は、複数のＵＳＢ機器をホスト装置２００にカスケード接続する場合の集線装置である。本実施例では、ＵＳＢハブ３００は、ＵＳＢ機器１００とホスト装置２００を接続する際の中継を行う。ＵＳＢハブ３００は、ホスト装置２００側のＵＳＢケーブル４００が接続されるＵＳＢコネクタ３０２とＵＳＢ機器１００側のＵＳＢケーブル４００が接続されるＵＳＢコネクタ３０４を備える。なお、ＵＳＢ機器を１台しか用いない場合には、ＵＳＢハブ３００を用いず、ＵＳＢ機器１００とホスト装置２００とをＵＳＢケーブル４００により直結してもよい。
【００３８】
ＵＳＢケーブル４００は、ＵＳＢ装置１００とＵＳＢハブ３００との間、あるいは、ＵＳＢハブ３００とホスト装置２００との間、あるいは、ＵＳＢハブ３００を用いない場合にはＵＳＢ装置１００とホスト装置２００との間を結ぶケーブルである。ＵＳＢケーブル４００は、データが伝送されるＤ＋伝送線４０２とＤ−伝送線４０４とＵＳＢ装置１００に電源を供給するためのＶＳＵＢ線４０６とグランドたるＧＮＤ線４０８の４本のラインを備える。
【００３９】
図４及び図５を用いて、ＵＳＢ機器１００の動作について説明する。図４は、タイマプログラムがタイムアップしてＵＳＢ機器の復旧処理が実行される場合の動作を示すフローチャートである。図５は、ウォッチドッグタイマ回路がタイムアップしてＵＳＢ機器の復旧処理が実行される場合の動作を示すフローチャートである。なお、図４及び図５に示すフローチャートの２つの動作は、それぞれ独立に実行される。したがって、タイマプログラム１２４あるいはウォッチドッグタイマ回路１４０のいずれかにおいてタイムアップが発生した場合には、ＵＳＢ機器１００の認識復旧のための処理が実行される。
【００４０】
（１）タイマプログラムがタイムアップしてＵＳＢ機器の復旧処理が実行される場合
ＵＳＢ機器１００をホスト装置２００に接続すると、ＵＳＢ機器１００の初期化が実行される（ステップＳ１００）。初期化では以下の動作が実行される。ＵＳＢ機器１００がホスト装置２００に接続された時点では、Ｄ＋伝送線４０２及びＤ−伝送線４０４には、プルアップ抵抗は接続されない。その後、ＵＳＢ機器１００に電力が供給され、ＵＳＢ機器１００が動作可能となった時点でＤ＋伝送線４０２またはＤ−伝送線４０４にプルアップ抵抗が接続される。上記フローは、ＵＳＢの規格に基づくものであり、それぞれの動作タイミングについては、ＵＳＢの規格に定められている。ホスト装置２００は、Ｄ＋伝送線４０２及びＤ−伝送線４０４の信号を確認することによりＵＳＢ機器１００の動作モードを認識する。本実施例では、Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１が接続されるので、ホスト装置２００は、動作モードがフルスピードモードであると認識する。その後、ホスト装置２００でプラグ・アンド・プレイが実行され、ＵＳＢの伝送設定が完了する。なお、ホスト装置２００との接続には、ＵＳＢハブ３００を介した接続も含む。
【００４１】
ＵＳＢ機器１００のＣＰＵ１１０は、ホスト装置２００から、タイマ時間データを受信する（ステップＳ１０５）。その結果、ホスト装置２００の負荷の状況に応じてタイマ時間を変えることができる。次に、ＣＰＵ１１０は、ホスト装置２００から、本リセット機能の有効／無効データを受信する（ステップＳ１１０）。その結果、ホスト装置２００の負荷の状況に応じて本リセット機能の有効／無効を決めることができる。
【００４２】
ＣＰＵ１１０は、タイマ時間データ及び本リセット機能の有効／無効データをＲＡＭ１３０に格納する（ステップＳ１１５）。ＣＰＵ１１０は、本リセット機能が有効か否かを判断する（ステップＳ１２０）。ＣＰＵ１１０は、本リセット機能が有効でない場合には（ステップＳ１２０、Ｎ）、タイマプログラムを実行せず終了する。
【００４３】
ＣＰＵ１１０は、本リセット機能が有効な場合には、タイマプログラム１２４にタイマ時間データを設定する（ステップＳ１２５）。ＣＰＵ１１０は、タイマプログラム１２４によるカウントをスタートする（ステップＳ１３０）。ＣＰＵ１１０は、タイマプログラム１２４のタイマの値が設定の値に達してタイムアップするまで外部ポーリング信号の受信を待機する（ステップＳ１３５）。ＣＰＵ１１０は、タイマプログラム１２４のタイマがタイムアップする前に（ステップＳ１３５、Ｎ）、ホスト装置２００からの外部ポーリング信号を受信した場合には（ステップＳ１４０、Ｙ）、タイマプログラム１２４のタイマの値を設定し直す（ステップＳ１２５）。この場合、タイマプログラム１２４のタイマはタイムアップしない。以下、同様の動作を繰り返す。
【００４４】
例えば、ＵＳＢ伝送線に異常等が発生した場合には、ＣＰＵ１１０は、外部ポーリング信号を受信できない。その場合には、ＣＰＵ１１０は、タイマプログラム１２４のタイマの値を設定し直すことができない。その結果、タイマプログラム１２４は、設定したタイマの値をカウントし終わるとタイムアップする（ステップＳ１３５、Ｙ）。ＣＰＵ１１０は、タイマプログラム１２４がタイムアップした場合には、汎用出力回路１５０に対して、Ｄ＋伝送線４０２に接続されているプルアップ抵抗Ｒ１を切り離させる電圧を出力する（ステップＳ１４５）。その結果、Ｄ＋伝送線４０２に接続されているプルアップ抵抗Ｒ１が切り離され、Ｄ＋伝送線４０２の信号の電位が変わる。これによりホスト装置２００は、ＵＳＢ機器１００が取り外されたと認識する。その後、プルアップ抵抗Ｒ１を接続すると（ステップＳ１５０）。ホスト装置２００は、ＵＳＢ機器１００が再接続されたと判断し、プラグ・アンド・プレイを実行して、ＵＳＢの伝送設定を行い、ＵＳＢ機器１００を再認識する。
【００４５】
本実施例によれば、例えば、ＣＰＵ１１０は、ＵＳＢ伝送線の異常等により、外部ポーリング信号を受信できなくなった場合には、タイマプログラム１２４のタイマの値を設定し直さない。その結果、ＣＰＵ１１０は、所定の時間が経過すれば、汎用出力回路１５０に、プルアップ抵抗Ｒ１をＤ＋伝送線４０２から切り離させ、その後、再接続させる。このとき、プルアップ抵抗Ｒ１を切り離すスイッチは、ＵＳＢ機器１００の初期化の時に、プルアップ抵抗を接続したスイッチを用いることができる。したがって、ＵＳＢ機器１００に特別なハードウェアを付加することなく、ホスト装置２００に対して、ＵＳＢ機器１００が一旦取り外され、その後、再接続されたと判断させることができる。ホスト装置２００はプラグ・アンド・プレイを再実行して、ＵＳＢ機器１００を再認識する。
【００４６】
（２）ウォッチドッグタイマ回路がタイムアップしてＵＳＢ機器の復旧処理が実行される場合
ＵＳＢ機器１００をホスト装置２００に接続すると、ＵＳＢ機器１００の初期化が実行される（ステップＳ２００）。このステップについては、上述したリフレッシュ信号によりタイマがリセットされる場合と同じであるので、説明を省略する。
【００４７】
ＣＰＵ１１０は、ＵＳＢ機器１００の初期化が済むと、リフレッシュ信号の発生を開始する（ステップＳ２０５）。ＣＰＵ１１０は、所定の間隔でリフレッシュ信号を発生する。一方、ＵＳＢ機器１００の初期化が済むと、ウォッチドッグタイマ回路１４０も、初期状態にリセットされる（ステップＳ２１０）。その後、ウォッチドッグタイマ回路１４０はカウントを開始する（ステップＳ２１５）。
【００４８】
ウォッチドッグタイマ回路１４０は、タイムアップするまでリフレッシュ信号の受信を待機する（ステップＳ２２０）。ウォッチドッグタイマ回路１４０は、タイムアップする前に（ステップＳ２２０、Ｎ）、ＣＰＵ１１０からのリフレッシュ信号を受信した場合には（ステップＳ２２５、Ｙ）、ウォッチドッグタイマ回路１４０タイマの値を設定し直す（ステップＳ１２５）。この場合、ウォッチドッグタイマ回路１４０のタイムアップは起こらない。以下、同様の動作を繰り返す。
【００４９】
ＣＰＵ１１０は、暴走などにより異常が生じると、リフレッシュ信号を発生できなくなる。その結果、ウォッチドッグタイマ回路１４０は、リフレッシュ信号を受信できなくなる。ウォッチドッグタイマ回路１４０は、リフレッシュ信号を受信できなくなった場合には、タイマの値を設定し直すことができない。その結果、ウォッチドッグタイマ回路１４０は、設定した時間が経過するとタイムアップする（ステップＳ２２０、Ｙ）。
【００５０】
ウォッチドッグタイマ回路１４０は、タイムアップした場合には、リセット回路１６０に対してタイムアップ信号を送る。リセット回路１６０は、タイムアップ信号を受信すると、ＣＰＵ１１０、ＵＳＢデバイスコントローラに対してリセット信号を送り、ＵＳＢ機器をリセットする（ステップＳ２３０）。ウォッチドッグタイマ回路１４０がタイムアップする場合は、ＣＰＵ１１０が暴走するなどＵＳＢ機器１００内部で異常が発生している可能性が強いため、ＵＳＢ機器をリセットしてＵＳＢ機器１００内部の異常を解消する。
【００５１】
次に、ウォッチドッグタイマ回路１４０は、プルアップ抵抗オン／オフ回路１８０に対して、Ｄ＋伝送線４０２に接続されているプルアップ抵抗Ｒ１を切り離させる（ステップＳ２３５）。この場合、汎用出力回路１５０にプルアップ抵抗Ｒ１の切り離しを制御させてもよい。その結果、Ｄ＋伝送線４０２の信号の電位が変わる。これによりホスト装置２００は、ＵＳＢ機器１００が取り外されたと認識する。その後、プルアップ抵抗Ｒ１を接続すると（ステップＳ２４０）。ホスト装置２００は、ＵＳＢ機器１００が再接続されたと判断し、プラグ・アンド・プレイを実行して、ＵＳＢ機器１００を再認識する。なお、本実施例では、ＵＳＢ機器のリセット後にプルアップ抵抗Ｒ１を切り離しているが、プルアップ抵抗Ｒ１の切り離しとＵＳＢ機器のリセットはどちらを先に実行してもよい。
【００５２】
本実施例によれば、タイマとして電源が供給されていればカウントを実行するハードウェアによるウォッチドッグタイマ回路１４０を用いている。その結果、例えば、ＣＰＵ１１０の異常等が発生し、ＣＰＵ１１０がリフレッシュ信号を発生できなくなった場合には、ウォッチドッグタイマ回路１４０のタイマの値の再設定がなされない。ウォッチドッグタイマ回路１４０は、所定の時間が経過すればタイムアップし、プルアップ抵抗オン／オフ回路１８０に対してプルアップ抵抗Ｒ１をＤ＋伝送線４０２から切り離させ、その後再接続させる。その結果、ホスト装置２００はＵＳＢ機器１００が一旦、取り外されて再接続されたと判断し、プラグ・アンド・プレイを実行する。すなわち、本実施例によれば、ＵＳＢ機器１００は、ＣＰＵ１１０に暴走等の異常が発生した場合であっても、ホスト装置２００にプラグ・アンド・プレイを再実行させることができる。
【００５３】
本実施例では、ＵＳＢ機器は、Ｄ＋伝送線４０２にプルアップ抵抗が接続されるフルスピードモードのＵＳＢ機器を例にとり説明したが、Ｄ−伝送線４０４にプルアップ抵抗が接続されるロースピードモードのＵＳＢ機器であっても同様である。なお、ハイスピードモードで動作するＵＳＢ機器については、後述する。
【００５４】
図６を用いて、ホスト装置２００の動作について説明する。図６は、ホスト装置２００の動作を説明するフローチャートである。
【００５５】
ホスト装置２００のＣＰＵ２１０は、ＵＳＢ機器１００が接続されたことを認識するとプラグ・アンド・プレイを実行する。その後、ＣＰＵ２１０は、ハードディスク２２０から、タイマ時間データ及び本リセット機能の有効／無効データが書き込まれた設定ファイルを読み込む（ステップＳ３００）。ＣＰＵ２１０は、ＵＳＢ機器１００に対して、タイマ時間データを送信し（ステップＳ３０５）、次いで、本リセット機能の有効／無効データを送信する（ステップＳ３１０）。
【００５６】
ＣＰＵ２１０は、本リセット機能が有効か否かを判断する（ステップＳ３１５）。ＣＰＵ２１０は、本リセット機能が有効でない場合には（ステップＳ３１５、Ｎ）、本リセット機能に関する処理を終了する。
【００５７】
ＣＰＵ２１０は、本リセット機能が有効な場合には（ステップＳ３１５、Ｙ）、タイマプログラム２２６のカウントをリセットし（ステップＳ３２０）、その後、タイマプログラム２２６のカウントをスタートする（ステップＳ３２５）。ＣＰＵ２１０は、Ｄ＋伝送線４０２及びＤ−伝送線４０４をモニタし、プルアップ抵抗の切断／再接続を確認する（ステップＳ３３０）。ＣＰＵ２１０は、プルアップ抵抗の切断／再接続を確認できない場合には（ステップＳ３３０、Ｎ）、タイムアップするまで待機する（ステップＳ３３５）。
【００５８】
ＣＰＵ２１０は、タイマプログラム２２６のタイムアップを確認すると、ＵＳＢ機器に外部ポーリング信号を送信する（ステップＳ３４０）。ＣＰＵ２１０は、ＵＳＢ機器１００の取り外し／再接続処理を行うか判断する（ステップＳ３４５）。ＣＰＵ２１０は、ＵＳＢ機器１００の取り外し／再接続処理を行わない場合には、（ステップＳ３４５、Ｎ）、ステップＳ３２０に戻り、同様の動作を繰りかえす。
【００５９】
ＣＰＵ２１０は、ＵＳＢ機器１００の取り外し／再接続処理を行う場合には（ステップＳ３４５、Ｙ）、例えば、ＵＳＢ機器１００に対して外部ポーリング信号を送らない。ここで、ＵＳＢ機器１００の取り外し／再接続処理を行う場合として、例えば、先に送った外部ポーリング信号に対するＵＳＢ機器１００の応答が無かった場合が挙げられる。ＣＰＵ２１０は、Ｄ＋伝送線４０２及びＤ−伝送線４０４をモニタしプルアップ抵抗の切断／再接続を待機する（ステップＳ３５０）。上述したように、ＣＰＵ１１０は、ホスト装置２００からの外部ポーリング信号を受信できなくなった時は、プルアップ抵抗の切断／再接続を実行する（ステップＳ１３５〜Ｓ１５０）。したがって、ＣＰＵ２１０が、ＵＳＢ装置１００に対する外部ポーリング信号の発信を停止した場合には、いずれプルアップ抵抗の切断／再接続が実行される。ＣＰＵ２１０は、Ｄ＋伝送線４０２及びＤ−伝送線４０４をモニタし、プルアップ抵抗の切断／再接続を確認すると（ステップＳ３５０、Ｙ）、プラグ・アンド・プレイを実行する（ステップＳ３５５）。
【００６０】
本実施例によれば、ＵＳＢ機器１００の取り外し／再接続処理を行う場合には、ＣＰＵ２１０はＵＳＢ機器１００に対して外部ポーリング信号を送信しない。その結果、ＵＳＢ機器１００は外部ポーリング信号を受信できなくなる。よって、ＣＰＵ２１０は、ＵＳＢ機器１００に対して、プルアップ抵抗の切断／再接続を実行させることができる。したがって、ＣＰＵ２１０は、プルアップ抵抗が再接続された時に、プラグ・アンド・プレイを再実行できる。その結果、ホスト装置２００は、ＵＳＢ機器１００の認識を復旧することが可能となる。
【００６１】
図７を用いて、ＵＳＢ伝送の異常箇所とそれに対して実行される復旧方法について説明する。図７は、ＵＳＢ伝送の異常箇所とそれに対して実行される復旧方法を示す説明図である。
【００６２】
ＵＳＢホストコントローラ２７０あるいはＵＳＢデバイスコントローラ１７０に異常がある場合には、ホスト装置２００とＵＳＢ機器の間の通信ができなくなる。したがって、ホスト装置２００からＵＳＢ機器１００に対して外部ポーリング信号が送られない。その結果、ＵＳＢ機器１００は、外部ポーリング信号によるタイマのリセットが実行できなくなり、プルアップ抵抗の切断／再接続する。その結果、ホスト装置２００はプラグ・アンド・プレイを再実行し、ＵＳＢ機器を復旧できる。
【００６３】
ＣＰＵ１１０が暴走するなど、ＣＰＵ１１０に異常がある場合、リフレッシュ信号が発生しなくなる。その結果、ＵＳＢ機器１００は、リフレッシュ信号によるウォッチドッグタイマのリセットが実行できなくなり、プルアップ抵抗の切断／再接続する。その結果、ホスト装置２００はプラグ・アンド・プレイを再実行し、ＵＳＢ機器を復旧できる。
【００６４】
なお、ＵＳＢホストコントローラ２７０あるいはＵＳＢデバイスコントローラ１７０の異常及びＣＰＵ１１０の異常の両方が起こる場合もあるが、少なくともいずれか一方の異常に対する処理が実行されれば、プルアップ抵抗の切断／再接続が実行される。その結果、ホスト装置２００はプラグ・アンド・プレイを再実行し、ＵＳＢ機器を復旧できる。
【００６５】
ＵＳＢホストコントローラ２７０あるいはＵＳＢデバイスコントローラ１７０あるいはＣＰＵ１１０は正常であり、ＵＳＢ機器１００のレスポンスに異常がある場合には、ＣＰＵ２１０はＣＰＵ１１０に対して、コマンドのリトライやリセットコマンド等を実行できる。したがって、ホスト装置２００は、プラグ・アンド・プレイを再実行せずに、ＵＳＢ機器の認識を復旧させることができる。
【００６６】
（３）ＵＳＢ機器１００がハイスピードモードで動作している場合
図８を用いて、ハイスピードモード対応のＵＳＢ機器を接続するときのＵＳＢ接続システム１０の伝送線回りの構成について説明する。図８は、ハイスピードモード対応のＵＳＢ機器を接続するときのＵＳＢ接続システムの伝送線回りを詳しく説明する説明図である。なお、すでに説明している構成については説明を省略する。ＵＳＢデバイスコントローラ１７０は、ドライバ１７２とレシーバ１７４を備える。ドライバ１７２は、ＵＳＢ機器１００からホスト装置２００にデータを送る。ドライバ１７２がデータを送る場合は、ＨＳデータ（Ｈｉ  Ｓｐｅｅｄデータ）の値に基づいて、Ｄ＋伝送線４０２あるいはＤ−伝送線４０４のいずれかに所定の電流を流す。所定の電流量は、ＵＳＢ規格で定められており、典型値１７．７８ｍＡである。ＯＥ信号（Ｏｕｔｐｕｔ  Ｅｎａｂｌｅ信号）は、データを送信するかデータを受信するかを制御する信号である。ＯＥ信号によりドライバ１７２がオンにされればデータの送信となり、ＯＥ信号によりドライバ１７２がオフにされればデータの受信となる。レシーバ１７４は、Ｄ＋伝送線４０２及びＤ−伝送線４０４の電位を比較して、ホスト装置２００から受信したデータが０あるいは１のいずれであるか判断する。
【００６７】
Ｄ＋伝送線４０２には、プルダウン抵抗Ｒ６が接続されている。プルダウン抵抗Ｒ６は、ＭＯＳトランジスタＴｒ６によりＤ＋伝送線４０２に電気的に接続され、あるいは切り離される。なお、Ｄ−伝送線４０４にも同じように、プルダウン抵抗Ｒ７とＭＯＳトランジスタＴｒ７が接続されている。ＭＯＳトランジスタＴｒ６とＭＯＳトランジスタＴｒ７のオン／オフはスイッチコントローラ１８２により制御される。
【００６８】
ＵＳＢホストコントローラ２７０は、ドライバ２７２とレシーバ２７４を備える。ドライバ２７２とレシーバ２７４の動作については、ドライバ１７２とレシーバ１７４の動作と同じなので、説明を省略する。また、ホスト装置内のＤ＋伝送線４０２にはプルダウン抵抗Ｒ４とＭＯＳトランジスタＴｒ４、Ｄ−伝送線４０４にはプルダウン抵抗Ｒ５とＭＯＳトランジスタＴｒ５がそれぞれ接続されている。
【００６９】
ハイスピードモード動作時には、プルアップ抵抗Ｒ１はＤ＋伝送線４０２から切り離され、プルダウン抵抗Ｒ４及びＲ６はＤ＋伝送線に接続され、プルダウン抵抗Ｒ５及びＲ７はＤ−伝送線４０４に接続されている。なお、プルアップ抵抗Ｒ１の大きさ及びプルダウン抵抗Ｒ４〜Ｒ７の大きさは規格で決められており、それぞれ１．５ｋΩ及び４５Ωである。したがって、ハイスピードモード動作時のＤ＋伝送線４０２とＤ−伝送線４０４の信号の電位は約４００ｍＶ（≒１７．７８ｍＡ＊４５Ω／２）となる。
【００７０】
ここで、ＵＳＢ機器１００を取り外すと、ホスト装置２００側から見れば、Ｄ＋伝送線４０２からプルダウン抵抗Ｒ６が無くなり、Ｄ−伝送線４０４からプルダウン抵抗Ｒ７が無くなる。このときのＤ＋伝送線４０２とＤ−伝送線４０４の信号の電位は約８００ｍＶ（≒１７．７８ｍＡ＊４５Ω）となる。ホスト装置２００は、Ｄ＋伝送線４０２とＤ−伝送線４０４の信号の電位の増加を検知して、ＵＳＢ機器１００が取り外されたことを認識する。したがって、ハイスピードモードにおいては、Ｄ＋伝送線４０２とＤ−伝送線４０４の信号の電位を大きくさせれば、ホスト装置２００に対して、ＵＳＢ機器１００が取り外されたと擬制させることができる。
【００７１】
図９を用いて、Ｄ＋伝送線４０２をリレースイッチにより内部Ｄ＋伝送線４０２ａから切り離す場合を説明する。図９は、Ｄ＋伝送線４０２をリレースイッチにより内部Ｄ＋伝送線４０２ａから切り離す場合を説明する説明図である。なお、既に説明している構成については、説明を省略する。Ｄ＋伝送線４０２は、Ｄ＋伝送線４０２とＵＳＢ機器１００内部のＤ＋伝送線４０２ａとに、リレー１８４により切り離し可能に接続される。Ｄ−伝送線４０４は、Ｄ−伝送線４０４とＵＳＢ機器１００内部のＤ−伝送線４０４ａとに、リレー１８６により切り離し可能に接続される。リレー１８４及びリレー１８６のオン／オフはスイッチコントローラ１８２により制御される。
【００７２】
ハイスピードモード動作中では、タイマプログラム１２４またはウォッチドッグタイマ回路１４０がタイムアップした場合には、ウォッチドッグタイマ回路１４０あるいは汎用出力回路１５０は、スイッチコントローラ１８２に対し、例えば、リレー１８４とリレー１８６による伝送線の切り離しを指示する。スイッチコントローラ１８２は、リレー１８４とリレー１８６による伝送線の切り離しの指示を受けた場合には、リレー１８４を制御してＤ＋伝送線４０２とＤ＋伝送線４０２ａとの間を切り離す。また、スイッチコントローラ１８２は、リレー１８６を制御して、Ｄ−伝送線４０４とＤ−伝送線４０４ａとの間を切り離す。その結果、Ｄ＋伝送線４０２からプルダウン抵抗Ｒ６が切り離され、Ｄ−伝送線４０４からプルダウン抵抗Ｒ７が切り離される。その結果、Ｄ＋伝送線４０２とＤ−伝送線４０４の信号の電位は、約８００ｍＶとなり、ホスト装置２００に、ＵＳＢ機器１００が取り外されたと擬制させることができる。その後、スイッチコントローラ１８２は、リレー１８４を制御してＤ＋伝送線４０２とＤ＋伝送線４０２ａとを接続し、リレー１８６を制御して、Ｄ−伝送線４０４とＤ−伝送線４０４ａとを接続する。以後の動作は、ＵＳＢ機器１００の初期化の動作と同様である。なお、Ｄ＋伝送線４０２及びＤ−伝送線４０４をリレースイッチによりＵＳＢ機器内部のＤ＋伝送線４０２ａ及びＤ−伝送線４０４ａから切り離すことによりホスト装置２００に対してＵＳＢ機器が取り外されたと擬制させることは、ハイスピードモードのＵＳＢ機器だけでなく、ロースピードモードあるいはフルスピードモードのＵＳＢ機器でも実行することができる。
【００７３】
図１０を用いて、Ｄ＋伝送線４０２にＲ１よりも小さいプルアップ抵抗Ｒ３を接続する場合を説明する。図１０は、Ｄ＋伝送線４０２にプルアップ抵抗Ｒ１よりも小さいプルアップ抵抗Ｒ３を接続する場合を説明する説明図である。なお、既に説明している構成については、説明を省略する。Ｄ＋伝送線４０２には、プルアップ抵抗Ｒ１の他にプルアップ抵抗Ｒ３が接続される。ＭＯＳトランジスタＴｒ３は、プルアップ抵抗Ｒ３のＤ＋伝送線４０２への接続／切り離しを制御するスイッチである。ＭＯＳトランジスタＴｒ３のオンオフは、スイッチコントローラ１８２により制御される。
【００７４】
ＵＳＢ機器１００がハイスピードモード動作中は、プルアップ抵抗Ｒ１及びプルアップ抵抗Ｒ３は切り離されている。スイッチコントローラ１８２は、ＵＳＢ機器１００のハイスピードモード動作中にウォッチドッグタイマ回路１４０あるいは汎用出力回路１５０からプルアップ抵抗の切断／再接続の指示を受けた場合には、ＭＯＳトランジスタＴｒ１及びＭＯＳトランジスタＴｒ３をオンして、プルアップ抵抗Ｒ１及びプルアップ抵抗Ｒ３をＤ＋伝送線４０２に接続する。このときのＤ＋伝送線４０２の信号の電位は、プルアップ抵抗Ｒ３の値により変わるが、例えば、プルアップ抵抗Ｒ３の値を２２０Ωとすると、約７０４ｍＶとなる。
【００７５】
ドライバ２７２からＤ＋伝送線４０２に供給される電流量をＩ（＝０．０１７７８Ａ）、
プルアップ電源の電圧をＶｄ（＝３．３Ｖ）、
Ｄ＋伝送線４０２の信号の電位をＶｘ、
プルアップ抵抗Ｒ１の抵抗値をｒ１（＝１５００Ω）、
プルアップ抵抗Ｒ３の抵抗値をｒ３（＝２２０Ω）、
プルダウン抵抗Ｒ４の抵抗値をｒ４（＝４５Ω）、
プルダウン抵抗Ｒ６の抵抗値をｒ６（＝４５Ω）とすると、
キルヒホッフの第一法則により、
Ｉ＋（Ｖｄ−Ｖｘ）／ｒ１＋（Ｖｄ−Ｖｘ）／ｒ３＝Ｖｘ／ｒ４＋Ｖｘ／ｒ６
となる（左辺はＤ＋伝送線４０２に流れ込む電流量、右辺はＤ＋伝送線４０２から流れ出す電流量）。上式をＶｘについて解くと、Ｖｘ≒７０４ｍＶ  となる。
【００７６】
ＵＳＢ規格では、６２５ｍＶ以上の差動振幅が所定のタイミングで所定の時間続くとホスト装置からＵＳＢ機器が取り外されたと認識する。したがって、ホスト装置２００は７０４ｍＶという信号の電位の値を検知した場合には、ＵＳＢ機器１００が取り外されたと擬制する。なお、プルアップ抵抗Ｒ３の値をさらに小さくすれば、プルアップ抵抗Ｒ３のみを接続することによって、ホスト装置２００に、ＵＳＢ機器１００が取り外されたと擬制させることができる。なお、プルアップ抵抗Ｒ１のみを接続し、プルアップ抵抗Ｒ３を接続しない場合には、Ｄ＋伝送線４０２の信号の電位は約４４３ｍＶとなり、ホスト装置２００は、ＵＳＢ機器１００が取り外されたとは認識しない。
【００７７】
その後、スイッチコントローラ１８２は、ＭＯＳトランジスタＴｒ１及びＭＯＳトランジスタＴｒ３をオフして、プルアップ抵抗Ｒ１及びプルアップ抵抗Ｒ３をＤ＋伝送線４０２から切り離す。以後の動作は、ＵＳＢ機器１００の初期化の動作と同様である。
【００７８】
また、ＵＳＢ機器１００のハイスピードモード動作中にタイマプログラム１２４またはウォッチドッグタイマ１４０がタイムアップした場合には、ウォッチドッグタイマ回路１４０あるいは汎用出力回路１５０は、スイッチコントローラ１８２に対して、プルダウン抵抗Ｒ６及びＲ７を切り離すように指示してもよい。スイッチコントローラ１８２は、プルダウン抵抗Ｒ６及びＲ７の切り離しの指示を受けた場合には、ＭＯＳトランジスタＴｒ６及びＭＯＳトランジスタＴｒ７をオフすることにより、プルダウン抵抗Ｒ６及びＲ７をＤ＋伝送線４０２あるいはＤ−伝送線４０４から切り離す。Ｄ＋伝送線４０２とＤ−伝送線４０４の信号の電位は、約８００ｍＶとなり、ホスト装置２００に、ＵＳＢ機器１００が取り外されたと擬制させることができる。以後の動作は、ＵＳＢ機器１００の初期化の動作と同様である。
【００７９】
以上、本実施例によれば、タイマプログラム１２４またはウォッチドッグタイマ回路１４０のタイムアップ時に、Ｄ＋伝送線４０２の信号の電位を変える手段を備えているので、自動的にホスト装置２００にＵＳＢ機器１００が取り外されたと認識させ、即座にプラグ・アンド・プレイを再実行させることができる。
【００８０】
本実施例によれば、Ｄ＋伝送線４０２の信号の電位を変える手段は、例えば、動作モードがロースピード又はフルスピードの場合には、ＵＳＢ機器１００の動作モードを認識するためのプルアップ抵抗Ｒ１を切り離し、動作モードがハイスピードの場合には、プルダウン抵抗Ｒ６及びＲ７を切り離す。したがって、ＵＳＢ機器１００が既に備えている抵抗を切り離すことによりＤ＋伝送線４０２の信号の電位を変えることができるので、特別なハードウェアを付加することなく実施することができる。
【００８１】
本実施例によれば、ＵＳＢコネクタの抜き差しをしないので、ＵＳＢ機器１００とホスト装置２００の間をＵＳＢケーブルで直結している場合でも、ＵＳＢ機器１００の認識の復旧を実行できる。
【００８２】
本実施例によれば、ホスト装置２００を再起動しないので、ホスト装置２００に接続された他の装置がある場合でも、他の装置に影響を与えることなく、ＵＳＢ機器１００の認識の復旧を実行できる。
【００８３】
（変形例）
本実施例では、タイマプログラム１２４は、ホスト装置２００からの外部ポーリング信号により、タイマプログラム１２４のカウント値が所定の値に設定され、タイムアップしたときに、ＵＳＢ機器１００の接続復旧のための処理が実行されるが、ホスト装置２００からの外部ポーリング信号により、タイマプログラム１２４のカウント値をリセットし、カウント値が所定の値になったときにＵＳＢ機器１００の接続復旧のための処理が実行されるようにしてもよい。また、ウォッチドッグタイマ回路１４０は、ＣＰＵ１１０からのリフレッシュ信号により、ウォッチドッグタイマ回路１４０のカウント値が所定の値に設定され、タイムアップしたときに、ＵＳＢ機器１００の接続復旧のための処理が実行されるが、ＣＰＵ１１０からのリフレッシュ信号により、ウォッチドッグタイマ回路１４０のカウント値をリセットし、カウント値が所定の値になったときにＵＳＢ機器１００の接続復旧のための処理が実行されるようにしてもよい。単に、タイマの使い方の問題にすぎず、いずれの場合もＵＳＢ機器１００の復旧が可能となる。
【００８４】
本実施例では、ＵＳＢ機器１００は、外部ポーリングによりリセットされるタイマプログラム１２４によるタイマと、リフレッシュ信号によりリセットされるウォッチドッグタイマ回路１４０の２つのタイマを備えているが、いずれか一方のタイマのみ備えるものであってもよい。いずれかが備わっていれば、そのタイマがタイムアップしたときにＵＳＢ機器１００の認識の復旧が可能となる。
【００８５】
本実施例では、ウォッチドックタイマ回路１４０のタイムアップの場合に、ＵＳＢ機器１００をリセットしているが、タイマプログラム１２４のタイムアップの場合、例えばステップＳ１４５とステップＳ１５０の間にＵＳＢ機器１００をリセットしてもよい。
【００８６】
本実施例では、プルアップ抵抗あるいは、プルダウン抵抗の接続／切り離しを行うスイッチとしてＭＯＳトランジスタを用いているが、例えば、リレーあるいはその他のスイッチを用いてもよい。また、Ｄ＋伝送線４０２とＤ＋伝送線４０２ａとの接続／切り離しを行うスイッチとしてリレーを用いているが、例えば、ＭＯＳトランジスタあるいはその他のスイッチを用いてもよい。
【００８７】
本実施例では、現金自動預け払い機に用いられるＵＳＢカメラを例にとり説明したが、ＵＳＢ機器であれば、どのようなＵＳＢ機器であっても実施可能である。
【００８８】
本実施例では、ホスト装置２００がＵＳＢ機器１００を認識できなくなったときについて説明しているが、例えば、ＵＳＢ機器１００のプログラムを更新した場合などに、外部ポーリング信号を止めることにより、ＵＳＢ機器１００をリセットさせ、ＵＳＢ機器１００の再認識を行うようにしてもよい。
【００８９】
なお、本実施例では、ＵＳＢ機器１００の取り外し／再接続処理を行う場合には、ポーリング信号の発信を止めているが、例えば、特別なコマンドを送るようにしてもよい。また、ホスト装置２００がＵＳＢ機器１００を認識できなくなった場合以外に、ＵＳＢ機器の取り外し／再接続処理を実行できる。したがって、ＵＳＢ機器のファームウエアの更新時などＵＳＢ機器１００を認識できなくなった場合以外にも利用可能である。
【００９０】
以上、いくつかの実施例に基づいて本発明の実施の形態について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【図面の簡単な説明】
【００９１】
【図１】本実施例にかかるＵＳＢ接続システムのブロック図。
【図２】本実施例にかかるＵＳＢ機器のプルアップ抵抗回りを詳しく説明する説明図。
【図３】伝送線へのプルアップ抵抗の接続とＵＳＢ機器の動作モードの関係を説明する説明図。
【図４】タイマプログラム１２４がタイムアップしてＵＳＢ機器の復旧処理が実行される場合の動作を示すフローチャート。
【図５】ウォッチドッグタイマ回路がタイムアップしてＵＳＢ機器の復旧処理が実行される場合の動作を示すフローチャート。
【図６】ホスト装置の動作を説明するフローチャート。
【図７】ＵＳＢ伝送の異常箇所とそれに対して実行される復旧方法を示す説明図。
【図８】ハイスピードモードのＵＳＢ機器を接続するときのＵＳＢ接続システムの伝送線回りを詳しく説明する説明図。
【図９】Ｄ＋伝送線をリレースイッチにより内部Ｄ＋伝送線から切り離す場合を説明する説明図。
【図１０】Ｄ＋伝送線にプルアップ抵抗Ｒ１よりも小さいプルアップ抵抗Ｒ３を接続する場合を説明する説明図。
【符号の説明】
【００９２】
１０…ＵＳＢ接続システム 
１００…ＵＳＢ機器
１１０…ＣＰＵ
１２０…ＲＯＭ
１２２…ファームソフト
１２４…タイマプログラム
１３０…ＲＡＭ
１４０…ウォッチドッグタイマ回路
１５０…汎用出力回路
１６０…リセット回路
１７２…ドライバ
１７４…レシーバ
１８０…プルアップ抵抗オン／オフ回路
１８２…スイッチコントローラ
１８４…リレー
１８６…リレー
２００…ホスト装置
２１０…ＣＰＵ
２２０…ハードディスク
２２２…アプリケーション
２２４…ドライバソフト
２２６…タイマプログラム
２３０…ＲＡＭ
２７２…ドライバ
２７４…レシーバ
３００…ＵＳＢハブ
４００…ＵＳＢケーブル
４０２…Ｄ＋伝送線
４０２ａ…Ｄ＋伝送線
４０４…Ｄ−伝送線
４０４ａ…Ｄ−伝送線
Ｒ１…プルアップ抵抗
Ｒ２…プルアップ抵抗
Ｒ３…プルアップ抵抗
Ｒ４…プルダウン抵抗
Ｒ４…プルダウン抵抗
Ｒ５…プルダウン抵抗
Ｒ６…プルダウン抵抗
Ｒ７…プルダウン抵抗
Ｔｒ１…ＭＯＳトランジスタ
Ｔｒ２…ＭＯＳトランジスタ
Ｔｒ３…ＭＯＳトランジスタ
Ｔｒ４…ＭＯＳトランジスタ
Ｔｒ５…ＭＯＳトランジスタ
Ｔｒ６…ＭＯＳトランジスタ
Ｔｒ７…ＭＯＳトランジスタ
【図１】
2008152533.tif 000003
【図２】
2008152533.tif 000004
【図３】
2008152533.tif 000005
【図４】
2008152533.tif 000006
【図５】
2008152533.tif 000007
【図６】
2008152533.tif 000008
【図７】
2008152533.tif 000009
【図８】
2008152533.tif 000010
【図９】
2008152533.tif 000011
【図１０】
2008152533.tif 000012