JP5016133B2 - Control method of information processing system - Google Patents
Control method of information processing system Download PDFInfo
- Publication number
- JP5016133B2 JP5016133B2 JP2011284073A JP2011284073A JP5016133B2 JP 5016133 B2 JP5016133 B2 JP 5016133B2 JP 2011284073 A JP2011284073 A JP 2011284073A JP 2011284073 A JP2011284073 A JP 2011284073A JP 5016133 B2 JP5016133 B2 JP 5016133B2
- Authority
- JP
- Japan
- Prior art keywords
- keyboard
- usb
- storage device
- descriptor
- driver
- 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
Description
本発明は、電子機器を周辺装置として情報処理装置に接続する場合に、電子機器のドライバを情報処理装置に自動インストールする技術に関する。 The present invention relates to a technique for automatically installing a driver of an electronic device in the information processing device when the electronic device is connected to the information processing device as a peripheral device.
周辺機器をパーソナルコンピュータ等の情報処理装置に接続する時に、特に何の操作も行なわずにすぐ周辺装置が使用可能になる、いわゆるプラグアンドプレイ(PnP)機構が普及している。 When connecting a peripheral device to an information processing apparatus such as a personal computer, a so-called plug-and-play (PnP) mechanism that allows the peripheral device to be used immediately without performing any particular operation has become widespread.
本出願人は、特許文献1に電子装置に格納された電子装置のドライバを情報処理装置に自動的にインストールする技術を開示している。この特許文献1に開示した電子装置は、第1の装置と、この第1の装置のドライバを格納する第2の装置を内蔵した電子装置であって、電子装置は、第1の装置よりも先に第2の装置の動作を開始させ、第2の装置からインタフェースを介してドライバを読み出し可能状態にしている。
The present applicant discloses a technique for automatically installing a driver of an electronic device stored in the electronic device in an information processing device in
また特許文献2は、主デバイスと、この主デバイスをホスト装置で動作させるためのドライバプログラムを記録したサブデバイスと、ホスト装置に接続された時にホスト装置にサブデバイスを認識させる第1のデータを出力し、その後、ホスト装置に主デバイスを認識させる第2のデータを出力するインターフェース制御部とを設けている。
しかしながら特許文献1では、電子装置は一度情報処理装置に接続し、ドライバソフトウェアのインストールを行うと、別の情報処理装置に接続した時に第2の装置がイネーブル状態にならなず、ドライバソフトウェアをインストールすることができない問題が生じる。
However, in
また特許文献2では、ホスト装置に接続された時に、ホスト装置にまずサブデバイスを認識させ、次に主デバイスを認識させる制御を行うインタフェース制御部が必要となり、装置の構成が複雑になるという問題を有している。
Further, in
本発明は上記事情に鑑みてなされたものであり、簡単な構成で、装置の状態によらず必ずドライバソフトウェアを自動インストールすることができる情報処理システムの制御方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object thereof is to provide a control method for an information processing system capable of automatically installing driver software regardless of the state of the apparatus with a simple configuration.
上記課題を解決するため、本発明の情報処理システムの制御方法は、キーボード装置と、該キーボード装置のドライバを格納する記憶装置とを有する電子装置と、該電子装置と外部接続用の共通インタフェースで接続する情報処理装置とを有する情報処理システムの制御方法であって、前記情報処理装置において、前記電子装置からデバイスディスクリプタを取得して、取得したデバイスディスクリプタに基づいてコンフィギュレーション処理する装置を前記キーボード装置と前記記憶装置との中から選択するステップと、前記キーボード装置をコンフィギュレーション処理すると選択した場合に、ベンダーリクエスト信号を含ませた制御信号を生成して前記電子装置に送信し、前記記憶装置をコンフィギュレーション処理すると選択した場合に、前記ベンダーリクエスト信号を含まない制御信号を生成して前記電子装置に送信するステップとを有し、前記電子装置において、前記コンフィギュレーション処理中に、前記情報処理装置から前記ベンダーリクエスト信号を含まない制御信号を受信した場合に、前記記憶装置をコンフィギュレーション処理を行う装置として選択するステップと、前記情報処理装置から前記ベンダーリクエスト信号を含む制御信号を受信した場合に、前記キーボード装置をコンフィギュレーション処理を行う装置として選択するステップとを有している。
情報処理装置は、電子装置から取得したデバイスディスクリプタにより、電子装置の備えるキーボード装置のドライバをインストール済みであるか否かを判断することができる。情報処理装置は、キーボード装置のドライバがインストール済みではないと判断した場合に、ベンダーリクエスト信号を含まない制御信号を生成して電子装置に送信することで、電子装置に、記憶装置をコンフィギュレーション処理を行う装置として認識させることができる。また、情報処理装置は、キーボード装置のドライバがインストール済みであると判断した場合に、ベンダーリクエスト信号を含んだ制御信号を生成して電子装置に送信することで、電子装置に、キーボード装置をコンフィギュレーション処理を行う装置として認識させることができる。したがって、情報処理装置にドライバソフトウェアがインストールされていない場合に、ドライバソフトウェアを自動でインストールさせることができる。
In order to solve the above problems, an information processing system control method according to the present invention includes an electronic device having a keyboard device and a storage device for storing a driver of the keyboard device , and a common interface for external connection with the electronic device. A method of controlling an information processing system having an information processing apparatus to be connected, wherein the information processing apparatus obtains a device descriptor from the electronic device and performs configuration processing based on the acquired device descriptor as the keyboard. selecting from among the device and the storage device, if selected as the keyboard device for processing configuration, and generates a control signal moistened with vendor request signal transmitted to said electronic device, said storage device If you choose to process the configuration Generating a control signal not including the vendor request signal and transmitting the control signal to the electronic device, and the electronic device includes the vendor request signal from the information processing device during the configuration process. Selecting the storage device as a device for performing a configuration process when receiving a non-control signal, and configuring the keyboard device when receiving a control signal including the vendor request signal from the information processing device. And selecting as a device for processing.
The information processing apparatus can determine whether the driver for the keyboard device included in the electronic device has been installed based on the device descriptor acquired from the electronic device. When the information processing device determines that the keyboard device driver has not been installed, the information processing device generates a control signal that does not include the vendor request signal and transmits the control signal to the electronic device, thereby configuring the storage device in the electronic device. It can be recognized as a device that performs. Further, when the information processing apparatus determines that the keyboard device driver has been installed, the information processing apparatus generates a control signal including a vendor request signal and transmits the control signal to the electronic device, thereby configuring the keyboard device in the electronic device. It can be recognized as a device for performing the processing. Therefore, the driver software can be automatically installed when the driver software is not installed in the information processing apparatus.
本発明は、簡単な構成で、装置の状態によらず必ずドライバソフトウェアを自動インストールすることができる。 According to the present invention, the driver software can always be automatically installed regardless of the state of the apparatus with a simple configuration.
添付図面を参照しながら本発明の好適な実施例を説明する。 Preferred embodiments of the present invention will be described with reference to the accompanying drawings.
図1は、本発明の第1実施例による情報処理システム1の構成を示すブロック図である。情報処理システム1は、情報処理装置10と電子装置30とを有する。情報処理装置10は例えば、パーソナルコンピュータである。電子装置30は情報処理装置10に接続可能な周辺装置であり、図1の例ではキーボードである。情報処理装置10と電子装置30とはUSBケーブル20で接続されている。以下、電子装置30をUSB装置という。また、情報処理装置10をPC10という。
FIG. 1 is a block diagram showing the configuration of an
PC10のOS11は例えば、マイクロソフト社のWindows(登録商標)である。図1は、キーボードドライバ12、記憶装置ドライバ13及びHUB(ハブ)ドライバ14がOS11上にインストールされている状態を示す。これらのドライバのうち、記憶装置ドライバ13とHUBドライバ14はOS11に最初から組み込まれている標準のデバイスドライバである。キーボードドライバ12は、後述する手順に従ってインストールされるものである。図示していないが、OS11にはOSを構成する様々なプログラムやその他の各種ドライバ、更には各種ユーティリティが組み込まれている。OS11は内部バス16を介してUSBホストコントローラ15に接続されている。なお、PC10のハードウェア構成はCPU、RAM、ROMなどを含む一般的なものである。USBホストコントローラ15はUSBをサポートするもので、PC10に接続される周辺装置の各装置(ファンクション)を結び付けてOS11上に周辺装置の各機能を提供する。
The OS 11 of the PC 10 is, for example, Windows (registered trademark) of Microsoft Corporation. FIG. 1 shows a state in which a
USB装置30は、キーボード装置31、記憶装置32及びUSB/HUBコントローラ33内に設けられたHUB装置34、スイッチ37を有する。キーボード装置31、記憶装置32及びHUB装置34は、PC10に対するファンクション(周辺機器)である。つまり、USBインタフェース上にトランザクションを発生させることができる。キーボード装置31と記憶装置32はそれぞれ、USBバスであるHUBポート35と36を介してUSB/HUBコントローラ33に接続されている。スイッチ37は、キーボード・イネーブル制御信号38を出力し、キーボード装置31をイネーブル状態とディスエーブル状態に設定する。
The
キーボード装置31は、キーボードを構成するハードウェアとソフトウェアを有する。キーボード装置31は、スイッチ37の出力するキーボード・イネーブル制御信号38でイネーブル状態とディスエーブル状態に設定される。イネーブル状態とは、キーボード装置31が動作可能な状態を意味する。また、ディスエーブル状態とは、少なくともキーボード装置31の接続がUSBインタフェース上で認識されない状態となることを意味する。キーボード装置31のディスエーブル状態の一例は後述する。このキーボード・イネーブル制御信号38は、専用の信号線であり、キーボード装置31の汎用入出力端子や外部割り込み端子に接続される。キーボード・イネーブル制御信号38がハイレベルの時はイネーブル状態、ローレベルの時はディスエーブル状態である。キーボード装置31がイネーブル状態に設定されると、USB仕様に従って、接続状態をHUBポート35に出力する。キーボード装置31のより詳細な構成については後述する。
The
記憶装置32は、記憶機能を提供するためのハードウェアとソフトフェアを有する。記憶装置32はキーボードドライバを格納している。後述するシーケンスに従い、記憶装置32からキーボードドライバが読み出され、OS11上にキーボードドライバ12として組み込まれる。記憶装置32のデバイスドライバは、予め記憶装置ドライバ13としてOS11に組み込まれている。なお、記憶装置32の一構成例は後述する。
The
USB/HUBコントローラ33はUSB及びHUBをサポートするハードウェア及びソフトウェアを有する。USB/HUBコントローラ33はHUB装置34有する。HUB装置34はHUBを制御するプログラム上で動作する内部プログラムであり、本実施の形態ではUSBとしてのファンクションである。HUB装置34は、USBケーブル20の状態を監視して、キーボード・イネーブル制御信号38をキーボード装置31に出力する機能を有する。なお、HUBとはUSB規程の集線装置であり、図1の構成ではキーボード装置31及び記憶装置32とUSBケーブル(USBバス、USBインタフェースといってもよい)との間でトランザクションを制御するものである。USB/HUBコントローラ33は、USB装置であるキーボード装置31と記憶装置32とをUSB規程に則って接続している。なお、USB/HUBコントローラ33の一構成例は後述する。
The USB /
次に、図2を参照しながら第1実施例の動作を説明する。なお、図2(a)にはUSB装置30の動作シーケンスを示し、図2(b)にはPC10の動作シーケンスを示す。
Next, the operation of the first embodiment will be described with reference to FIG. 2A shows an operation sequence of the
まず、USB装置30のスイッチ37をキーボード装置・ディスエーブル側に設定しておき、USB装置30をPC10に接続する。PC10にUSB装置30が接続されると、まずキーボード装置31がスイッチ37からのキーボード・イネーブル制御信号38の信号状態をチェックする(ステップS11)。信号がローレベルであれば(ステップS11/NO)、キーボード装置31をディスエーブル状態に制御し(ステップS12)、ハイレベルであれば(ステップS11/YES)、キーボード装置31をイネーブル状態に制御する(ステップS13)。ここでのスイッチ設定は、ディスエーブルに設定される。
First, the
PC10側では、OS11上に組み込まれているHUBドライバ14が動作を開始し、HUBコンフィギュレーションが設定される(ステップS31)。他方、USB装置30でもHUBコンフィギュレーションが設定される(ステップS14)。これにより、USB/HUBコントローラ33のHUB装置34が機能し始める。
On the
ここで、スイッチ37からのキーボード・イネーブル制御信号38をキーボード装置31により再度チェックする。キーボード・イネーブル制御信号38に変化がなかった場合には(ステップS15/NO)、再度キーボード・イネーブル制御信号38をチェックする(ステップS19)。また、キーボード・イネーブル制御信号38に変化があった場合には(ステップS16/YES)、キーボード・イネーブル制御信号がハイレベルであるか否かを判定する(ステップS16)。キーボード・イネーブル制御信号がハイレベルの場合には(ステップS16/YES)、キーボード装置31をイネーブル状態に制御し(ステップS18)、ローレベルの場合には(ステップS16/NO)、キーボード装置31をディスエーブル状態に制御する(ステップS17)。
Here, the keyboard enable
再度スイッチ37からのキーボード・イネーブル制御信号38の信号状態をチェックし、信号状態がローレベルであったならば(ステップS19/NO)、記憶装置32の稼動チェックに進み(ステップS20)、ハイレベルであったならば(ステップS19/YES)、キーボード装置処理へ進む(ステップS21)。ここでのスイッチ設定は、ローレベルであるので、記憶装置32の稼動チェックへ進む(ステップS20)。
The signal state of the keyboard enable
記憶装置32は、未コンフィギュレーション状態であるのため(ステップS20/NO、ステップS34/YES))、記憶装置処理へ進む(ステップS22、ステップS35)。記憶装置処理のシーケンスを図3に示す。図3(a)にはUSB装置30の動作シーケンスを示し、図3(b)にはPC10の動作シーケンスを示す。記憶装置32が動作を開始し、PC10側は、記憶装置32を検出する(ステップS51)。すると、OS11上に組み込まれている記憶装置ドライバ13によって、記憶装置32がコンフィギュレーションされる(ステップS52)。そして、記憶装置32がディスクドライブとして稼動する(ステップS53)。
Since the
図2のフローに戻って、スイッチ37の変化を監視し、スイッチ設定に変化が起きるまで、ステップS15〜ステップS20のシーケンスを繰り返す。
Returning to the flow of FIG. 2, the change of the
ここで、スイッチの設定がキーボード装置31をイネーブル状態にする設定に変更される。すると、スイッチ37からの信号状態の変化をキーボード装置31で検出し(ステップS15)、信号状態がハイレベルであればキーボード装置31をイネーブル状態に制御する(ステップS18)。次に、信号がハイレベルであるので(ステップS19、ステップS32/YES)、キーボード装置処理へ進む(ステップS21、ステップS33)。キーボード装置処理の詳細を図4に示す。図4(a)にはUSB装置30の動作シーケンスを示し、図4(b)にはPC10の動作シーケンスを示す。キーボード装置31は、キーボード・イネーブル制御信号38を受けて動作を開始しているので、PC10は、未知のキーボード装置を検出する(ステップS71)。PC10は、該当するドライバがPC10内部のHDDなどの記憶装置に格納されているかどうかを調べる。本例では、PC10内部にキーボードドライバを具備していない。従って、OS11は、外部ディスクドライブとして認識されている記憶装置32にアクセスする。すると、記憶装置32内に記録されているキーボードドライバを読み出し(ステップS72)、キーボード装置31をコンフィギュレーションする(ステップS73)。
Here, the setting of the switch is changed to a setting for enabling the
このようにして、自動的にキーボードドライバをOSに組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくUSB装置をPC10に接続しただけでUSB装置の利用を開始することができ、プラグアンドプレイを体感することができる。
In this way, the keyboard driver can be automatically incorporated into the OS. Therefore, when installing the driver, the user can start using the USB device just by connecting the USB device to the
なお、図示していないが、記憶装置32に予め書き込まれているキーボードドライバをReadOnly属性としておくことで、記憶装置32からキーボードドライバを誤って消去してしまう不具合を防止することができる。すなわち、USB装置30を接続した際には必ずキーボードドライバが読み込まれ、キーボード装置31が動作することを保証することができる。また、キーボードドライバを記憶装置32の書き込み不可領域に書き込んでおくこともできる。この場合もキーボードドライバが記憶装置32から消去されてしまうことがない。
Although not shown, by setting a keyboard driver written in advance in the
図5にキーボード装置31の詳細な構成を示す。キーボード装置31はUSBインタフェース上のファンクション(周辺機器)であって、MCU(Micro Control Unit)313、キーボードマトリクス311及びこれらを接続するポート312を有する。MCU313はマトリクススキャン314、RAM315、インタフェースエンジン(IFエンジン)316、周辺エンジン317、ROM318及びデータ解析エンジン319を具備する。
FIG. 5 shows a detailed configuration of the
キーボードマトリクス311は複数のキーがマトリクス状に配列された機構的部分である。マトリクススキャン314はキーボードマトリクス311をスキャンしてキーのON/OFFを調査する部分であり、キーボードに必要なスキャンロジックである。キーボードマトリクス311は周辺エンジン317に対してポート312経由で接続されている。周辺エンジン317には、汎用入出力ポートや割り込み端子を介して、スイッチ37からのキーボード・イネーブル制御信号38が与えられる。キーボード・イネーブル制御信号38は、MCU313がそのハイレベルとローレベルレベルを検出できる信号であるならば、任意の仕様を持つことができる。前述したように、キーボード・イネーブル制御信号38がハイレベルであればキーボード装置31は動作可能なイネーブル状態であり、ローレベルであれば動作してはならないディスエーブル状態である。データ解析エンジン319は、マトリクススキャン314と周辺エンジン317からキーデータを取得し、またキーボード・イネーブル制御信号38のレベルをチェックして動作が許可されているかどうかを判断するなど、MCU313全体を制御する部分である。
The
インタフェースエンジン(IFエンジン)316はキーボード装置31を外部に接続するためのインタフェースを提供するもので、接続状態を監視・制御し、外部バスインタフェース(USBケーブル20に相当する)を通じてあらゆるトランザクションを制御する。データ解析エンジン319は、キーボード・イネーブル制御信号38の状態がハイレベルであれば、インタフェースエンジン(IFエンジン)316とマトリクススキャン314の動作を許可し、ローレベルであれば、インタフェースエンジン(IFエンジン)316とマトリクススキャン314の動作を禁止する。周辺エンジン317は、キーボード・イネーブル制御信号38の状態を検出するために、ディスエーブル状態であっても動作している。データ解析エンジン319は、インタフェースエンジン(IFエンジン)316の動作を許可している間、マトリクススキャン313からキー状態を受けとり、必要ならばインタフェースエンジン(IFエンジン)316を通じて外部にデータを出力させる。また、データ解析エンジン319は、インタフェースエンジン(IFエンジン)316を通して外部から入力されたデータを受け取り、データ内容に応じた適切な処理を施す。マトリクススキャン314、データ解析エンジン319及びインタフェースエンジン(IFエンジン)316はMCU313上のROM318もしくはRAM315上、又はMCU313に外付けされたROMやRAM上で動作する。また、マトリクススキャン314、周辺エンジン317及びデータ解析エンジン319が必要とする各種データも、MCU313上のROM318もしくはRAM315、又はMCU313に外付けされたROMやRAMに格納されている。
The interface engine (IF engine) 316 provides an interface for connecting the
図6は、記憶装置32の一構成例を示すブロック図である。記憶装置32はUSBインタフェース上のファンクション(周辺機器)であって、MCU(Micro Control Unit)320、不揮発性記憶装置321及びこれらを接続するポート322を有する。MCU320はファイルシステムエンジン324、RAM325、インタフェースエンジン(IFエンジン)326、周辺エンジン327、ROM328及びデータ解析エンジン329を具備する。
FIG. 6 is a block diagram illustrating a configuration example of the
不揮発性記憶装置321は、フラッシュROMやFeRAMなどの不揮発性メモリで構成され、MCU320で制御される。この不揮発性記憶装置321内に、キーボード装置31のドライバが格納されている。不揮発性記憶装置321は、ポート322を介してMCU320上の周辺エンジン327に接続され、MCU320から見ると、外部接続された又は内部のRAM/ROMとして見える。MCU320上に内蔵されるRAM325やROM328の存在の有無にかかわらず、不揮発性記憶装置321は外部バスインタフェース(USBケーブル20に相当する)にとって有効なディスクドライブとして動作する。そのため、不揮発性記憶装置321上の内容をファイルとして管理するファイルシステムエンジン324がMCU320に搭載されている。ファイルシステムエンジン324は、不揮発性記憶装置321上に展開されるメモリ内容をファイルとして管理する。管理方法には種々の方法があるが、例えばPC10側にあるファイルを記憶装置32に保存する場合を考えると、そのファイルの内容に一致するメモリ内容が、記憶装置32上のメモリのどの位置に記録され、それとファイル名やタイムスタンプの情報など、前記記録された内容がファイルであることを示す情報が同じく記憶装置32上のメモリのどの位置に記録されているか、またはその記録手段などの情報を管理する。HUBポート36からは、ファイルの読み書き要求がMCU320のインタフェースエンジン(IFエンジン)326に対して発行される。データ解析エンジン329は、上記要求の内容を調査してファイルシステムエンジン324や周辺エンジン327を制御する。
The nonvolatile storage device 321 is configured by a nonvolatile memory such as a flash ROM or FeRAM, and is controlled by the
図7は、USB/HUBコントローラ33のうちのHUBコントローラ340の一構成例を示すブロック図である。HUBコントローラ340はインタフェースエンジン(IFエンジン)341、RAM342、データ解析エンジン343、ROM344,周辺エンジン345、HUBインタフェースエンジン(IFエンジン)346を有する。図1に示すHUB装置34は、周辺エンジン345で実現される。
FIG. 7 is a block diagram showing a configuration example of the
HUBポート35及び36は、HUBインタフェースエンジン(IFエンジン)346に接続されている。HUBインタフェースエンジン(IFエンジン)346は図2に示すステップS14、S31のHUBコンフィギュレーションの確立処理を行う。USBケーブル20はインタフェースエンジン(IFエンジン)341に接続されている。データ解析エンジン343は、HUBポート35や36、及びUSBケーブル20を介して受信したデータや信号を解析し、HUBコントローラ340全体を制御する。RAM342は各エンジンの作業用メモリとして機能する。ROM344には、各エンジンの動作を記述したプログラムやデータが格納されている。
The
[実施例1の変形例]
キーボード装置310のイネーブル状態とディスエーブル状態とを切り替える他の例として、次のものが挙げられる。図8に示す情報処理システム1は、PC10上で動作するアプリケーションソフトウェア17から上述したキーボード・イネーブル制御信号38をキーボード装置31に入力する。アプリケーションソフトウェア17からベンダーリクエストとしてキーボードドライバ12に送信し、キーボードドライバ12から図8の矢印の順でキーボード装置31に到達する。キーボード装置31はUSB/HUBコントローラ33から出力されるキーボード・イネーブル制御信号38を入力して、この信号によりイネーブル状態とディスエーブル状態とを切り替える。
[Modification of Example 1]
Other examples of switching between the enabled state and the disabled state of the keyboard device 310 include the following. The
また、図9に示す情報処理システム1は、USB装置30内にRFID(Radio Frequency-Identification)装置50を組み込んでいる。外部のRFID書き込み装置51により、USB装置30内のRFID装置50にキーボード装置31のイネーブル状態とディスエーブル状態を設定する。RFID装置50は外部のRFID書き込み装置51からの設定により、キーボード・イネーブル制御信号38をキーボード装置31に出力する。キーボード装置31は、キーボード・イネーブル制御信号38によりイネーブル状態とディスエーブル状態に設定される。なお、RFIDを用いることで、特定のユーザだけがRFID装置50に書き込みを行うことができる。本実施例では、キーボード装置31を搭載したUSB装置30を例に説明しているが、このキーボード装置31を他の周辺装置とした場合に、USB装置30にRFID装置50を搭載することによって、特定のユーザだけに周辺装置の使用が許可されるように構成することもできる。
In addition, the
また、図10に示す情報処理システム1は、専用に設けたイネーブル/ディスエーブル設定装置60によりキーボード装置31のイネーブルとディスエーブルとを設定する。イネーブル/ディスエーブル設定装置60は、USB装置30に接続されると、インタフェースエンジン(IFエンジン)62を通じてUSB装置30にキーボード・イネーブル制御信号の状態を変更させる信号を送信する。USB装置30は、この信号をUSB/HUBコントローラ33で受信し、受信した信号に基づいてキーボード・イネーブル制御信号を設定する。
In addition, the
イネーブル/ディスエーブル設定装置60のインタフェースエンジン(IFエンジン)62がUSBホストコントローラであったならば、キーボード・イネーブル制御信号の状態を変更させる信号をUSB仕様に基づいたベンダーリクエストコマンドとして送信することができる。インタフェースエンジン(IFエンジン)62をUSB仕様で定められている信号特性のみに準拠した装置とすれば、例えば、前記インタフェースエンジン(IFエンジン)62より接続から一定期間内に一定の間隔でリセット信号状態とIDLE信号状態を交互に送信するようにする。USB装置30は、この一定期間内のリセット信号のリセット回数をカウントすることで、キーボードイネーブル制御信号をイネーブル状態とディスエーブル状態のどちらに制御すればよいか判定可能となり、安価にイネーブル/ディスエーブル設定装置60を安価に提供することができる。
If the interface engine (IF engine) 62 of the enable / disable setting
図11は、イネーブル/ディスエーブル設定装置60とUSB装置30との間に専用の信号線71を設け、その接続を行う専用のインタフェース70を持たせた構成である。イネーブル/ディスエーブル設定装置60によりUSB装置30内のキーボード装置31に直接キーボードイネーブル制御信号を送信することを特徴としている。
FIG. 11 shows a configuration in which a
これらの構成の情報処理システム1により、キーボード装置31のドライバがインストールされていないPC10へ接続する場合に、キーボード装置31がディスエーブルされた初期状態に戻すことが可能となる。逆に、キーボード装置31のドライバがインストールされているPC10へUSB装置30を接続する場合には、事前にキーボード装置31をイネーブル状態として接続することができる。
The
また、図12に示すように記憶装置32は、USB装置30の外部に外部記憶装置70として設けてもよい。図12に示すようにUSB装置30に接続インタフェース71を設けて、USB装置30と外部記憶装置70とを接続する。
Further, as illustrated in FIG. 12, the
またUSB装置30と外部記憶装置70とはネットワーク接続する構成であってもよい。外部記憶装置70とUSB装置30とが離れた場所にあり、ネットワークを介して外部記憶装置70から取得したドライバを、PC10側に組み込む。
The
このように記憶装置を外部記憶装置70又はネットワーク接続としたことで、ドライバが更新されたときの処理が非常に簡単になる。また外部記憶装置とすることで、ドライバの保存先を共通化することもできる。
As described above, since the storage device is the
また、USB装置30内の記憶装置32の他に、外部記憶装置70を設ける構成であってもよい。この場合、USB装置30にスイッチを設けて、USB装置30内の記憶装置32を優先するのか、外部記憶装置70を優先するのかを設定してもよい。また、外部記憶装置70の接続をトリガとして、外部記憶装置70を優先させるようにしてもよい。
In addition to the
また、外部記憶装置70をリムーバブルディスクとして認識させておけば、取り外してもシステムに影響はなく、使い勝手を向上させることができる。この場合、USB/HUBコントローラ33にスイッチを設けて、リムーバブルディスクとキーボード装置31とを切り換える構成、またはUSB/HUBコントローラ33に、リムーバブルディスクとキーボード装置31とを複合装置として認識させる構成を取る。
Further, if the
次に、本発明の第2実施例について説明する。本実施例のUSB装置30は、図13に示すようにマルチ機能コントローラ40を備えている。マルチ機能コントローラ40は、キーボード装置41と記憶装置42とを有する。キーボード装置41と記憶装置42とは、マルチ機能コントローラ40上で一つの物理デバイスとして存在する。キーボード装置41と記憶装置42は、USBケーブル20を介してUSBホストコントローラ15に接続されている。
Next, a second embodiment of the present invention will be described. The
また、マルチ機能コントローラ40とスイッチ37との間は、専用の信号線によって接続され、マルチ機能コントローラ40の汎用入出力端子や外部割り込み端子に接続される。スイッチ37からのキーボード・イネーブル制御信号38は、マルチ機能コントローラ40のRAM44上のメモリ・ステータスに格納される。キーボード装置41は、RAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン413で解析し、イネーブル状態とディスエーブル状態に切り替える。
Further, the
図14は、キーボード装置41の一構成例を示すブロック図である。キーボード装置41はキーボードマトリクス411、マトリクススキャン412及びデータ解析エンジン413を有する。マルチ機能コントローラ40は、RAM44、インタフェースエンジン(IFエンジン)43、周辺エンジン46及びROM45を有する。これらの構成要素は、キーボード装置41の構成要素でもあり、全体として図5に示すキーボード装置31と同一の構成及び作用が実現されている。キーボード装置41は、RAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン413で解析し、イネーブル状態とディスエーブル状態に切り替える。
FIG. 14 is a block diagram illustrating a configuration example of the
図15は、記憶装置42の一構成例を示すブロック図である。記憶装置42は、不揮発性記憶装置421、ファイルシステム・エンジン422及びデータ解析エンジン423を有する。マルチ機能コントローラ40のRAM44、インタフェースエンジン(IFエンジン)43、周辺エンジン46及びROM45は、記憶装置42の構成要素でもある。つまり、構成要素44〜46はキーボード装置41と記憶装置42とで共用されている。記憶装置42の機能は、図6に示す記憶装置32の機能と同様である。
FIG. 15 is a block diagram illustrating a configuration example of the storage device 42. The storage device 42 includes a nonvolatile storage device 421, a
本実施例でも上述したようにスイッチ37がキーボード装置41へキーボード・イネーブル制御信号38を出力する。まず、USB装置30のスイッチ37をキーボード装置41がディスエーブルになるように設定しておき、USB装置30をPC10へ接続する。記憶装置32がディスクドライブとして動作を開始した後、スイッチ37をキーボード・イネーブル状態へ切替えると、キーボード装置31が動作を開始し、スイッチ37からキーボード・イネーブル制御信号38が出力される。この信号をマルチ機能コントローラ40に入力し、図14に示すRAM44上のメモリ・ステータスに格納する。その後は、上述した手順によりキーボード装置31を使用可能とする。
Also in this embodiment, the
これにより、自動的にキーボードドライバをOSに組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくUSB装置30をPC10に接続しただけでUSB装置30の利用を開始することができ、プラグアンドプレイを体感することができる。
Thereby, the keyboard driver can be automatically incorporated into the OS. Therefore, when installing the driver, the user can start using the
なお、マルチ機能コントローラ40を有するUSB装置30においても、上述した第1実施例の図8から図11に示す変形例を適用することができる。図16には、マルチ機能コントローラ40を有するUSB装置30において、RFID装置50によりキーボード装置31のイネーブル状態とディスエーブル状態とを切り替える構成を示す。
Note that the modification examples shown in FIGS. 8 to 11 of the first embodiment described above can also be applied to the
次に本発明の第3実施例について説明する。本実施例の構成を図17に示す。本実施例も、スイッチ37からのキーボード・イネーブル制御信号38をRAM44に格納する。キーボード装置41は、RAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン413で解析し、イネーブル状態とディスエーブル状態とに切り替える。同様に記憶装置42もRAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン423で解析し、イネーブル状態とディスエーブル状態とに切り替える。すなわち、キーボード装置41がキーボード・イネーブル制御信号38によってイネーブル状態となると、記憶装置42は、記憶装置・ディスエーブル制御信号47によってディスエーブル状態に設定される。
Next, a third embodiment of the present invention will be described. The configuration of this embodiment is shown in FIG. Also in this embodiment, the keyboard enable
本実施例の動作手順を図18〜図20のフローチャートを参照しながら説明する。なお、図18〜図20のフローチャートにおいて、(a)にはUSB装置30の動作シーケンスを示し、(b)にはPC10の動作シーケンスを示す。USB装置30のスイッチ37を、キーボード装置41をディスエーブル状態とする設定にしておき、USB装置30をPC10へ接続する。すると、マルチ機能コントローラ40は、まず、キーボード・イネーブル制御信号38の信号レベルをチェックし(ステップS82)、信号レベルがローレベルであれば、キーボード装置41をディスエーブル状態に制御し(ステップS83)、記憶装置42をイネーブル状態に制御する(ステップS84)。そして、記憶装置42の装置情報をROM45から読み出してRAM44に書き込み、PC10への送出準備を行う(ステップS85)。このとき、記憶装置42の装置情報には、記憶装置42がPC10にコンフィギュレーションされる時に、記憶装置42が、動作の開始とともに起動するCD−ROMとしてコンフィギュレーションされるように記述されている。
The operation procedure of the present embodiment will be described with reference to the flowcharts of FIGS. 18 to 20, (a) shows the operation sequence of the
次にスイッチ37からのキーボード・イネーブル制御信号38のレベルに変化があるかどうかをチェックする(ステップS89)。ここでは、変化が無いので(ステップS89/NO)、スイッチ37の信号レベルをチェックする(ステップS97)。スイッチ37のキーボード・イネーブル制御信号38はローレベルにあるので(ステップS97/NO)、記憶装置42が稼働しているか否かを確認する(ステップS98)。記憶装置42は未コンフィギュレーションであるので記憶装置処理へと進む(ステップS99)。記憶装置処理のシーケンスを図19に示す。ここでは、記憶装置42が検出されると(ステップS131)、OS上に組み込まれている記憶装置ドライバ13によって記憶装置42がコンフィギュレーションされる(ステップS132)。その際、記憶装置情報にCD−ROMとの記述があるので、PC10は、記憶装置42をCD−ROMとしてコンフィギュレーションする。
Next, it is checked whether there is a change in the level of the keyboard enable
USB装置30には、あらかじめ記憶装置42がCD−ROMとして稼動し始めた場合に、キーボードドライバのインストーラが起動するように記憶装置42に記録しておく。そして、記憶装置42がCD−ROMとして稼動すると(ステップS122、S133)、キーボード装置ドライバのインストーラが自動的に実行される(ステップS133、134)。このインストーラによってキーボード装置ドライバが記憶装置42から読み出され、PC10にコピーされる(ステップS135)。その後は、スイッチ37からのキーボード・イネーブル制御信号38のレベルチェックを繰り返す(ステップS89)。
The
そして、スイッチ37からのキーボード・イネーブル制御信号38が、キーボード・イネーブル、すなわち記憶装置ディスエーブル状態に切替えられると、次のスイッチ37の信号レベルチェックで信号レベルの変化を検出する(ステップS89/YES)。そして、スイッチ37の信号レベルチェックを実施し(ステップS90)、キーボード・イネーブル制御信号38がハイレベルであれば(ステップS90/YES)、キーボード装置41をイネーブルに制御し(ステップS94)、記憶装置42をディスエーブル状態に制御する(ステップS95)。また、キーボード装置41の装置情報をROM45からRAM44にコピーし、装置情報の送信準備を行う。次のスイッチ37の信号レベルチェックでは、キーボード・イネーブル制御信号38がハイレベルになっているので(ステップS97/YES)、キーボード処理へと進む(ステップS100、S113)。キーボード処理のシーケンスを図20に示す。
When the keyboard enable
図20に示すキーボード処理のシーケンスでは、キーボード装置41は、スイッチ37からのキーボード・イネーブル制御信号38を受けて動作を開始しており、送信する装置情報がキーボード装置のものに書き換えられている。従ってPC10側は、未知のキーボード装置41を検出する(ステップS151)。すると、PC10内部の記憶装置(図示せず)に前記ドライバ・コピーステート(図19に示すステップS135)にてコピーされたキーボードドライバを読み出し、キーボード装置41をコンフィギュレーションする(ステップS153)。
In the keyboard processing sequence shown in FIG. 20, the
このようにして、自動的にキーボードドライバをOSに組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくUSB装置30をPC10に接続しただけでUSB装置30の利用を開始することができ、プラグアンドプレイを体感することができる。
In this way, the keyboard driver can be automatically incorporated into the OS. Therefore, when installing the driver, the user can start using the
次に本発明の第4実施例について説明する。本実施例は、図21に示すようにマルチ機能コントローラ40にキーボード装置41と記憶装置42とが組み込まれた構成において、スイッチ37ではなく、記憶装置42によってキーボード装置41と記憶装置42のイネーブル/ディスエーブルを制御する。
Next, a fourth embodiment of the present invention will be described. In the present embodiment, as shown in FIG. 21, in the configuration in which the
本実施例の動作手順を図23に示すフローチャートを参照しながら説明する。図23(a)にはUSB装置30の動作シーケンスを示し、図23(b)にはPC10の動作シーケンスを示す。初期状態において、USB装置30のキーボード装置41をディスエーブルに設定し、記憶装置42をイネーブルに設定しておく。USB装置30をPC10へ接続すると(ステップS161)、マルチ機能コントローラ40によって、周辺エンジン46を経由して記憶装置42内の不揮発性記憶装置421(図22に示す)からキーボード・イネーブル制御信号38が読み出され、RAM44にセットされる。この信号状態に基づき、キーボード装置41と記憶装置42がイネーブル状態もしくはディスエーブル状態に制御される。図14にRAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン413で解析し、キーボード装置41の状態を設定する様子を示す。また図22にRAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン423で解析し、記憶装置42の状態を設定する様子を示す。
The operation procedure of this embodiment will be described with reference to the flowchart shown in FIG. FIG. 23A shows an operation sequence of the
ここでは、初期状態であるので、キーボード・イネーブル制御信号38はローレベルに設定されており(ステップS162/NO)、キーボード装置41がディスエーブル状態に制御され、記憶装置42がイネーブル状態に制御される。そして、記憶装置42の装置情報がROM45から読み出され、RAM44にコピーされ、PC10からの読み出しに備える(ステップS163)。装置情報のコピーが完了した段階で記憶装置42が動作を開始し、PC10が記憶装置42を検出する(ステップS182)。ここでは、上述した第1実施例と同様に、OS上に組み込まれている記憶装置ドライバ13によって、記憶装置42がコンフィギュレーションされる(ステップS183)。そして、記憶装置42がディスクドライブとして稼動する(ステップS184)。ここで、記憶装置42は、第3実施例と同様にCD−ROMとしてコンフィギュレーションされており、記憶装置42がCD−ROMとして稼動すると、キーボードドライバのインストーラが自動的に実行される(ステップS166、S185)。このインストーラによってキーボードドライバが記憶装置42から読み出され(ステップS167)、PC10にコピーされる(ステップS186)。記憶装置42は、キーボードドライバのコピーが完了したことを検出し(ステップS168/YES)、マルチ機能コントローラ40へ記憶装置ディスエーブル制御信号とキーボード・イネーブル制御信号を出力する(ステップS169)。
Here, since it is an initial state, the keyboard enable
マルチ機能コントローラ40は、記憶装置ディスエーブル制御信号47とキーボード・イネーブル制御信号38を受けて、記憶装置42をディスエーブル状態に制御し、キーボード装置41の装置情報をROM45から読み出しRAM44へコピーする(ステップS170)。そしてキーボード装置41をイネーブル状態に制御する(ステップS171)。すると、PC10側は、未知のキーボード装置41を検出する(ステップS172、S187)。PC10内部の記憶装置(図示せず)に前記ドライバ・コピーステートにてコピーされたキーボードドライバを読み出し(ステップS188)、キーボード装置41をコンフィギュレーションする(ステップS189)。コンフィギュレーションされたキーボード装置41が動作を開始する(ステップS173、S190)。
The
このようにして、自動的にキーボードドライバをOSに組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくUSB装置をPCに接続しただけでUSB装置の利用を開始することができ、プラグアンドプレイを体感することができる。 In this way, the keyboard driver can be automatically incorporated into the OS. Therefore, when installing the driver, the user can start using the USB device just by connecting the USB device to the PC without worrying about the storage means in which the driver is stored, and can experience plug and play. be able to.
またキーボード・イネーブル制御信号38の信号レベルをチェックする時に(ステップS162)、この信号のハイレベルを検出した場合は、既に1回以上PC10へ接続されていたものとみなし、キーボード装置41がイネーブル状態に制御され、記憶装置42がディスエーブル状態に制御される。そして、キーボード装置41の装置情報がROM45から読み出され、RAM44にコピーされる。その後、キーボード接続の手順となり、キーボード装置41がコンフィギュレーションされる。
When the signal level of the keyboard enable
上述した図23のフローでは、USB装置30が1度でもPC10に接続されると、次回からはキーボード装置41として動作することとなり、記憶装置42が動作しない。つまり、USB装置30が接続された経験のないPC10へ、1度以上PC10に接続した経験のあるUSB装置30を接続すると、未知のキーボード装置として検出される。この場合、PC10内部の記憶装置には、ドライバが存在しないので、ドライバのインストールを要求され、自動的にインストールすることが出来ない。この場合において、自動的にインストールを行うためには、USB装置30を初期化する手順が発生する。
In the flow of FIG. 23 described above, if the
この問題を解決し、USB装置30を初期化する手順を無くすため、記憶装置42をコンフィギュレーションするOSに組み込まれた記憶装置ドライバ13と、キーボード装置41をコンフィギュレーションするキーボードドライバ12とに、USB仕様によって定められたコンフィギュレーションに影響を与えない範囲で、コンフィギュレーション手順に違いを持たせる。これによって、記憶装置ドライバ13によってUSB装置30がコンフィギュレーションされているのか、キーボードドライバ12によってUSB装置30がコンフィギュレーションされているのかを検出する。さらに、USB仕様のコンフィギュレーションに影響を与えないタイミングで、検出した装置の装置情報をROM45から読み出し、RAM44にコピーしてPC10へ送信する。これにより、USB装置30が接続された経験のないPC10では、キーボード装置41のドライバが自動的にインストールされ、USB装置30が接続された経験のあるPC10では、キーボードとして動作させることが可能となる。
In order to solve this problem and eliminate the procedure for initializing the
本実施例は、スイッチ37等によってUSB装置30を初期化する手順をなくすため、記憶装置32をコンフィギュレーションするOS11に組み込まれた記憶装置ドライバ13と、キーボード装置31をコンフィギュレーションするキーボードドライバ12とに、USB仕様によって定められたコンフィギュレーションに影響を与えない範囲内で、コンフィギュレーション手順に違いを持たせる。
In this embodiment, in order to eliminate the procedure for initializing the
記憶装置ドライバ13によって記憶装置32がコンフィギュレーションされているのか、キーボードドライバ12によってUSB装置30がコンフィギュレーションされているのかを検出し、さらに、USB仕様のコンフィギュレーションに影響を与えないタイミングで、検出した装置の装置情報をROM45から読み出し、RAM44にコピーしてPC10へ送信する。これにより、USB装置30が接続された経験のないPC10では、キーボード装置41のドライバが自動的にインストールされ、USB装置30が接続された経験のあるPC10では、キーボード装置31として動作させることが可能となる。
It is detected whether the
まず図24、25を参照しながらUSB装置30の一般的なコンフィギュレーションの手順を説明する。図24には、USB装置30とPC10との一般的なコンフィギュレーションの手順が示されている。PC10は、USB装置30を検出すると(ステップS211)、Device DescriptorをUSB装置30に要求する(ステップS212)。USB通信での最大パケットサイズを取得するため、グローバルアドレスに対してDevice Descriptorの要求を行う。USB装置30は、この要求に答えてDevice DescriptorをPC10に送出する(ステップS202)。Device Descriptorを取得したPC10では、ポートのリセットが行われ(ステップS213)、USB装置30ではUSB装置30のリセットが行われる(ステップS203)。
First, a general configuration procedure of the
次に、PC10は、USB装置30に対してDescriptorの要求を出力する(ステップS214)。この要求は、OSがドライバを検索するために全てのDescriptorを読み出すために行われる。USB装置30は、この要求に応答してDescriptorをPC10に送出する(ステップS204)。Descriptorの送受信のフローについは後述する。
Next, the
Descriptorを取得したPC10は、ドライバの検索(ステップS215)と、ドライバのロードとを行い(ステップS216)、ロードされたドライバによって再度Descriptorの要求がUSB装置30に出力される(ステップS217)。この要求に応答したUSB装置30は、Descriptorを送出し(ステップS205)、コンフィギュレーションが完了する(ステップS218)。ここでのDescriptorの送受信のフローは、ステップS204、S214のフローと同様であり詳細は後述する。
The
このようにDevice Descriptorの要求は、USB通信での最大パケットサイズを取得するため、グローバルアドレスに対して1回要求し、次に、OSがドライバを検索するために全てのDescriptorを読み出す際に1回要求され、最後に、ドライバによって1回要求されるという3回が一般的である。ただし、HUBクラスのように、Class DescriptorとDevice Descriptorが同じ場合には、Class Descriptorの要求の際に、もう1回要求される場合もある。 In this way, the Device Descriptor request is issued once for the global address in order to acquire the maximum packet size in USB communication, and then 1 when the OS reads all Descriptors to search for drivers. Three times are common, requested once and finally requested once by the driver. However, when the Class Descriptor and the Device Descriptor are the same as in the HUB class, it may be requested once more when the Class Descriptor is requested.
図25を参照しながらDescriptorの要求開始から受信までのフローを説明する。PC10は、Descriptorの要求を開始すると(ステップS231)、まずDevice Descriptorの送出要求(ステップS232)をUSB装置30に出力する。この要求に答えてUSB装置30は、Device DescriptorをPC10に送出する(ステップS222)。次に、PC10は、Configuration Descriptorの送信要求をUSB装置30に出力する(ステップS233)。この要求に答えてUSB装置30は、Configuration DescriptorをPC10に送出する(ステップS223)。次に、PC10は、Configuration-Endpoint Descriptorの送信要求をUSB装置30に出力する(ステップS234)。なお、Configuration-Endpoint Descriptorの要求は、Configuration Descriptor,Interface Descriptor,Class Descriptor,Endpoint Descriptorを一括して要求するものである。この要求に答えてUSB装置30は、上記のDescriptorをPC10に送出する(ステップS224)。最後に、PC10は、String Descriptorの送信要求をUSB装置30に出力する(ステップS235)。この要求に答えてUSB装置30は、String DescriptorをPC10に送出して(ステップS225)、Descriptorの送出手順を終了する。なお、本フローでは、String Descriptorの要求回数を1回としているが、String Descriptorの要求回数は装置の構成によって異なる。
With reference to FIG. 25, the flow from the start to reception of the Descriptor request will be described. When the
次に、本実施例の手順を説明する。本実施例は、Device Descriptorの要求回数が一定となることに着目し、キーボードドライバで意図的にDevice Descriptorを複数回要求し、USB装置30内部では、Device Descriptorが読み出された回数をカウントすることで、OSに組み込まれている記憶装置ドライバ13によるコンフィギュレーションか、キーボードドライバ12によるコンフィギュレーションかを判別する。
Next, the procedure of the present embodiment will be described. In this embodiment, paying attention to the fact that the number of times the Device Descriptor is requested is fixed, the keyboard driver intentionally requests the Device Descriptor a plurality of times, and the
図26に本実施例のコンフィギュレーションの手順を示し、図27に、図26のステップS245とS254のDescriptorの要求と送出の手順を示し、図28に、図26のステップS246とS257のキーボードドライバ12によるDescriptorの要求と送出の手順を示す。 FIG. 26 shows the configuration procedure of the present embodiment, FIG. 27 shows the Descriptor request and transmission procedure of steps S245 and S254 of FIG. 26, and FIG. 28 shows the keyboard driver of steps S246 and S257 of FIG. 12 shows a procedure for requesting and sending a descriptor by No. 12.
本実施例のコンフィギュレーションの手順は、図26に示すようにPC10は、USB装置を検出すると(ステップS251)、USB装置30にDevice Descriptorを要求する(ステップS252)。USB装置30は、PC10からの要求(ステップS252)に従ってDevice Descriptorを送出すると(ステップS242)、Device Descriptorの送出回数をカウントする(ステップS243)。Device Descriptorを取得したPC10では、ポートのリセットが行われ(ステップS253)、USB装置30ではUSB装置30のリセットが行われる(ステップS244)。
In the configuration procedure of this embodiment, as shown in FIG. 26, when the
次に、PC10は、USB装置30に対してDescriptorの要求を出力する(ステップS254)。この要求は、OSがドライバを検索するために全てのDescriptorを読み出すために行われる。USB装置30は、この要求に応答してDescriptorをPC10に送出する(ステップS245)。Descriptorの送受信のフローについては後述する。
Next, the
Descriptorを取得したPC10は、ドライバの検索(ステップS255)と、ドライバのロードとを行い(ステップS256)、ロードされたドライバによって再度Descriptorの要求がUSB装置30に出力される(ステップS257)。この要求に応答したUSB装置30は、Descriptorを送出し(ステップS246)、コンフィギュレーションが完了する(ステップS258)。ステップS246、257のDescriptorの送受信のフローについても後述する。
The
次に、上述したステップS254とS245のDescriptorの送受信のフローについて図27を参照しながら説明する。PC10は、Descriptorの要求を開始すると(ステップS271)、まずDevice DescriptorをUSB装置30に要求する(ステップS272)。USB装置30は、Device DescriptorをPC10に送出し(ステップS262)、Device Descriptorの送出回数をカウントする(ステップS263)。
Next, the Descriptor transmission / reception flow of steps S254 and S245 described above will be described with reference to FIG. When the
Device Descriptorを受信したPC10は、次に、Configuration DescriptorをUSB装置30に要求する(ステップS273)。この要求に答えてUSB装置30は、Configuration DescriptorをPC10に送出する(ステップS264)。次に、PC10は、Configuration-Endpoint Descriptorの送信要求をUSB装置30に出力する(ステップS274)。なお、Configuration-Endpoint Descriptorの要求は、Configuration Descriptor,Interface Descriptor,Class Descriptor,Endpoint Descriptorを一括して要求するものである。この要求に答えてUSB装置30は、上記のDescriptorをPC10に送出する(ステップS265)。最後に、PC10は、String Descriptorの送信要求をUSB装置30に出力する(ステップS275)。この要求に答えてUSB装置30は、String DescriptorをPC10に送出して(ステップS266)、Descriptorの送出手順を終了する。なお、本フローでも、String Descriptorの要求回数を1回としているが、String Descriptorの要求回数は装置の構成によって異なる。
The
次に、図26のステップS246とS257のキーボードドライバ12によるDescriptorの要求と送出の手順を図28を参照しながら説明する。PC10は、Descriptorの要求を開始すると(ステップS301)、まずDevice Descriptorの要求を3回連続して行う(ステップS302、S303)。USB装置30では、PC10からDevice Descriptorの要求があると、Device DescriptorをPC10に送出し(ステップS282、284、286)、Device Descriptorを送出する毎に送出回数をカウントする(ステップS283、285、287)。USB装置30は、Device Descriptorのカウント数が5回以上となると(ステップS288/YES)、キーボードドライバ12によるコンフィギュレーションと判断し、キーボード装置31の装置情報をROM45から読み出しRAM44にコピーする。図26に示すステップS242で1回、S245で1回、S246で3回Device Descriptorが送出されるため、合計の送出回数が5回以上となる。
Next, the Descriptor request and transmission procedure by the
またDevice Descriptorの送出回数5回をチェックするシーケンス(ステップS288)で、送出回数が5回に満たない場合には、記憶装置ドライバ13によるコンフィギュレーションと判断し、記憶装置42の装置情報をROM45から読み出しRAM44へコピーする(ステップS290)。その後に、装置を構成するために必要なConfiguration Descriptor(ステップS304)、Configuration-Endpoint Descriptor(ステップS305)、String Descriptor(ステップS306)がPC10からの要求に従って順次USB装置30からPC10に送出される(ステップS291、ステップS292、ステップS293)。従って、USB仕様のコンフィギュレーションに影響を与えることなく、記憶装置とキーボード装置の切り替えを行うことが可能である。なお、本フローでは、Device Descriptorの送出回数をカウントしているが、Configuration Descriptorの送出回数をカウントしてもよい。
Also, in the sequence for checking the number of times of sending Device Descriptor (step S288), if the number of times of sending is less than 5, it is determined that the configuration is made by the
また、上述した手順の変形例として、USB装置30がPC10からのベンダーリクエストに応じて、キーボード装置31と記憶装置32の有効、無効を切り換えるようにしてもよい。この手順を図29に示すフローチャートを参照しながら説明する。PC10は、Descriptorの要求を開始すると、まず、Device DescriptorをUSB装置30に要求する(ステップS321)。USB装置30は、Device DescriptorをPC10に送出する(ステップS311)。次に、PC10は、コンフィグレーション中にベンダーリクエストをUSB装置30に対して要求する(ステップS322)。USB装置30は、PC10からベンダーリクエストの要求を受け付けた場合(ステップS312/YES)、既にドライバがインストール済みと判定し第1の装置としてのキーボード装置31を有効する(ステップSS315)。
As a modified example of the above-described procedure, the
また、PC10側で、コンフィグレーション中にベンダーリクエストの要求がなかった場合(ステップS312/NO)、記憶装置32を有効化して(ステップS314)、記憶装置32からドライバを読み出し、PC10にインストールを行う。
On the
次に、PC10は、Configuration DescriptorをUSB装置30に要求する(ステップS323)。この要求に答えてUSB装置30は、Configuration DescriptorをPC10に送出する(ステップS316)。次に、PC10は、Configuration-Endpoint Descriptorの送信要求をUSB装置30に出力する(ステップS324)。なお、Configuration-Endpoint Descriptorの要求は、Configuration Descriptor,Interface Descriptor,Class Descriptor,Endpoint Descriptorを一括して要求するものである。この要求に答えてUSB装置30は、上記のDescriptorをPC10に送出する(ステップS317)。最後に、PC10は、String Descriptorの送信要求をUSB装置30に出力する(ステップS325)。この要求に答えてUSB装置30は、String DescriptorをPC10に送出して(ステップS318)、Descriptorの送出手順を終了する。
Next, the
このようにして本実施例では、コンフィギュレーションのシーケンスを変更することなく、キーボード装置31と記憶装置32をイネーブル状態とディスエーブル状態とに切り替えることができる。
In this way, in this embodiment, the
USB装置30をPC10に接続したときに、正しくコンフィグレーションが行われなかった場合(例えば、ドライバ不在)、不明なデバイスとして認識される。そのような状況になったときに、認識している装置がキーボード装置31であるのか、記憶装置32であるのかが判定できない場合がある。そこで、本実施例では、スイッチ72を設けて、このスイッチ72の押したによりUSB装置30を一旦ディセーブル状態にする。スイッチ72の出力は、図30に示すUSB/HUBコントローラ33に接続されており、このUSB/HUBコントローラ33でUSB装置30をディセーブル状態に設定する。初期状態にリセットされたことでUSB装置30は、通常の手順を行い、記憶装置32をイネーブル状態にしてドライバを読み出す。ドライバのインストール後は、キーボード装置31がイネーブルにされ、インストール済みのドライバによってキーボード装置31がコンフィグレーションされ動作を開始する。
When the
本実施例の動作手順を図31に示すフローチャートを参照しながら説明する。
まず、図31(a)に示すPC10側の手順を説明する。USB装置30の接続を検出すると、PC10は、ディスクリプタをUSB装置30に要求する(ステップS331)。次にPC10は、ドライバをUSB装置30から取得することができた場には(ステップS332/YES)、通常通りエニュメレーションを行う(ステップS333)。またUSB装置30からドライバを取得することができなかった場合には(ステップS332/NO)、不明なデバイスとして認識する(ステップS335)。
The operation procedure of this embodiment will be described with reference to the flowchart shown in FIG.
First, the procedure on the
次に、不明な装置として認識されたUSB装置30側の手順を図31(b)を参照しながら説明する。PC10から不明な装置として認識されると、スイッチ72の操作により(ステップS342)、USB装置30は、一旦ディセーブル状態となる(ステップS343)。その後、記憶装置32の有効化と(ステップS344)と、キーボード装置31の無効化(ステップS345)とが行われ、記憶装置32としてイネーブル状態となってPC10に認識される(ステップS346)。そして、PC10からのディスクリプタ要求に応答してディスクリプタを送出し(ステップS347)、PC10からのエニュメレーション処理に応答してディスクリプタを送出する(ステップS348)。
Next, the procedure on the
以上説明した方法によれば、USB装置が接続された経験のないPC10へ、1度以上PC10に接続した経験のあるUSB装置を接続すると、未知のキーボードとして検出され、PC10内部の記憶装置には、ドライバが存在しないためにドライバのインストールを要求され、自動的にインストールすることが出来ないという問題点を解決し、自動的にインストールを行うためのUSB装置を初期化する手順を発生させることなく、USB装置のドライバがインストールされていないPC10に接続された場合に、常にドライバが自動的にインストールされる。
According to the method described above, when a USB device that has been connected to the
なお、上述した実施例は本発明の好適な実施例である。但しこれに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。 The above-described embodiment is a preferred embodiment of the present invention. However, the present invention is not limited to this, and various modifications can be made without departing from the scope of the present invention.
1 情報処理装置 10 PC
11 OS 12 キーボードドライバ
13 記憶装置ドライバ 14 HUBドライバ
15 USBホストコントローラ 16 内部バス
17 アプリケーションソフトウェア
20 USBケーブル 30 USB装置
31 キーボード装置 32 記憶装置
33 USB/HUBコントローラ
34 HUB装置 35、36 HUBポート
37 スイッチ 38 キーボード・イネーブル制御信号
40 マルチ機能コントローラ 41 キーボード装置
42 記憶装置 50 RFID装置
51 RFID書き込み装置
60 イネーブル/ディスエーブル設定装置
61 MCU 62 IFエンジン
63 ROM 64 RAM
70 外部記憶装置 71 接続インタフェース
72 スイッチ
1
11
70
Claims (1)
前記情報処理装置において、前記電子装置からデバイスディスクリプタを取得して、取得したデバイスディスクリプタに基づいてコンフィギュレーション処理する装置を前記キーボード装置と前記記憶装置との中から選択するステップと、
前記キーボード装置をコンフィギュレーション処理すると選択した場合に、ベンダーリクエスト信号を含ませた制御信号を生成して前記電子装置に送信し、前記記憶装置をコンフィギュレーション処理すると選択した場合に、前記ベンダーリクエスト信号を含まない制御信号を生成して前記電子装置に送信するステップとを有し、
前記電子装置において、前記コンフィギュレーション処理中に、前記情報処理装置から前記ベンダーリクエスト信号を含まない制御信号を受信した場合に、前記記憶装置をコンフィギュレーション処理を行う装置として選択するステップと、
前記情報処理装置から前記ベンダーリクエスト信号を含む制御信号を受信した場合に、前記キーボード装置をコンフィギュレーション処理を行う装置として選択するステップと、
を有することを特徴とする情報処理システムの制御方法。 A keyboard device, an electronic device having a storage device for storing the driver of the keyboard apparatus, a control method of an information processing system including an information processing apparatus connected by a common interface of the electronic device and the external connection,
In the information processing apparatus, obtaining a device descriptor from the electronic device , and selecting a device that performs configuration processing based on the obtained device descriptor from the keyboard device and the storage device ;
If the keyboard device is selected for configuration processing, a control signal including a vendor request signal is generated and transmitted to the electronic device, and if the storage device is selected for configuration processing, the vendor request signal is selected. Generating a control signal that does not include and transmitting to the electronic device,
In the electronic device, when the control signal not including the vendor request signal is received from the information processing device during the configuration processing, the storage device is selected as a device for performing the configuration processing;
When receiving a control signal including the vendor request signal from the information processing device, selecting the keyboard device as a device for performing configuration processing;
An information processing system control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011284073A JP5016133B2 (en) | 2004-07-27 | 2011-12-26 | Control method of information processing system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004218802 | 2004-07-27 | ||
JP2004218802 | 2004-07-27 | ||
JP2011284073A JP5016133B2 (en) | 2004-07-27 | 2011-12-26 | Control method of information processing system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010076205A Division JP4963325B2 (en) | 2004-07-27 | 2010-03-29 | Control method of information processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012069166A JP2012069166A (en) | 2012-04-05 |
JP5016133B2 true JP5016133B2 (en) | 2012-09-05 |
Family
ID=42823224
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010076205A Expired - Fee Related JP4963325B2 (en) | 2004-07-27 | 2010-03-29 | Control method of information processing system |
JP2011284073A Expired - Fee Related JP5016133B2 (en) | 2004-07-27 | 2011-12-26 | Control method of information processing system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010076205A Expired - Fee Related JP4963325B2 (en) | 2004-07-27 | 2010-03-29 | Control method of information processing system |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP4963325B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6048658B2 (en) * | 2012-12-19 | 2016-12-21 | 横河電機株式会社 | keyboard |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160871A (en) * | 1995-12-07 | 1997-06-20 | Teijin Seiki Co Ltd | Data transfer controller |
JP2000089968A (en) * | 1998-09-08 | 2000-03-31 | Sanyo Electric Co Ltd | Microcomputer |
JP2000250853A (en) * | 1999-03-02 | 2000-09-14 | Nec Corp | Bus arbitration controller |
JP4346853B2 (en) * | 2002-02-26 | 2009-10-21 | 富士通コンポーネント株式会社 | Electronic device and control method thereof |
JP2003288128A (en) * | 2002-03-28 | 2003-10-10 | Anyone Kk | Proper use method of application for external connection device and external connection device |
JP2003316580A (en) * | 2002-04-23 | 2003-11-07 | Konica Minolta Holdings Inc | Program for image display and information recording medium with its program recorded |
US6795872B2 (en) * | 2002-05-09 | 2004-09-21 | Renesas Technology America, Inc. | Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed |
WO2005116845A1 (en) * | 2004-05-26 | 2005-12-08 | Matsushita Electric Industrial Co., Ltd. | Usb device |
-
2010
- 2010-03-29 JP JP2010076205A patent/JP4963325B2/en not_active Expired - Fee Related
-
2011
- 2011-12-26 JP JP2011284073A patent/JP5016133B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010198624A (en) | 2010-09-09 |
JP2012069166A (en) | 2012-04-05 |
JP4963325B2 (en) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4346853B2 (en) | Electronic device and control method thereof | |
JP5513018B2 (en) | Peripheral device and image reading device | |
JP4378323B2 (en) | Information processing apparatus, printing apparatus, printing system, setting method, storage medium storing computer-readable program, and program | |
JP2006065833A (en) | Electronic apparatus, information processing system, and control method thereof | |
KR101516637B1 (en) | Computer with networking module and Method for transmitting data using the same | |
US7797398B2 (en) | Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated | |
MX2008015010A (en) | Plug and play peripheral storing driver. | |
JP2005519360A (en) | Device, system and method for data exchange | |
JP2001256170A (en) | Peripheral device and printer | |
EP2503466B1 (en) | Peripheral device used while being connected to information processing apparatus | |
US20040249863A1 (en) | Data conversion apparatus, data conversion system, and data conversion program | |
US5961624A (en) | Connection apparatus which facilitates conflict-free interfacing between host apparatuses and one or more peripherals | |
US7100168B1 (en) | Structure and method for controlling electronic devices | |
US6014716A (en) | System for recognizing bidirectional communication over parrallel data lines by further sending data transmission request and notification indicating reverse direction transmission is possible to second device | |
JP2003114859A (en) | Usb connector | |
JP5016133B2 (en) | Control method of information processing system | |
US7124235B2 (en) | USB apparatus with switchable host/hub functions and control method thereof | |
KR20050115063A (en) | External storage device, image aquisition device, method and system for driving driver | |
JP5596376B2 (en) | Peripheral device | |
JP2006293638A (en) | Information processor and peripheral equipment | |
JP2008027006A (en) | Program for managing peripheral device and information processor and its control method | |
US11968469B2 (en) | Computing apparatus, image capturing apparatus, control method, and storage medium | |
US8214556B2 (en) | Controlling execution of an action object at a peripheral device based on data stored in a removable storage medium | |
US5832277A (en) | System for arbitrating demand on memory during configuration of a computer add-on card | |
JP4815775B2 (en) | Device driver installation method and installation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120321 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120515 |
|
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: 20120605 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120607 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
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 |