明 細 書
USB機器
技術分野
[0001] 本発明は、コンピュータ、デジタル家電等の電子機器に接続される USB (Universal
Serial Bus)機器にかかわり、特には、 USB機器をコンピュータに接続する際に、専 用のデバイスドライバをインストールする技術に関する。
背景技術
[0002] コンピュータに接続する機器は、一般的に、その機器の他に、コンピュータにデバイ スドライバをインストールするための、 CD— ROMやフロッピーディスク(登録商標)ド ライブといったような外部記憶デバイスが必要となる。
[0003] 現在、コンピュータの分野の周辺機器で多くを占めている USB機器についても同 様である。機器を購入したときに、ほとんどの場合、図 7のようにデバイスドライバがフ ロッピーディスクや CD—ROM等のメディア 3に添付されており、それを用 、てデバイ スドライノ をインスト一ノレするようになって 、る。
[0004] コンピュータ 1は、 USB機器 2のデバイスドライバをインストールする際には、 USB 機器固有のディスクリプタ情報 Aを参照することで、 USB機器を判別する。
[0005] USB機器 2のディスクリプタ情報 Aは、図 8に示すように、ベンダ ID、プロダクト IDお よびリビジョン ID (al)と、クラスコード、サブクラスコードおよびプロトコル(a2)を含ん でいる。
[0006] 一方、コンピュータ 1の記憶装置に保存されているドライバ情報ファイルである INF ファイル Bは、図 9に示すように、ベンダ ID、プロダクト IDおよびリビジョン ID (bl)と、 クラスコード、サブクラスコードおよびプロトコル (b2)を含んでいる。
[0007] まず、コンピュータ 1は、 USB機器 2のディスクリプタ情報 Aから得られるベンダ ID、 プロダクト IDおよびリビジョン ID (al)と、 INFファイルのベンダ ID、プロダクト IDおよ びリビジョン ID (bl)とを比較し、一致した場合には、 INFファイルで指定されるデバイ スドライバ(cl)を組み込む。
[0008] 一致するものがない場合、次に、ディスクリプタ情報 Aのクラスコード、サブクラスコ
ードおよびプロトコル(a2)と、 INFファイル Bのクラスコード、サブクラスコードおよびプ ロトコル (b2)とを比較し、一致した場合には、 INFファイル Bで指定されるデバイスド ライバ (c2)を^ aみ込む。
[0009] それでも一致しない場合には、その USB機器 2に対応するデバイスドライバはコン ピュータ 1の記憶装置には保存されて 、な 、と判断し、デバイスドライバは組み込ま れない。この場合、 CD— ROMやフロッピーディスク等の外部記録メディア力 デバ イスドライバをインストールする。
[0010] さらに近年、 USB機器としての機能を持つデジタル家電が急増しており、それらの 機能を使 ヽこなすために専用のデバイスドライバが用意されることも少なくな ヽ。また 、デジタル家電の中には USBホストとしての機能を持つ製品や、さらに Windows (登 録商標)を組み込んだ製品も存在して 、る。
特許文献 1 :特開 2003— 114859号公報 (第 2— 3頁、第 1—2図)
発明の開示
発明が解決しょうとする課題
[0011] USB機器のデバイスドライバを CD— ROMやフロッピーディスク等の外部記録メデ ィァ 3からインストールする場合、そのメディアカゝらデバイスドライバ等の情報を読み出 すためのフロッピーディスクドライブや CD— ROMドライブなどの装置が必要となる。 し力し、最近ではフロッピーディスクドライブや CD— ROMドライブを持たな!、コンビュ ータもノートコンピュータを中心に一般ィ匕している。
[0012] また、 USB機器としての機能を持つデジタル家電にぉ 、て、デバイスドライバをイン ストールする際にも、コンピュータと同様に外部記憶メディアや、その代替となる手段 が必要になってくる。しかしながら、このようなデジタル家電に常に外部記憶メディア が接続可能力といえば、そうではない。
[0013] このように、コンピュータだけでなぐデジタル家電の分野においても、広く USBに 関する課題が存在する。
[0014] さらに、フロッピーディスクドライブや CD—ROMドライブ等の外部記録メディアや、 その代替となる手段がある場合でも、デバイスドライバの保存されて ヽる記録メディア を紛失した場合には、デバイスを使用することができなくなる。
[0015] 従来の先行技術文献の中で、 USB機器に関してもこの問題を解決しょうとしたもの は多い。例えば、上記の特許文献 1は、 USB機器にコンピュータ用のデバイスドライ バを格納することで、この問題を解決しょうとした技術である。
[0016] しかし、この先行技術文献には下記に示すいくつかの課題が隠されており、コンビ ユータのシステム側の安定性を含めたトータルな解決には至って 、な 、。
[0017] 1. USBマスストレージ機能と主機能を切り替えるときに、コンピュータ側に通知が 行かないため、急にデバイスが切断されたと判断され、コンピュータ側の動作が不安 定になる。例えば、コンピュータに搭載している USBホストドライバの処理に異常をき たし、 USB機器がコンピュータに正常に認識されなくなることがある。
[0018] 2.デバイスドライバがコンピュータに組み込まれている力否かの判断に常駐プログ ラムを用いている。しかし、 USB機器が増えてしまった場合には、その数だけ常駐ァ プリが必要となり、現実的でない。また、 USBホストがデジタル家電であった場合には 、多くのメモリを搭載していないこともあるため、実行できる常駐アプリの数にさらに制 限がでてくる。
[0019] 3.デバイスドライバが既にインストールされているときには、 USB機器側でドライブ 機能から主機能に切り替える手段が明記されていない。
課題を解決するための手段
[0020] 本発明は、上記の課題を解決するために次のような手段を講じる。
[0021] 本発明による USB機器は、
電子機器との間でデータを送受信する入出力部と、
USB機器の主機能を構成する主機能部と、
デバイスドライバを格納するドライバ格納メモリと、
製品情報が互いに同一で、クラス情報が USBマスストレージクラスを示すディスクリ プタ情報とクラス情報が主機能の属するクラスを示すディスクリプタ情報とを有する U SB制御部と
を備えた構成とされている。
[0022] 上記において、 USBマスストレージクラスは、 USBで CD— ROMや DVD— ROM 等の記憶装置を動作させるための規格である。この USBマスストレージクラスとしての
ディスクリプタ情報を有することにより、電子機器に USB機器を USBマスストレージ機 器として認識させ、 USB主機能用のデバイスドライバのインストールを可能とする。
[0023] USB機器を電子機器に接続すると、電子機器力ゝらの要求により USB制御部は US Bマスストレージクラス用のディスクリプタ情報を送信する。電子機器は、 USBマススト レージクラス用のディスクリプタ情報に基づいて、まず電子機器に主機能用のデバイ スドライバが存在する否かを判断する。存在するときは、電子機器はその主機能用の デバイスドライバを組み込む。存在しないときは、電子機器は標準搭載の USBマスス トレージクラス用のデバイスドライバを組み込む。 USB機器は、 USBマスストレージク ラスの機器として振舞う。これにより、電子機器は、 USB機器をフロッピィディスクドラ イブや CD— ROMドライブなどと同様に扱うことができる。すなわち、電子機器は US B機器のドライバ格納メモリに自由にアクセスすることができる。そして、ドライバ格納メ モリから主機能用のデバイスドライバを読み出して電子機器にインストールする。
[0024] 上記構成において、好ましい構成は、さら〖こ、前記デバイスドライバが前記電子機 器に組み込まれているカゝ否かを示す組込済み判定用レジスタを備えることである。
[0025] 前記組込済み判定用レジスタは前記電子機器との接続時に未組込状態に設定さ れており、前記 USB制御部は、前記電子機器が前記 USBマスストレージクラス用の ディスクリプタ情報に基づいて組込済み状態と判定したときに前記組込済み判定用 レジスタを組込済み状態に更新する。
[0026] 前記 USB制御部は、前記電子機器が前記 USBマスストレージクラス用のディスクリ プタ情報に基づ 1ヽて未組込状態と判定したときに、前記ドライバ格納メモリから前記 デバイスドライバを読み出して前記電子機器にインストールし、前記電子機器で前記 デバイスドライバの組み込み終了後に前記組込済み判定用レジスタを組込済み状態 に更新する。
[0027] 前記 USB制御部は、前記組込済み判定用レジスタの組込済み状態への更新を、 前記電子機器からのユニークなベンダリクエストの受信に基づいて行う。
[0028] 前記 USB制御部は、前記デバイスドライバのインストール後、前記電子機器からの バスリセットまたはマスストレージリセットの受信に基づいて USBマスストレージ機能と 前記主機能とを切り替える。
[0029] ところで、主機能が USBマスストレージクラスで動作する USB機器 (例えば、 DVD ドライブ)の場合には、本発明を次のように展開するとよい。
[0030] すなわち、本発明による USB機器は、
電子機器との間でデータを送受信する入出力部と、
USB機器の主機能としてマスストレージクラスに属する機能を構成する主機能部と デバイスドライバを格納するドライバ格納メモリと、
クラス情報が USBマスストレージクラスを示すディスクリプタ情報を有し、前記電子 機器によって前記ディスクリプタ情報に基づいて前記デバイスドライバが組み込まれ て!、な 、と判定されたときは、前記ドライバ格納メモリから前記デバイスドライバを読 み出して前記電子機器にインストールする USB制御部と
を備えた構成とされている。
[0031] 上記において、前記 USB制御部は、前記電子機器力 のベンダリクエストの受信 に基づ!/ヽて、前記 USBマスストレージ機能から前記主機能へ切り替える。
[0032] また、前記 USB制御部は、前記デバイスドライバが前記電子機器に組み込まれて いる力否かをユニークなベンダリクエストによって判断し、組み込まれているときは前 記主機能で制御し、組み込まれて 、な 、ときは USBマスストレージ機器として制御す ることで前記ドライバ格納メモリから前記デバイスドライバを読み出して前記電子機器 にインストールし、その後、制御を前記主機能に切り替える。
[0033] この場合、 USB機器のデバイスドライバが電子機器側で組み込まれるときは主機 能で USB機器を動作させ、まだ組み込まれていないときは、 USB機器を USBマスス トレージ機器として動作させることにより、デバイスドライバを自動的にインストールさ せることができる。
[0034] ところで、 USB機器を電子機器に接続して使用可能にした後、接続を切り離し、再 び接続することもある。また、別の電子機器に接続切り替えすることもある。これに対 応するのが、次の構成である。
[0035] すなわち、本発明による USB機器は、
電子機器との間でデータを送受信する入出力部と、
USB機器の主機能を構成する主機能部と、
デバイスドライバを格納するドライバ格納メモリと、
製品情報が互いに同一で、クラス情報が USBマスストレージクラスを示すディスクリ プタ情報とクラス情報が主機能の属するクラスを示すディスクリプタ情報とを有する U SB制御部と、
前記 2種類のディスクリプタ情報のいずれがアクティブかを保持するディスクリプタ情 報保持フラグと、
を備えた構成とされている。
[0036] さらに、前記ディスクリプタ情報保持フラグをリセットするリセットスィッチを備える。
[0037] 一度、 USB機器を電子機器に接続し、デバイスドライバを電子機器に組み込んで
USB機器を使える状態にしたときは、ディスクリプタ情報保持フラグがセットされる。し たがって、二度目の接続に際しては、 USBマスストレージクラス用のディスクリプタ情 報を用いる手順を省略することができ、時間短縮を図ることができる。
[0038] また、 OS (operating system)が異なる電子機器に接続切り替えするときは、リセット スィッチを操作してディスクリプタ情報保持フラグをリセットすることにより、別 OSの電 子機器でも USB機器の主機能の使用を可能にする。
発明の効果
[0039] 本発明を使用することで、 USB機器のデバイスドライバのインストール時にフロッピ 一ディスクドライブや CD— ROMドライブ等の外部記憶装置を使用する必要がなくな る。つまり、フロッピーディスクドライブや CD— ROMドライブを持たない電子機器でも 、機器の増設等の煩雑な手順を踏むこと無ぐ USB機器を使用できるようになる。
[0040] また、 USB機器とデバイスドライノく、インストールプログラムの一括管理が可能となり 、従来のような記録メディア紛失の問題は無関係となる。
[0041] また、 USB機器の機能の切り替えにバスリセット等を使用すれば、強制的切り替え に起因する悪影響は防止することができる。
図面の簡単な説明
[0042] [図 1]本発明の実施の形態 1における USB機器の構成を示すブロック図
[図 2]本発明の実施の形態 1における USB機器とコンピュータの動作シーケンス図
[図 3]本発明の実施の形態 1における USB機器とコンピュータの動作シーケンス図
[図 4]本発明の実施の形態 2における USB機器の構成を示すブロック図
[図 5]本発明の実施の形態 2における USB機器とコンピュータの動作シーケンス図
[図 6]本発明の実施の形態 3における USB機器の構成を示すブロック図
[図 7]従来の技術における USB機器のデバイスドライバをコンピュータへインストール する形態の説明図
[図 8]USB機器のディスクリプタ情報の説明図
[図 9]INFファイルのデバイスドライバ情報の説明図
符号の説明
[0043] 1 コンピュータ
2 USB機器
3 デバイスドライバインストールディスク
11 入出力部
12 USB制御部
13 主機能部
14 ドライバ格納メモリ
15 組込済み判定用レジスタ
16 ディスクリプタ情報保持フラグ
17 リセットスィッチ
A USB機器のディスクリプタ情報
Al USBマスストレージクラス用のディスクリプタ情報
A2 主機能用のディスクリプタ情報
B INFファイル
発明を実施するための最良の形態
[0044] 以下、本発明にかかわる USB機器の実施の形態を図面に基づいて詳細に説明す る。なお、電子機器の例としてコンピュータを用いて説明を行う。
[0045] (実施の形態 1)
図 1は本発明の実施の形態 1における USB機器の構成を示すブロック図である。
[0046] USB機器 2は、コンピュータ 1との間でデータの送受信を行う入出力部 11、 USB機 器 2の制御を行う USB制御部 12、 USB機器 2の本来の機能を格納した主機能部 13 、デバイスドライバを格納するドライバ格納メモリ 14、組込済み判定用レジスタ 15を備 えている。組込済み判定用レジスタ 15は、コンピュータ 1に USB機器 2のデバイスドラ ィバが組み込まれているか否かを判定するためのものである。 USB制御部 12は、 2 種類のディスクリプタ情報 Al, A2を有している。ディスクリプタ情報 Al, A2は、コン ピュータ 1が製品情報 (機器の種類やメーカー情報)を取得するために使用するもの である。
[0047] 主機能用のディスクリプタ情報 A2はデバイスドライバインストール専用のもので、 U SB機器 2が本来有している主機能 (クラス)に関する内容が記述されている。また、マ スストレージクラス用のディスクリプタ情報 A1には、デバイスドライバのインストールを 目的とした USBマスストレージクラスに関する内容が記述されている。 USBマスストレ ージクラスとは、 USBで CD— ROMや DVD— ROM等の記憶装置を動作させるた めの規格である。 USB制御部 12は、さらに、 USBマスストレージクラスを動作させる ための制御ソフトウェアを有して 、る。
[0048] USB機器 2は、コンピュータ 1に USB機器 2のデバイスドライバがインストールされ ている場合は、主機能で動作し、組み込まれていない場合には、 USBマスストレージ クラスの機器として動作する。後者の場合には、 USBマスストレージクラスの動作によ り、ドライバ格納メモリ 14のデバイスドライバを読み出してコンピュータ 1にインストール する。
[0049] 次に、以上のように構成された本実施の形態のシステムの動作を図 2の動作シーケ ンスに従って説明する。
[0050] あらカゝじめ、 USB機器 2は、コンピュータ 1に接続される前に、その組込済み判定用 レジスタ 15が未組込状態に設定されて!ヽる(HR = 0)。
[0051] コンピュータ 1に対する USB機器 2の接続が確認されると、コンピュータ 1はェ-ュメ レーシヨン処理を開始し、 USB機器 2の使用にとって必要な情報を取得する。つまり 、コンピュータ 1は USB機器 2のディスクリプタ情報 Aを要求する。
[0052] ディスクリプタ情報 Aを要求された USB機器 2の USB制御部 12は、組込済み判定
用レジスタ 15を確認する。ここでは、状態が未組込状態 (HR=0)となっているため、 ディスクリプタ情報 Aとして、 USBマスストレージクラス用のディスクリプタ情報 A1を送 信する。
[0053] ここで USBマスストレージクラス用のディスクリプタ情報 A1は、ベンダ ID、プロダクト IDおよびリビジョン IDと、クラスコード、サブクラスコードおよびプロトコルを含んでいる 。ベンダ ID、プロダクト IDおよびリビジョン IDについては、主機能用のディスクリプタ 情報 A2と同じである。クラスコード、サブクラスコードおよびプロトコルについては、 U SBマスストレージクラス専用である。ただし、リビジョン IDについては、設定されてい る場合のみ該当する。
[0054] 次!、で、コンピュータ 1は、ディスクリプタ情報 A1から得られるベンダ ID、プロダクト I Dおよびリビジョン IDを、コンピュータ 1に保存されている INFファイル Bのベンダ ID、 プロダクト IDおよびリビジョン IDと比較する。
[0055] (l) USBマスストレージクラス用のディスクリプタ情報 A1での比較結果 =一致の場 比較の結果、一致する場合には、コンピュータ 1は INFファイル Bで指定される US B機器 2用のデバイスドライバを組み込み、 USB機器 2を使用可能な状態にする。そ のコンピュータ 1に組み込まれたデバイスドライバは、初期化時にデバイスリクエストを 発行する。このデバイスリクエストは、ベンダユニークなものとしてあら力じめ設計され ている。
[0056] ベンダユニークなデバイスリクエストを受信した USB機器 2の USB制御部 12は、組 込済み判定用レジスタ 15を組込済み状態に設定する (HR= 1)。
[0057] 次 、で、コンピュータ 1に組み込まれたデバイスドライバは、 USB機器 2に対してバ スリセットを発行する。
[0058] 次いで、コンピュータ 1は再度 USB機器 2のェ-ュメレーシヨン処理を開始する。
[0059] 次いで、 USB機器 2の USB制御部 12は、組込済み判定用レジスタ 15を確認し、 状態が組込済み状態 (HR= 1)になっているため、コンピュータ 1に対して主機能用 のディスクリプタ情報 A2を送信する。
[0060] 以上により、コンピュータ 1は、 INFファイル Bの指定で組み込まれた USB機器 2用
のデバイスドライバを用いて、 USB機器 2を使用することができるようになる。 USB機 器 2の USB制御部 12は、主機能部 13を起動して、 USB機器 2の主機能を動作可能 とする。
[0061] (2) USBマスストレージクラス用のディスクリプタ情報 A1での比較結果 =不一致の ¾口
一方、前述の、ディスクリプタ情報 A1のベンダ ID、プロダクト ID等と INFファイル B のベンダ ID、プロダクト ID等との比較の結果、不一致となる場合の動作は次のとおり である。これを図 3の動作シーケンスで説明する。
[0062] コンピュータ 1は、別のデバイスドライバ検索の手段として、 USBマスストレージクラ ス用のディスクリプタ情報 A1から得られるクラスコード、サブクラスコードおよびプロト コルを INFファイル Bのクラスコード、サブクラスコードおよびプロトコルと比較する。
[0063] ディスクリプタ情報 A1には、 USB機器 2が USBマスストレージクラスの機器であると 記述されている。一方、 WindowsME/2000以降の WindowsOSには、 USBマス ストレージクラス用のデバイスドライバが標準搭載されている。
[0064] したがって、コンピュータ 1が上記に該当する Windowsであれば、上記の比較の結 果は一致と判定される。この場合、コンピュータ 1は、 INFファイル Bで指定される US Bマスストレージクラス用のデバイスドライバを組み込む。コンピュータ 1における USB マスストレージクラス用のデバイスドライバは、前述のベンダユニークなデバイスリクェ ストは発行しない。
[0065] USB機器 2の USB制御部 12は、ベンダユニークなデバイスリクエストの発行がない ことを確認すると、コンピュータ 1に USBマスストレージクラス用のデバイスドライバが 組み込まれていると判断する。 USB制御部 12は、ドライバ格納メモリ 14を対象として USBマスストレージクラスを動作させるための制御ソフトウェアを起動するとともに、そ の制御ソフトウェアによってドライバ格納メモリ 14にアクセスする。この場合、 USB機 器 2は、 USBマスストレージクラスの機器として振舞うことになる。
[0066] すなわち、 USB機器 2は、コンピュータ 1にとつては、フロッピーディスクドライブや C D— ROMドライブなどの記憶装置と同等に扱うことができる。コンピュータ 1は、 USB 機器 2におけるドライバ格納メモリ 14を CD— ROMメディアのような記憶メディアとし
て認識できる。その結果、コンピュータ 1からドライバ格納メモリ 14を自由にリードァク セスできる。主機能部 13は無関係となる。
[0067] USB機器 2のドライバ格納メモリ 14には、 USB機器 2の主機能用のデバイスドライ バが保存されている。コンピュータ 1は、このデバイスドライバにアクセスすることにより 、 USB機器 2の主機能用のデバイスドライバをインストールすることができる。すなわ ち、フロッピーディスクや CD— ROM等のメディアを使用することなしに、 USB機器 2 の主機能用のデバイスドライバをコンピュータ 1にインストールすることが可能となる。
[0068] USBマスストレージクラスでの動作と主機能での動作との切り替えにバスリセットを 使用する。このことにより、ユーザーに動作状態の切り替わりを意識させないですむ。 また、コンピュータ 1 (WindowsOS)への悪影響も防止できる。
[0069] 上記構成において、さらに次の態様の USB機器も有効である。それは、ドライバ格 納メモリ 14に、ドライバインストール用のプログラムを格納した構成である。
[0070] USB制御部 12は、インストール用プログラムを起動して、ドライバ格納メモリ 14から 主機會用のデバイスドライバを読み出し、コンピュータ 1にインスト一ノレする。インスト ールが終了すると、組込済み判定用レジスタ 15に組込済み状態をセットする(HR= D o次いで、バスリセットを発行し、コンピュータ 1に再びェ-ュメレーシヨン処理を行 わせる。この場合、ベンダ ID、プロダクト ID等の比較が一致し、 USB機器 2の主機能 が使用可能となる。
[0071] 上記の処理を自動化すると、 USB機器 2の主機能用のデバイスドライバがコンビュ ータ 1にあた力も自動的に組み込まれたように、ユーザーには見える。ユーザーには 、負担を与えないで済む。
[0072] (実施の形態 2)
本発明の実施の形態 2は、主機能が USBマスストレージクラスで動作する USB機 器を対象とするものである。そのような USB機器の代表例に DVDドライブがある。
[0073] 図 4に示すように、 USB機器 2は、実施の形態 1の場合と同様の入出力部 11、 US B制御部 12、主機能部 13、ドライバ格納メモリ 14を備えている。実施の形態 1の場合 の組込済み判定用レジスタ 15はない。 USB機器 2の制御を行う USB制御部 12が有 するディスクリプタ情報は 1種類であり、 USBマスストレージクラス用のディスクリプタ
情報 Alのみである。 USB機器 2の主機能用のデバイスドライバのインストール専用 のディスクリプタ情報はな 、。
[0074] 次に、上記構成の本実施の形態のシステムの動作を図 5の動作シーケンスに従つ て説明する。
[0075] 主機能用のデバイスドライバがコンピュータ 1に組み込まれて 、な 、場合、ベンダ I D、プロダクト ID等の比較の結果が不一致となる。さらに、クラスコード、サブクラスコ ード等の比較は一致となる。その結果、前述同様に、コンピュータ 1には INFファイル Bで指定される標準搭載の USBマスストレージクラス用のデバイスドライバが組み込 まれる。この場合、 USB機器 2は、その主機能が USBマスストレージクラスで動作す る。
[0076] デバイスドライバの組み込み後に USB機器 2の動作モードを主機能のものに切り替 えるには、ベンダユニークなデバイスリクエストを送信する。実施の形態 1の場合のよ うな再ェ-ュメレーシヨンのためにバスリセットは必要でな 、。
[0077] 本実施の形態は、コンピュータ 1に標準搭載の USBマスストレージクラスの機器に ぉ ヽて、機能強化用のデバイスドライバを追加インストールする場合に有用である。
[0078] (実施の形態 3)
実施の形態 1、 2においては、 USB機器を同じコンピュータに何度も接続する場合 の 2度目の使用以降で、 USB機器をコンピュータに接続してからコンピュータ上で U SB機器が使用可能になるまでに、通常の USB機器よりも時間がかかる。また、 USB 機器を、 USBマスストレージクラスのデバイスドライバを標準搭載して ヽな 、コンビュ ータや、ドライバ格納メモリに対応するデバイスドライバの格納されて 、な 、コンビュ ータ、 WindowsPCとデバイスドライバのインストールの仕組みが違うコンピュータに 接続した場合は、 USB機器を使用することができなくなってしまう。
[0079] これに対応するのが、本発明の実施の形態 3の構成である。
[0080] 図 6に示すように、 USB機器 2は、実施の形態 1の場合と同様の入出力部 11、 US B制御部 12、主機能部 13、ドライバ格納メモリ 14、組込済み判定用レジスタ 15のほ 力 ディスクリプタ情報 Al, A2のいずれがアクティブかを保持するディスクリプタ情報 保持フラグ (以下、フラグと称する) 16およびフラグ 16に対するリセットスィッチ 17を備
えている。
[0081] フラグ 16は、初期状態で、マスストレージクラス用のディスクリプタ情報 A1を使用す るように例えば" 0"が設定される。フラグ 16に" 0"が設定されているときは、 USB機器 2がコンピュータ 1に接続されたときに、 USB制御部 12は組込済み判定用レジスタ 1 5を参照する。組込済み判定用レジスタ 15が" 0"であるので、実施の形態 1の場合と 同様の処理を経て、コンピュータ 1に USB機器 2の主機能用のデバイスドライバが組 み込まれることになる。
[0082] そして、上記の過程でマスストレージクラス用のディスクリプタ情報 A1がコンビユー タ 1に送信される。このように一度マスストレージクラス用のディスクリプタ情報 A1を送 信した後は、フラグ 16は" 1"に設定され、主機能用のディスクリプタ情報 A2を使用す るようにする。フラグ 16は、 USB機器 2内の不揮発性メモリに設定することができる。リ セットスィッチ 17は、フラグ 16を初期状態に戻すためのものである。
[0083] 次に、以上のように構成された本実施の形態のシステムの動作を説明する。
[0084] 実施の形態 1と同様にして、 USB機器 2のデバイスドライバがコンピュータ 1にすで に組み込まれているものとする。その場合には、フラグ 16はすでに" に設定されて いる。したがって、その後、コンピュータ 1に USB機器 2を接続すると、 USB制御部 1 2はフラグ 16を見る。 "1"が設定されていることから、組込済み判定用レジスタ 15を参 照することはせず、コンピュータ 1にはすでに USB機器 2のデバイスドライバが組み込 み済みと認識でき、主機能用のディスクリプタ情報 A2のみを使用することになる。
[0085] コンピュータ 1からェ-ュメレーシヨン処理が発行されると、 USB制御部 12は、マス ストレージクラス用のディスクリプタ情報 A1を使用しての処理は行わな ヽ。主機能用 のディスクリプタ情報 A2のみを使用する通常の USB機器 2と同等の動作をする。
[0086] すなわち、実施の形態 1の場合の接続初期のマスストレージクラス用のディスクリブ タ情報 A1を用いた手順が省略される。したがって、 USB機器 2を接続してから使用 可能になるまでの時間を短縮することができる。
[0087] 上記のようにしてコンピュータ 1に USB機器 2を接続した結果、フラグ 16力 ' 1"に設 定されているとする。この場合に、接続を外し、別のコンピュータ 1に接続し直したとす る。ここで、新しい接続対象のコンピュータ 1にはデバイスドライバが組み込まれてい
ないとする。このような場合には、フラグ 16力 1"のままであると、 USB機器 2が使え ない。そこで、リセットスィッチ 17を操作して、フラグ 16をリセットし、 "0"に戻す。こうす ると、実施の形態 1の場合と同様の処理が行われ、 USB機器 2の主機能用のデバィ スドライバをコンピュータ 1にインストールすることができる。
[0088] さらには、 WindowsPCとデバイスドライバのインストールの仕組みが違うコンビユー タに本 USB機器を接続することも考えられる。
[0089] この場合にも、上記した方式の手順にてドライバをインストールし、本 USB機器を使 用することができる。コンピュータにドライバ力 Sインストールされていないときの機器接 続では、マスストレージクラスとして認識され、ドライバをインストール後、 USB機器 2 の主機能 13を使用できるようになる。また、このとき不揮発性メモリ上にあるフラグ 16 も" 1"にセットされる。それ以降は、フラグ 16により、いつでも USB機器 2の主機能 13 を使用できるようになる。
[0090] ただし、このままの状態では今まで USB機器 2を接続したことがないコンピュータを 接続した場合でも、 USB機器 2の主機能 13の方が動作してしまうので、事前にリセッ トスイッチ 17にてフラグ 16をクリアし、マスストレージクラスとして認識されるようにして おく。これにより、ドライバのインストールも可能となる。
産業上の利用可能性
[0091] 本発明は、 USB機器のデバイスドライバをコンピュータにインストールする作業を効 率化する技術として有用である。なお、 USBホストとしてはコンピュータだけが該当す るのではなぐ USBホストの機能を有するデジタル家電にも広く該当する。