JP2010198624A - Method of controlling information processing system - Google Patents

Method of controlling information processing system Download PDF

Info

Publication number
JP2010198624A
JP2010198624A JP2010076205A JP2010076205A JP2010198624A JP 2010198624 A JP2010198624 A JP 2010198624A JP 2010076205 A JP2010076205 A JP 2010076205A JP 2010076205 A JP2010076205 A JP 2010076205A JP 2010198624 A JP2010198624 A JP 2010198624A
Authority
JP
Japan
Prior art keywords
keyboard
usb
driver
storage device
configuration
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.)
Granted
Application number
JP2010076205A
Other languages
Japanese (ja)
Other versions
JP4963325B2 (en
Inventor
Kenichi Fujita
憲一 藤田
Naoyuki Nagao
尚幸 長尾
Shinichi Katayama
真一 片山
Hideki Onishi
英樹 尾西
Akihiro Matsunaga
章裕 松永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Component Ltd
Original Assignee
Fujitsu Component Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Component Ltd filed Critical Fujitsu Component Ltd
Priority to JP2010076205A priority Critical patent/JP4963325B2/en
Publication of JP2010198624A publication Critical patent/JP2010198624A/en
Application granted granted Critical
Publication of JP4963325B2 publication Critical patent/JP4963325B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of controlling an information processing system that reliably and automatically installs driver software with a simple structure regardless of the state of a device. <P>SOLUTION: The method of controlling the information processing system includes the steps of: selecting a device to which configuration processing is performed from a keyboard device 31 or a memory 32; changing the number of times of requests for device information between the keyboard device 31 and the memory 32 when the device information of the device to which the configuration processing is performed is requested to a USB device 30, in a PC 10, and includes steps of: counting the number of times of requests of the device information of the device to which the configuration processing is performed to be requested from the PC 10 to determine the process of configuration of the keyboard device 31 or the memory 32; and setting the keyboard device 31 or the memory 32 as the devices to which the configuration processing is performed with the PC 10 according to decision, in the USB device 30. <P>COPYRIGHT: (C)2010,JPO&INPIT

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 Patent Document 1. The electronic device disclosed in Patent Document 1 is an electronic device including a first device and a second device that stores a driver of the first device, and the electronic device is more than the first device. The operation of the second device is started first, and the driver can be read from the second device via the interface.

また特許文献2は、主デバイスと、この主デバイスをホスト装置で動作させるためのドライバプログラムを記録したサブデバイスと、ホスト装置に接続された時にホスト装置にサブデバイスを認識させる第1のデータを出力し、その後、ホスト装置に主デバイスを認識させる第2のデータを出力するインターフェース制御部とを設けている。   Patent Document 2 discloses a main device, a sub device that records a driver program for operating the main device on the host device, and first data that causes the host device to recognize the sub device when connected to the host device. And an interface control unit for outputting second data for causing the host device to recognize the main device.

特開2003−256349号公報JP 2003-256349 A 特開2003−150530号公報JP 2003-150530 A

しかしながら特許文献1では、電子装置は一度情報処理装置に接続し、ドライバソフトウェアのインストールを行うと、別の情報処理装置に接続した時に第2の装置がイネーブル状態にならなず、ドライバソフトウェアをインストールすることができない問題が生じる。   However, in Patent Document 1, once the electronic device is connected to the information processing device and driver software is installed, the second device does not become enabled when connected to another information processing device, and the driver software is installed. Problems that can not be done.

また特許文献2では、ホスト装置に接続された時に、ホスト装置にまずサブデバイスを認識させ、次に主デバイスを認識させる制御を行うインタフェース制御部が必要となり、装置の構成が複雑になるという問題を有している。   Further, in Patent Document 2, when connected to the host device, an interface control unit that performs control for causing the host device to first recognize the sub-device and then recognize the main device is required, which complicates the configuration of the device. have.

本発明は上記事情に鑑みてなされたものであり、簡単な構成で、装置の状態によらず必ずドライバソフトウェアを自動インストールすることができる情報処理システムの制御方法を提供することを目的とする。   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.

上記課題を解決するため、本発明の情報処理システムの制御方法は、第1の装置と、該第1の装置のドライバを格納する第2の装置とを有する電子装置と、該電子装置と外部接続用の共通インタフェースで接続する情報処理装置とを有する情報処理システムの制御方法であって、前記情報処理装置において、コンフィギュレーション処理する装置を前記第1の装置と前記第2の装置との中から選択するステップと、前記コンフィギュレーション処理する装置の装置情報を前記電子装置に要求する際に、前記装置情報の要求回数を前記第1の装置と前記第2の装置とで変更するステップと、前記電子装置において、前記情報処理装置から要求される、前記コンフィギュレーション処理する装置の装置情報の要求回数をカウントして、コンフィギュレーション処理する装置を判定するステップと、前記判定に従って前記第1の装置又は前記第2の装置を前記情報処理装置にコンフィギュレーション処理させる装置として設定するステップとを有している。
本発明によれば、電子装置は、情報処理装置から要求される装置情報の要求回数をカウントすることで、コンフィギュレーション処理を行う装置が第1の装置であるのか、第2の装置であるのかを判定することができる。従って、電子装置は、情報処理装置からの要求に従って、コンフィギュレーション処理を行う装置を設定することができる。このため、第2の装置に記憶された第1の装置のドライバを情報処理装置にインストールさせてから、第1の装置を情報処理装置上で動作させることができる。
In order to solve the above-described problems, an information processing system control method according to the present invention includes an electronic device having a first device and a second device that stores a driver of the first device, the electronic device, and an external device. A control method of an information processing system having an information processing device connected by a common interface for connection, wherein the configuration processing device is a device that performs configuration processing between the first device and the second device. And changing the request count of the device information between the first device and the second device when requesting device information of the device to be configured from the electronic device; The electronic device counts the number of requests for the device information of the device that performs the configuration processing, which is requested from the information processing device. It has a determining device for configuration processing, and setting the the according to the determination first device or the second device as a device for processing configuration to the information processing apparatus.
According to the present invention, the electronic device counts the number of requests for device information requested from the information processing device, thereby determining whether the device that performs the configuration process is the first device or the second device. Can be determined. Therefore, the electronic device can set a device that performs configuration processing in accordance with a request from the information processing device. For this reason, the first apparatus can be operated on the information processing apparatus after the driver of the first apparatus stored in the second apparatus is installed in the information processing apparatus.

本発明の情報処理システムの制御方法は、第1の装置と、該第1の装置のドライバを格納する第2の装置とを有する電子装置と、該電子装置と外部接続用の共通インタフェースで接続する情報処理装置とを有する情報処理システムの制御方法であって、前記情報処理装置において、コンフィギュレーション処理する装置を前記第1の装置と前記第2の装置との中から選択するステップと、前記第1の装置をコンフィギュレーション処理すると選択した場合に、ベンダーリクエスト信号を含ませた制御信号を生成して前記電子装置に送信し、前記第2の装置をコンフィギュレーション処理すると選択した場合に、前記ベンダーリクエスト信号を含まない制御信号を生成して前記電子装置に送信するステップとを有し、前記電子装置において、前記コンフィギュレーション処理中に、前記情報処理装置から前記ベンダーリクエスト信号を含まない制御信号を受信した場合に、前記第2の装置をコンフィギュレーション処理を行う装置として選択するステップと、前記情報処理装置から前記ベンダーリクエスト信号を含む制御信号を受信した場合に、前記第1の装置をコンフィギュレーション処理を行う装置として選択するステップと、を有している。
本発明によれば、電子装置は、情報処理装置から送られる制御信号にベンダーリクエスト信号が含まれるか否かを判定して、コンフィギュレーション処理を行う装置が第1の装置であるのか、第2の装置であるのかを判定することができる。従って、電子装置は、情報処理装置からの要求に従って、コンフィギュレーション処理を行う装置を設定することができる。このため、第2の装置に記憶された第1の装置のドライバを情報処理装置にインストールさせてから、第1の装置を情報処理装置上で動作させることができる。
An information processing system control method according to the present invention includes: an electronic device having a first device and a second device that stores a driver of the first device; and the electronic device connected via a common interface for external connection A method of controlling an information processing system comprising: an information processing apparatus that selects a device for configuration processing from the first device and the second device in the information processing device; When selecting to configure the first device, a control signal including a vendor request signal is generated and transmitted to the electronic device, and when selecting to configure the second device, Generating a control signal not including a vendor request signal and transmitting the control signal to the electronic device. Selecting a second device as a device for performing configuration processing when a control signal not including the vendor request signal is received from the information processing device during configuration processing; and Selecting a first device as a device for performing a configuration process when a control signal including a vendor request signal is received.
According to the present invention, the electronic device determines whether the control signal sent from the information processing device includes a vendor request signal and determines whether the device that performs the configuration process is the first device or the second device. Can be determined. Therefore, the electronic device can set a device that performs configuration processing in accordance with a request from the information processing device. For this reason, the first apparatus can be operated on the information processing apparatus after the driver of the first apparatus stored in the second apparatus is 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.

本発明の第1実施例を示すブロック図である。It is a block diagram which shows 1st Example of this invention. 第1実施例の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of 1st Example. 記憶装置のコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of a structure of a memory | storage device. キーボード装置のコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of the configuration of a keyboard apparatus. キーボード装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of a keyboard apparatus. 記憶装置の一構成例を示すブロック図である。It is a block diagram which shows one structural example of a memory | storage device. USB/HUBコントローラのうちのHUBコントローラの一構成例を示すブロック図である。It is a block diagram which shows one structural example of the HUB controller of USB / HUB controllers. PC上のアプリケーションソフトウェアからキーボード装置を制御する時の制御信号の流れ示す図である。It is a figure which shows the flow of a control signal when controlling a keyboard apparatus from the application software on PC. RFID50によりキーボード装置のイネーブル/ディスエーブルを設定する構成を示す図である。It is a figure which shows the structure which sets enable / disable of a keyboard apparatus by RFID50. イネーブル/ディスエーブル設定装置によりキーボード装置のイネーブル/ディスエーブルを設定する構成を示す図である。It is a figure which shows the structure which sets the enable / disable of a keyboard apparatus by an enable / disable setting apparatus. イネーブル/ディスエーブル設定装置によりキーボード装置のイネーブル/ディスエーブルを設定する構成を示す図である。It is a figure which shows the structure which sets the enable / disable of a keyboard apparatus by an enable / disable setting apparatus. 外部接続された記憶装置を設けた電子装置の構成を示す図である。It is a figure which shows the structure of the electronic device which provided the memory | storage device connected externally. 本発明の第2実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 2nd Example of this invention. 図12に示すキーボード装置の一構成例のブロック図である。FIG. 13 is a block diagram of a configuration example of the keyboard device shown in FIG. 12. 図12に示す記憶装置の一構成例のブロック図である。FIG. 13 is a block diagram illustrating a configuration example of the storage device illustrated in FIG. 12. マルチ機能コントローラを搭載したUSB装置において、RFIDによってキーボード装置のイネーブル/ディスエーブルを設定する構成を示す図である。It is a figure which shows the structure which sets enable / disable of a keyboard apparatus by RFID in the USB apparatus carrying a multi-function controller. 本発明の第3実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 3rd Example of this invention. 第3実施例の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of 3rd Example. 記憶装置のコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of a structure of a memory | storage device. キーボード装置のコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of the configuration of a keyboard apparatus. 本発明の第4実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 4th Example of this invention. マルチ機能コントローラと記憶装置の構成と、これら装置間で送受信される信号を示す図である。It is a figure which shows the structure of a multi-function controller and a memory | storage device, and the signal transmitted / received between these apparatuses. 第4実施例の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of 4th Example. USB装置の一般的なコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of the general configuration of a USB apparatus. USB装置の一般的なコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of the general configuration of a USB apparatus. 本発明のコンフィギュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of the configuration of the present invention. Descriptorの要求と送出の手順を示すフローチャートである。It is a flowchart which shows the request | requirement and sending procedure of Descriptor. Descriptorの要求と送出の手順を示すフローチャートである。It is a flowchart which shows the request | requirement and sending procedure of Descriptor. コンフィギュレーション中のベンダーリクエストによって有効にする装置を切り換え、コンフィギュレーションを行う手順を示すフローチャートである。It is a flowchart which shows the procedure which switches the apparatus made effective by the vendor request in configuration, and performs a configuration. 実施例5の情報処理システム1の構成を示す図である。FIG. 10 is a diagram illustrating a configuration of an information processing system 1 according to a fifth embodiment. 実施例5の動作手順を示すフローチャートである。10 is a flowchart illustrating an operation procedure of the fifth embodiment.

添付図面を参照しながら本発明の好適な実施例を説明する。   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 information processing system 1 according to the first embodiment of the present invention. The information processing system 1 includes an information processing device 10 and an electronic device 30. The information processing apparatus 10 is a personal computer, for example. The electronic device 30 is a peripheral device that can be connected to the information processing apparatus 10, and is a keyboard in the example of FIG. The information processing apparatus 10 and the electronic apparatus 30 are connected by a USB cable 20. Hereinafter, the electronic device 30 is referred to as a USB device. The information processing apparatus 10 is referred to as PC10.

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 keyboard driver 12, a storage device driver 13, and a HUB (hub) driver 14 are installed on the OS 11. Among these drivers, the storage device driver 13 and the HUB driver 14 are standard device drivers built into the OS 11 from the beginning. The keyboard driver 12 is installed according to a procedure described later. Although not shown, the OS 11 incorporates various programs constituting the OS, other various drivers, and various utilities. The OS 11 is connected to the USB host controller 15 via the internal bus 16. The hardware configuration of the PC 10 is a general one including a CPU, RAM, ROM, and the like. The USB host controller 15 supports USB and links each device (function) of a peripheral device connected to the PC 10 to provide each function of the peripheral device on the OS 11.

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 USB device 30 includes a keyboard device 31, a storage device 32, a HUB device 34 provided in the USB / HUB controller 33, and a switch 37. The keyboard device 31, the storage device 32, and the HUB device 34 are functions (peripheral devices) for the PC 10. That is, a transaction can be generated on the USB interface. The keyboard device 31 and the storage device 32 are connected to the USB / HUB controller 33 via HUB ports 35 and 36 which are USB buses, respectively. The switch 37 outputs a keyboard enable control signal 38 to set the keyboard device 31 to an enabled state and a disabled state.

キーボード装置31は、キーボードを構成するハードウェアとソフトウェアを有する。キーボード装置31は、スイッチ37の出力するキーボード・イネーブル制御信号38でイネーブル状態とディスエーブル状態に設定される。イネーブル状態とは、キーボード装置31が動作可能な状態を意味する。また、ディスエーブル状態とは、少なくともキーボード装置31の接続がUSBインタフェース上で認識されない状態となることを意味する。キーボード装置31のディスエーブル状態の一例は後述する。このキーボード・イネーブル制御信号38は、専用の信号線であり、キーボード装置31の汎用入出力端子や外部割り込み端子に接続される。キーボード・イネーブル制御信号38がハイレベルの時はイネーブル状態、ローレベルの時はディスエーブル状態である。キーボード装置31がイネーブル状態に設定されると、USB仕様に従って、接続状態をHUBポート35に出力する。キーボード装置31のより詳細な構成については後述する。   The keyboard device 31 has hardware and software that constitute a keyboard. The keyboard device 31 is set to an enable state and a disable state by a keyboard enable control signal 38 output from the switch 37. The enabled state means a state in which the keyboard device 31 can operate. The disabled state means that at least the connection of the keyboard device 31 is not recognized on the USB interface. An example of the disabled state of the keyboard device 31 will be described later. The keyboard enable control signal 38 is a dedicated signal line and is connected to a general-purpose input / output terminal or an external interrupt terminal of the keyboard device 31. When the keyboard enable control signal 38 is at a high level, it is in an enabled state, and when it is at a low level, it is in a disabled state. When the keyboard device 31 is set to the enable state, the connection state is output to the HUB port 35 according to the USB specification. A more detailed configuration of the keyboard device 31 will be described later.

記憶装置32は、記憶機能を提供するためのハードウェアとソフトフェアを有する。記憶装置32はキーボードドライバを格納している。後述するシーケンスに従い、記憶装置32からキーボードドライバが読み出され、OS11上にキーボードドライバ12として組み込まれる。記憶装置32のデバイスドライバは、予め記憶装置ドライバ13としてOS11に組み込まれている。なお、記憶装置32の一構成例は後述する。   The storage device 32 has hardware and software for providing a storage function. The storage device 32 stores a keyboard driver. A keyboard driver is read from the storage device 32 in accordance with a sequence described later, and is incorporated as the keyboard driver 12 on the OS 11. The device driver of the storage device 32 is incorporated in the OS 11 as the storage device driver 13 in advance. A configuration example of the storage device 32 will be described later.

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 / HUB controller 33 has hardware and software that support USB and HUB. The USB / HUB controller 33 has a HUB device 34. The HUB device 34 is an internal program that operates on a program that controls the HUB, and is a function as a USB in this embodiment. The HUB device 34 has a function of monitoring the state of the USB cable 20 and outputting a keyboard enable control signal 38 to the keyboard device 31. Note that the HUB is a USB-based concentrator, and in the configuration of FIG. 1, transactions are controlled between the keyboard device 31 and the storage device 32 and a USB cable (also referred to as a USB bus or USB interface). is there. The USB / HUB controller 33 connects a keyboard device 31 that is a USB device and a storage device 32 in accordance with USB regulations. A configuration example of the USB / HUB controller 33 will be described later.

次に、図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 device 30, and FIG. 2B shows an operation sequence of the PC 10.

まず、USB装置30のスイッチ37をキーボード装置・ディスエーブル側に設定しておき、USB装置30をPC10に接続する。PC10にUSB装置30が接続されると、まずキーボード装置31がスイッチ37からのキーボード・イネーブル制御信号38の信号状態をチェックする(ステップS11)。信号がローレベルであれば(ステップS11/NO)、キーボード装置31をディスエーブル状態に制御し(ステップS12)、ハイレベルであれば(ステップS11/YES)、キーボード装置31をイネーブル状態に制御する(ステップS13)。ここでのスイッチ設定は、ディスエーブルに設定される。   First, the switch 37 of the USB device 30 is set to the keyboard device / disable side, and the USB device 30 is connected to the PC 10. When the USB device 30 is connected to the PC 10, the keyboard device 31 first checks the signal state of the keyboard enable control signal 38 from the switch 37 (step S11). If the signal is low level (step S11 / NO), the keyboard device 31 is controlled to the disabled state (step S12). If the signal is high level (step S11 / YES), the keyboard device 31 is controlled to the enabled state. (Step S13). The switch setting here is set to disable.

PC10側では、OS11上に組み込まれているHUBドライバ14が動作を開始し、HUBコンフィギュレーションが設定される(ステップS31)。他方、USB装置30でもHUBコンフィギュレーションが設定される(ステップS14)。これにより、USB/HUBコントローラ33のHUB装置34が機能し始める。   On the PC 10 side, the HUB driver 14 incorporated on the OS 11 starts operation, and the HUB configuration is set (step S31). On the other hand, the HUB configuration is also set in the USB device 30 (step S14). As a result, the HUB device 34 of the USB / HUB controller 33 starts to function.

ここで、スイッチ37からのキーボード・イネーブル制御信号38をキーボード装置31により再度チェックする。キーボード・イネーブル制御信号38に変化がなかった場合には(ステップS15/NO)、再度キーボード・イネーブル制御信号38をチェックする(ステップS19)。また、キーボード・イネーブル制御信号38に変化があった場合には(ステップS16/YES)、キーボード・イネーブル制御信号がハイレベルであるか否かを判定する(ステップS16)。キーボード・イネーブル制御信号がハイレベルの場合には(ステップS16/YES)、キーボード装置31をイネーブル状態に制御し(ステップS18)、ローレベルの場合には(ステップS16/NO)、キーボード装置31をディスエーブル状態に制御する(ステップS17)。   Here, the keyboard enable control signal 38 from the switch 37 is checked again by the keyboard device 31. If there is no change in the keyboard enable control signal 38 (step S15 / NO), the keyboard enable control signal 38 is checked again (step S19). If the keyboard enable control signal 38 has changed (step S16 / YES), it is determined whether or not the keyboard enable control signal is at a high level (step S16). When the keyboard enable control signal is at a high level (step S16 / YES), the keyboard device 31 is controlled to be enabled (step S18), and when the keyboard enable control signal is at a low level (step S16 / NO), the keyboard device 31 is controlled. The disabled state is controlled (step S17).

再度スイッチ37からのキーボード・イネーブル制御信号38の信号状態をチェックし、信号状態がローレベルであったならば(ステップS19/NO)、記憶装置32の稼動チェックに進み(ステップS20)、ハイレベルであったならば(ステップS19/YES)、キーボード装置処理へ進む(ステップS21)。ここでのスイッチ設定は、ローレベルであるので、記憶装置32の稼動チェックへ進む(ステップS20)。   The signal state of the keyboard enable control signal 38 from the switch 37 is checked again. If the signal state is low level (step S19 / NO), the operation proceeds to the operation check of the storage device 32 (step S20), and the high level. If so (step S19 / YES), the process proceeds to keyboard device processing (step S21). Since the switch setting here is at a low level, the operation proceeds to the operation check of the storage device 32 (step S20).

記憶装置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 storage device 32 is in an unconfigured state (step S20 / NO, step S34 / YES), the process proceeds to the storage device process (step S22, step S35). The sequence of the storage device processing is shown in FIG. FIG. 3A shows an operation sequence of the USB device 30, and FIG. 3B shows an operation sequence of the PC 10. The storage device 32 starts operating, and the PC 10 side detects the storage device 32 (step S51). Then, the storage device 32 is configured by the storage device driver 13 incorporated in the OS 11 (step S52). Then, the storage device 32 operates as a disk drive (step S53).

図2のフローに戻って、スイッチ37の変化を監視し、スイッチ設定に変化が起きるまで、ステップS15〜ステップS20のシーケンスを繰り返す。   Returning to the flow of FIG. 2, the change of the switch 37 is monitored, and the sequence of steps S15 to S20 is repeated until the switch setting changes.

ここで、スイッチの設定がキーボード装置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 keyboard device 31. Then, the change in the signal state from the switch 37 is detected by the keyboard device 31 (step S15), and if the signal state is high level, the keyboard device 31 is controlled to the enable state (step S18). Next, since the signal is at a high level (step S19, step S32 / YES), the process proceeds to keyboard device processing (step S21, step S33). Details of the keyboard device processing are shown in FIG. FIG. 4A shows an operation sequence of the USB device 30, and FIG. 4B shows an operation sequence of the PC 10. Since the keyboard device 31 has started operating in response to the keyboard enable control signal 38, the PC 10 detects an unknown keyboard device (step S71). The PC 10 checks whether the corresponding driver is stored in a storage device such as an HDD inside the PC 10. In this example, a keyboard driver is not provided in the PC 10. Therefore, the OS 11 accesses the storage device 32 recognized as an external disk drive. Then, the keyboard driver recorded in the storage device 32 is read (step S72), and the keyboard device 31 is configured (step S73).

このようにして、自動的にキーボードドライバを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 PC 10 without worrying about the storage means in which the driver is stored, and experience plug and play. be able to.

なお、図示していないが、記憶装置32に予め書き込まれているキーボードドライバをReadOnly属性としておくことで、記憶装置32からキーボードドライバを誤って消去してしまう不具合を防止することができる。すなわち、USB装置30を接続した際には必ずキーボードドライバが読み込まれ、キーボード装置31が動作することを保証することができる。また、キーボードドライバを記憶装置32の書き込み不可領域に書き込んでおくこともできる。この場合もキーボードドライバが記憶装置32から消去されてしまうことがない。   Although not shown, by setting a keyboard driver written in advance in the storage device 32 as the ReadOnly attribute, it is possible to prevent a problem that the keyboard driver is accidentally deleted from the storage device 32. That is, when the USB device 30 is connected, it is guaranteed that the keyboard driver is always read and the keyboard device 31 operates. Also, the keyboard driver can be written in the non-writable area of the storage device 32. Also in this case, the keyboard driver is not erased from the storage device 32.

図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 keyboard device 31. The keyboard device 31 is a function (peripheral device) on the USB interface, and includes an MCU (Micro Control Unit) 313, a keyboard matrix 311, and a port 312 for connecting them. The MCU 313 includes a matrix scan 314, a RAM 315, an interface engine (IF engine) 316, a peripheral engine 317, a ROM 318, and a data analysis engine 319.

キーボードマトリクス311は複数のキーがマトリクス状に配列された機構的部分である。マトリクススキャン314はキーボードマトリクス311をスキャンしてキーのON/OFFを調査する部分であり、キーボードに必要なスキャンロジックである。キーボードマトリクス311は周辺エンジン317に対してポート312経由で接続されている。周辺エンジン317には、汎用入出力ポートや割り込み端子を介して、スイッチ37からのキーボード・イネーブル制御信号38が与えられる。キーボード・イネーブル制御信号38は、MCU313がそのハイレベルとローレベルレベルを検出できる信号であるならば、任意の仕様を持つことができる。前述したように、キーボード・イネーブル制御信号38がハイレベルであればキーボード装置31は動作可能なイネーブル状態であり、ローレベルであれば動作してはならないディスエーブル状態である。データ解析エンジン319は、マトリクススキャン314と周辺エンジン317からキーデータを取得し、またキーボード・イネーブル制御信号38のレベルをチェックして動作が許可されているかどうかを判断するなど、MCU313全体を制御する部分である。   The keyboard matrix 311 is a mechanical part in which a plurality of keys are arranged in a matrix. The matrix scan 314 is a part that scans the keyboard matrix 311 and checks ON / OFF of the key, and is a scan logic necessary for the keyboard. The keyboard matrix 311 is connected to the peripheral engine 317 via the port 312. The peripheral engine 317 is supplied with a keyboard enable control signal 38 from the switch 37 via a general-purpose input / output port and an interrupt terminal. The keyboard enable control signal 38 may have an arbitrary specification as long as the MCU 313 can detect the high level and the low level. As described above, when the keyboard enable control signal 38 is at a high level, the keyboard device 31 is in an enabled state, and when the keyboard enable control signal 38 is at a low level, the keyboard device 31 is in a disabled state that should not be operated. The data analysis engine 319 controls the entire MCU 313 by acquiring key data from the matrix scan 314 and the peripheral engine 317 and checking the level of the keyboard enable control signal 38 to determine whether the operation is permitted. Part.

インタフェースエンジン(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 keyboard device 31 to the outside, monitors and controls the connection state, and controls all transactions through an external bus interface (corresponding to the USB cable 20). . The data analysis engine 319 permits the operation of the interface engine (IF engine) 316 and the matrix scan 314 if the state of the keyboard enable control signal 38 is high level, and the interface engine (IF engine) if it is low level. The operations of 316 and matrix scan 314 are prohibited. The peripheral engine 317 is operating even in a disabled state to detect the state of the keyboard enable control signal 38. The data analysis engine 319 receives the key state from the matrix scan 313 while permitting the operation of the interface engine (IF engine) 316, and outputs data to the outside through the interface engine (IF engine) 316 if necessary. Further, the data analysis engine 319 receives data input from the outside through the interface engine (IF engine) 316 and performs appropriate processing according to the data content. The matrix scan 314, the data analysis engine 319, and the interface engine (IF engine) 316 operate on the ROM 318 or RAM 315 on the MCU 313 or on the ROM or RAM externally attached to the MCU 313. Various data required by the matrix scan 314, the peripheral engine 317, and the data analysis engine 319 are also stored in the ROM 318 or RAM 315 on the MCU 313, or the ROM or RAM externally attached to the MCU 313.

図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 storage device 32. The storage device 32 is a function (peripheral device) on the USB interface, and includes an MCU (Micro Control Unit) 320, a nonvolatile storage device 321, and a port 322 for connecting them. The MCU 320 includes a file system engine 324, a RAM 325, an interface engine (IF engine) 326, a peripheral engine 327, a ROM 328, and a data analysis engine 329.

不揮発性記憶装置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 MCU 320. A driver for the keyboard device 31 is stored in the nonvolatile storage device 321. The non-volatile storage device 321 is connected to the peripheral engine 327 on the MCU 320 via the port 322 and viewed from the MCU 320 as externally connected or internal RAM / ROM. Regardless of the presence or absence of the RAM 325 or ROM 328 built in the MCU 320, the nonvolatile storage device 321 operates as an effective disk drive for the external bus interface (corresponding to the USB cable 20). Therefore, a file system engine 324 that manages the contents on the nonvolatile storage device 321 as a file is installed in the MCU 320. The file system engine 324 manages the memory contents expanded on the nonvolatile storage device 321 as a file. There are various management methods. For example, when a file on the PC 10 side is stored in the storage device 32, the memory content that matches the content of the file is located at which location of the memory on the storage device 32. The information indicating that the recorded contents, such as the file name and time stamp information, are recorded in the memory on the storage device 32, or the recording means, etc. Manage. A file read / write request is issued from the HUB port 36 to the interface engine (IF engine) 326 of the MCU 320. The data analysis engine 329 checks the contents of the request and controls the file system engine 324 and the peripheral engine 327.

図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 controller 340 in the USB / HUB controller 33. The HUB controller 340 includes an interface engine (IF engine) 341, a RAM 342, a data analysis engine 343, a ROM 344, a peripheral engine 345, and a HUB interface engine (IF engine) 346. The HUB device 34 shown in FIG. 1 is realized by a peripheral engine 345.

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 HUB ports 35 and 36 are connected to a HUB interface engine (IF engine) 346. The HUB interface engine (IF engine) 346 performs HUB configuration establishment processing in steps S14 and S31 shown in FIG. The USB cable 20 is connected to an interface engine (IF engine) 341. The data analysis engine 343 analyzes data and signals received via the HUB ports 35 and 36 and the USB cable 20, and controls the entire HUB controller 340. The RAM 342 functions as a working memory for each engine. The ROM 344 stores programs and data describing the operation of each engine.

[実施例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 information processing system 1 illustrated in FIG. 8 inputs the keyboard enable control signal 38 described above from the application software 17 operating on the PC 10 to the keyboard device 31. The application software 17 transmits the request to the keyboard driver 12 as a vendor request, and reaches the keyboard device 31 from the keyboard driver 12 in the order of the arrows in FIG. The keyboard device 31 receives a keyboard enable control signal 38 output from the USB / HUB controller 33, and switches between an enabled state and a disabled state based on this signal.

また、図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 information processing system 1 illustrated in FIG. 9 incorporates an RFID (Radio Frequency-Identification) device 50 in the USB device 30. The enable state and the disable state of the keyboard device 31 are set in the RFID device 50 in the USB device 30 by the external RFID writing device 51. The RFID device 50 outputs a keyboard enable control signal 38 to the keyboard device 31 according to the setting from the external RFID writing device 51. The keyboard device 31 is set to an enabled state and a disabled state by a keyboard enable control signal 38. Note that by using RFID, only a specific user can write to the RFID device 50. In this embodiment, the USB device 30 equipped with the keyboard device 31 is described as an example. However, when the keyboard device 31 is used as another peripheral device, by mounting the RFID device 50 on the USB device 30, It may be configured such that only a specific user is permitted to use the peripheral device.

また、図10に示す情報処理システム1は、専用に設けたイネーブル/ディスエーブル設定装置60によりキーボード装置31のイネーブルとディスエーブルとを設定する。イネーブル/ディスエーブル設定装置60は、USB装置30に接続されると、インタフェースエンジン(IFエンジン)62を通じてUSB装置30にキーボード・イネーブル制御信号の状態を変更させる信号を送信する。USB装置30は、この信号をUSB/HUBコントローラ33で受信し、受信した信号に基づいてキーボード・イネーブル制御信号を設定する。   In addition, the information processing system 1 shown in FIG. 10 sets enable / disable of the keyboard device 31 by using a dedicated enable / disable setting device 60. When the enable / disable setting device 60 is connected to the USB device 30, the enable / disable setting device 60 transmits a signal for changing the state of the keyboard enable control signal to the USB device 30 through the interface engine (IF engine) 62. The USB device 30 receives this signal by the USB / HUB controller 33 and sets a keyboard enable control signal based on the received signal.

イネーブル/ディスエーブル設定装置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 device 60 is a USB host controller, a signal for changing the state of the keyboard enable control signal may be transmitted as a vendor request command based on the USB specification. it can. If the interface engine (IF engine) 62 is a device that conforms only to the signal characteristics defined in the USB specification, for example, the interface engine (IF engine) 62 is in a reset signal state at regular intervals within a certain period from the connection. And the IDLE signal state are transmitted alternately. The USB device 30 can determine whether the keyboard enable control signal should be controlled to an enabled state or a disabled state by counting the number of resets of the reset signal within the predetermined period, and can be enabled / disabled at low cost. The setting device 60 can be provided at low cost.

図11は、イネーブル/ディスエーブル設定装置60とUSB装置30との間に専用の信号線71を設け、その接続を行う専用のインタフェース70を持たせた構成である。イネーブル/ディスエーブル設定装置60によりUSB装置30内のキーボード装置31に直接キーボードイネーブル制御信号を送信することを特徴としている。   FIG. 11 shows a configuration in which a dedicated signal line 71 is provided between the enable / disable setting device 60 and the USB device 30 and a dedicated interface 70 for connecting the dedicated signal line 71 is provided. The keyboard enable control signal is directly transmitted to the keyboard device 31 in the USB device 30 by the enable / disable setting device 60.

これらの構成の情報処理システム1により、キーボード装置31のドライバがインストールされていないPC10へ接続する場合に、キーボード装置31がディスエーブルされた初期状態に戻すことが可能となる。逆に、キーボード装置31のドライバがインストールされているPC10へUSB装置30を接続する場合には、事前にキーボード装置31をイネーブル状態として接続することができる。   The information processing system 1 configured as described above can return to the initial state in which the keyboard device 31 is disabled when the keyboard device 31 is connected to the PC 10 in which the driver of the keyboard device 31 is not installed. Conversely, when the USB device 30 is connected to the PC 10 in which the driver for the keyboard device 31 is installed, the keyboard device 31 can be connected in advance in an enabled state.

また、図12に示すように記憶装置32は、USB装置30の外部に外部記憶装置70として設けてもよい。図12に示すようにUSB装置30に接続インタフェース71を設けて、USB装置30と外部記憶装置70とを接続する。   Further, as illustrated in FIG. 12, the storage device 32 may be provided as an external storage device 70 outside the USB device 30. As shown in FIG. 12, the USB device 30 is provided with a connection interface 71 to connect the USB device 30 and the external storage device 70.

またUSB装置30と外部記憶装置70とはネットワーク接続する構成であってもよい。外部記憶装置70とUSB装置30とが離れた場所にあり、ネットワークを介して外部記憶装置70から取得したドライバを、PC10側に組み込む。   The USB device 30 and the external storage device 70 may be configured to be connected to a network. The external storage device 70 and the USB device 30 are located at a distance from each other, and the driver acquired from the external storage device 70 via the network is incorporated into the PC 10 side.

このように記憶装置を外部記憶装置70又はネットワーク接続としたことで、ドライバが更新されたときの処理が非常に簡単になる。また外部記憶装置とすることで、ドライバの保存先を共通化することもできる。   As described above, since the storage device is the external storage device 70 or the network connection, processing when the driver is updated becomes very simple. In addition, by using an external storage device, it is possible to share the driver storage destination.

また、USB装置30内の記憶装置32の他に、外部記憶装置70を設ける構成であってもよい。この場合、USB装置30にスイッチを設けて、USB装置30内の記憶装置32を優先するのか、外部記憶装置70を優先するのかを設定してもよい。また、外部記憶装置70の接続をトリガとして、外部記憶装置70を優先させるようにしてもよい。   In addition to the storage device 32 in the USB device 30, an external storage device 70 may be provided. In this case, a switch may be provided in the USB device 30 to set whether to prioritize the storage device 32 in the USB device 30 or the external storage device 70. Alternatively, the external storage device 70 may be prioritized using the connection of the external storage device 70 as a trigger.

また、外部記憶装置70をリムーバブルディスクとして認識させておけば、取り外してもシステムに影響はなく、使い勝手を向上させることができる。この場合、USB/HUBコントローラ33にスイッチを設けて、リムーバブルディスクとキーボード装置31とを切り換える構成、またはUSB/HUBコントローラ33に、リムーバブルディスクとキーボード装置31とを複合装置として認識させる構成を取る。   Further, if the external storage device 70 is recognized as a removable disk, even if it is removed, the system is not affected, and usability can be improved. In this case, the USB / HUB controller 33 is provided with a switch to switch between the removable disk and the keyboard device 31, or the USB / HUB controller 33 is configured to recognize the removable disk and the keyboard device 31 as a composite device.

次に、本発明の第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 USB device 30 of this embodiment includes a multi-function controller 40 as shown in FIG. The multi-function controller 40 includes a keyboard device 41 and a storage device 42. The keyboard device 41 and the storage device 42 exist as one physical device on the multi-function controller 40. The keyboard device 41 and the storage device 42 are connected to the USB host controller 15 via the USB cable 20.

また、マルチ機能コントローラ40とスイッチ37との間は、専用の信号線によって接続され、マルチ機能コントローラ40の汎用入出力端子や外部割り込み端子に接続される。スイッチ37からのキーボード・イネーブル制御信号38は、マルチ機能コントローラ40のRAM44上のメモリ・ステータスに格納される。キーボード装置41は、RAM44に格納されたキーボード・イネーブル制御信号38をデータ解析エンジン413で解析し、イネーブル状態とディスエーブル状態に切り替える。   Further, the multi-function controller 40 and the switch 37 are connected by a dedicated signal line, and are connected to a general-purpose input / output terminal and an external interrupt terminal of the multi-function controller 40. The keyboard enable control signal 38 from the switch 37 is stored in the memory status on the RAM 44 of the multi-function controller 40. The keyboard device 41 analyzes the keyboard enable control signal 38 stored in the RAM 44 with the data analysis engine 413 and switches between the enable state and the disable state.

図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 keyboard device 41. The keyboard device 41 includes a keyboard matrix 411, a matrix scan 412, and a data analysis engine 413. The multi-function controller 40 includes a RAM 44, an interface engine (IF engine) 43, a peripheral engine 46, and a ROM 45. These components are also components of the keyboard device 41, and the same configuration and operation as the keyboard device 31 shown in FIG. 5 are realized as a whole. The keyboard device 41 analyzes the keyboard enable control signal 38 stored in the RAM 44 with the data analysis engine 413 and switches between the enable state and the disable state.

図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 file system engine 422, and a data analysis engine 423. The RAM 44, the interface engine (IF engine) 43, the peripheral engine 46, and the ROM 45 of the multi-function controller 40 are also components of the storage device 42. That is, the components 44 to 46 are shared by the keyboard device 41 and the storage device 42. The function of the storage device 42 is the same as the function of the storage device 32 shown in FIG.

本実施例でも上述したようにスイッチ37がキーボード装置41へキーボード・イネーブル制御信号38を出力する。まず、USB装置30のスイッチ37をキーボード装置41がディスエーブルになるように設定しておき、USB装置30をPC10へ接続する。記憶装置32がディスクドライブとして動作を開始した後、スイッチ37をキーボード・イネーブル状態へ切替えると、キーボード装置31が動作を開始し、スイッチ37からキーボード・イネーブル制御信号38が出力される。この信号をマルチ機能コントローラ40に入力し、図14に示すRAM44上のメモリ・ステータスに格納する。その後は、上述した手順によりキーボード装置31を使用可能とする。   Also in this embodiment, the switch 37 outputs the keyboard enable control signal 38 to the keyboard device 41 as described above. First, the switch 37 of the USB device 30 is set so that the keyboard device 41 is disabled, and the USB device 30 is connected to the PC 10. After the storage device 32 starts operating as a disk drive, when the switch 37 is switched to the keyboard enable state, the keyboard device 31 starts operating, and a keyboard enable control signal 38 is output from the switch 37. This signal is input to the multi-function controller 40 and stored in the memory status on the RAM 44 shown in FIG. After that, the keyboard device 31 can be used according to the procedure described above.

これにより、自動的にキーボードドライバを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 USB device 30 simply by connecting the USB device 30 to the PC 10 without worrying about the storage means in which the driver is stored. You can experience it.

なお、マルチ機能コントローラ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 USB device 30 having the multi-function controller 40. FIG. 16 shows a configuration in which the USB device 30 having the multi-function controller 40 is switched between the enabled state and the disabled state of the keyboard device 31 by the RFID device 50.

次に本発明の第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 control signal 38 from the switch 37 is stored in the RAM 44. The keyboard device 41 analyzes the keyboard enable control signal 38 stored in the RAM 44 by the data analysis engine 413 and switches between the enable state and the disable state. Similarly, the storage device 42 also analyzes the keyboard enable control signal 38 stored in the RAM 44 by the data analysis engine 423, and switches between the enable state and the disable state. That is, when the keyboard device 41 is enabled by the keyboard enable control signal 38, the storage device 42 is set to the disabled state by the storage device / disable control signal 47.

本実施例の動作手順を図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 USB device 30, and (b) shows the operation sequence of the PC 10. The switch 37 of the USB device 30 is set to disable the keyboard device 41 and the USB device 30 is connected to the PC 10. Then, the multi-function controller 40 first checks the signal level of the keyboard enable control signal 38 (step S82). If the signal level is low, the multi-function controller 40 controls the keyboard device 41 to the disabled state (step S83). Then, the storage device 42 is controlled to be enabled (step S84). Then, the device information of the storage device 42 is read from the ROM 45 and written in the RAM 44, and preparation for sending to the PC 10 is made (step S85). At this time, the device information of the storage device 42 describes that when the storage device 42 is configured in the PC 10, the storage device 42 is configured as a CD-ROM that is activated when the operation starts.

次にスイッチ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 control signal 38 from the switch 37 (step S89). Here, since there is no change (step S89 / NO), the signal level of the switch 37 is checked (step S97). Since the keyboard enable control signal 38 of the switch 37 is at the low level (step S97 / NO), it is confirmed whether or not the storage device 42 is operating (step S98). Since the storage device 42 has not been configured, the processing proceeds to storage device processing (step S99). A sequence of the storage device processing is shown in FIG. Here, when the storage device 42 is detected (step S131), the storage device 42 is configured by the storage device driver 13 incorporated in the OS (step S132). At this time, since there is a description of CD-ROM in the storage device information, the PC 10 configures the storage device 42 as a CD-ROM.

USB装置30には、あらかじめ記憶装置42がCD−ROMとして稼動し始めた場合に、キーボードドライバのインストーラが起動するように記憶装置42に記録しておく。そして、記憶装置42がCD−ROMとして稼動すると(ステップS122、S133)、キーボード装置ドライバのインストーラが自動的に実行される(ステップS133、134)。このインストーラによってキーボード装置ドライバが記憶装置42から読み出され、PC10にコピーされる(ステップS135)。その後は、スイッチ37からのキーボード・イネーブル制御信号38のレベルチェックを繰り返す(ステップS89)。   The USB device 30 is recorded in advance in the storage device 42 so that the keyboard driver installer is activated when the storage device 42 starts operating as a CD-ROM. When the storage device 42 operates as a CD-ROM (steps S122 and S133), the keyboard device driver installer is automatically executed (steps S133 and 134). The keyboard device driver is read from the storage device 42 by this installer and copied to the PC 10 (step S135). Thereafter, the level check of the keyboard enable control signal 38 from the switch 37 is repeated (step S89).

そして、スイッチ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 control signal 38 from the switch 37 is switched to keyboard enable, that is, the storage device disabled state, a signal level change is detected by a signal level check of the next switch 37 (step S89 / YES). ). Then, the signal level of the switch 37 is checked (step S90). If the keyboard enable control signal 38 is at a high level (step S90 / YES), the keyboard device 41 is controlled to be enabled (step S94), and the storage device. 42 is controlled to a disabled state (step S95). Also, the device information of the keyboard device 41 is copied from the ROM 45 to the RAM 44, and preparations for transmitting device information are made. In the next signal level check of the switch 37, since the keyboard enable control signal 38 is at the high level (step S97 / YES), the process proceeds to keyboard processing (steps S100 and S113). A keyboard processing sequence is shown in FIG.

図20に示すキーボード処理のシーケンスでは、キーボード装置41は、スイッチ37からのキーボード・イネーブル制御信号38を受けて動作を開始しており、送信する装置情報がキーボード装置のものに書き換えられている。従ってPC10側は、未知のキーボード装置41を検出する(ステップS151)。すると、PC10内部の記憶装置(図示せず)に前記ドライバ・コピーステート(図19に示すステップS135)にてコピーされたキーボードドライバを読み出し、キーボード装置41をコンフィギュレーションする(ステップS153)。   In the keyboard processing sequence shown in FIG. 20, the keyboard device 41 starts operating upon receiving a keyboard enable control signal 38 from the switch 37, and the device information to be transmitted is rewritten to that of the keyboard device. Therefore, the PC 10 side detects the unknown keyboard device 41 (step S151). Then, the keyboard driver copied in the driver / copy state (step S135 shown in FIG. 19) is read into a storage device (not shown) inside the PC 10, and the keyboard device 41 is configured (step S153).

このようにして、自動的にキーボードドライバを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 USB device 30 simply by connecting the USB device 30 to the PC 10 without worrying about the storage means in which the driver is stored. You can experience it.

次に本発明の第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 keyboard device 41 and the storage device 42 are incorporated in the multi-function controller 40, the keyboard device 41 and the storage device 42 are enabled / disabled by the storage device 42 instead of the switch 37. Control disable.

本実施例の動作手順を図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 USB device 30, and FIG. 23B shows an operation sequence of the PC 10. In the initial state, the keyboard device 41 of the USB device 30 is disabled and the storage device 42 is enabled. When the USB device 30 is connected to the PC 10 (step S161), the keyboard enable control signal 38 is sent from the non-volatile storage device 421 (shown in FIG. 22) in the storage device 42 by the multi-function controller 40 via the peripheral engine 46. Read out and set in the RAM 44. Based on this signal state, the keyboard device 41 and the storage device 42 are controlled to be enabled or disabled. FIG. 14 shows a state in which the keyboard enable control signal 38 stored in the RAM 44 is analyzed by the data analysis engine 413 and the state of the keyboard device 41 is set. FIG. 22 shows a state where the keyboard enable control signal 38 stored in the RAM 44 is analyzed by the data analysis engine 423 and the state of the storage device 42 is set.

ここでは、初期状態であるので、キーボード・イネーブル制御信号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 control signal 38 is set to a low level (step S162 / NO), the keyboard device 41 is controlled to the disabled state, and the storage device 42 is controlled to the enabled state. The The device information of the storage device 42 is read from the ROM 45, copied to the RAM 44, and prepared for reading from the PC 10 (step S163). When the copying of the device information is completed, the storage device 42 starts operating, and the PC 10 detects the storage device 42 (step S182). Here, as in the first embodiment described above, the storage device 42 is configured by the storage device driver 13 incorporated in the OS (step S183). Then, the storage device 42 operates as a disk drive (step S184). Here, the storage device 42 is configured as a CD-ROM as in the third embodiment, and when the storage device 42 operates as a CD-ROM, a keyboard driver installer is automatically executed (step S166). , S185). The keyboard driver is read from the storage device 42 by this installer (step S167) and copied to the PC 10 (step S186). The storage device 42 detects that the copy of the keyboard driver has been completed (step S168 / YES), and outputs a storage device disable control signal and a keyboard enable control signal to the multi-function controller 40 (step S169).

マルチ機能コントローラ40は、記憶装置ディスエーブル制御信号47とキーボード・イネーブル制御信号38を受けて、記憶装置42をディスエーブル状態に制御し、キーボード装置41の装置情報をROM45から読み出しRAM44へコピーする(ステップS170)。そしてキーボード装置41をイネーブル状態に制御する(ステップS171)。すると、PC10側は、未知のキーボード装置41を検出する(ステップS172、S187)。PC10内部の記憶装置(図示せず)に前記ドライバ・コピーステートにてコピーされたキーボードドライバを読み出し(ステップS188)、キーボード装置41をコンフィギュレーションする(ステップS189)。コンフィギュレーションされたキーボード装置41が動作を開始する(ステップS173、S190)。   The multi-function controller 40 receives the storage device disable control signal 47 and the keyboard enable control signal 38, controls the storage device 42 to the disabled state, reads the device information of the keyboard device 41 from the ROM 45, and copies it to the RAM 44 ( Step S170). Then, the keyboard device 41 is controlled to be enabled (step S171). Then, the PC 10 side detects an unknown keyboard device 41 (steps S172 and S187). The keyboard driver copied in the driver / copy state is read into a storage device (not shown) inside the PC 10 (step S188), and the keyboard device 41 is configured (step S189). The configured keyboard device 41 starts operating (steps S173 and S190).

このようにして、自動的にキーボードドライバを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 control signal 38 is checked (step S162), if the high level of this signal is detected, it is considered that the keyboard device 41 is already connected to the PC 10 at least once, and the keyboard device 41 is enabled. The storage device 42 is controlled to be disabled. Then, device information of the keyboard device 41 is read from the ROM 45 and copied to the RAM 44. Thereafter, a keyboard connection procedure is performed, and the keyboard device 41 is configured.

上述した図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 device 30 is connected to the PC 10 even once, it will operate as the keyboard device 41 from the next time, and the storage device 42 does not operate. In other words, when the USB device 30 that has been connected to the PC 10 at least once is connected to the PC 10 with no experience to which the USB device 30 is connected, it is detected as an unknown keyboard device. In this case, since there is no driver in the storage device inside the PC 10, the driver is requested to install and cannot be automatically installed. In this case, in order to perform installation automatically, a procedure for initializing the USB device 30 occurs.

この問題を解決し、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 USB device 30, the storage device driver 13 incorporated in the OS that configures the storage device 42 and the keyboard driver 12 that configures the keyboard device 41 are connected to the USB device 30. Make the configuration procedure different as long as it does not affect the configuration defined by the specification. Accordingly, it is detected whether the USB device 30 is configured by the storage device driver 13 or whether the USB device 30 is configured by the keyboard driver 12. Further, the device information of the detected device is read from the ROM 45 at a timing that does not affect the configuration of the USB specification, copied to the RAM 44, and transmitted to the PC 10. Accordingly, the driver of the keyboard device 41 is automatically installed in the PC 10 having no experience with the USB device 30 connected, and the PC 10 having the experience of connecting the USB device 30 can be operated as a keyboard. .

本実施例は、スイッチ37等によってUSB装置30を初期化する手順をなくすため、記憶装置32をコンフィギュレーションするOS11に組み込まれた記憶装置ドライバ13と、キーボード装置31をコンフィギュレーションするキーボードドライバ12とに、USB仕様によって定められたコンフィギュレーションに影響を与えない範囲内で、コンフィギュレーション手順に違いを持たせる。   In this embodiment, in order to eliminate the procedure for initializing the USB device 30 by the switch 37 or the like, the storage device driver 13 incorporated in the OS 11 that configures the storage device 32, and the keyboard driver 12 that configures the keyboard device 31. In addition, the configuration procedure is made different within a range that does not affect the configuration defined by the USB specification.

記憶装置ドライバ13によって記憶装置32がコンフィギュレーションされているのか、キーボードドライバ12によってUSB装置30がコンフィギュレーションされているのかを検出し、さらに、USB仕様のコンフィギュレーションに影響を与えないタイミングで、検出した装置の装置情報をROM45から読み出し、RAM44にコピーしてPC10へ送信する。これにより、USB装置30が接続された経験のないPC10では、キーボード装置41のドライバが自動的にインストールされ、USB装置30が接続された経験のあるPC10では、キーボード装置31として動作させることが可能となる。   It is detected whether the storage device 32 is configured by the storage device driver 13 or the USB device 30 is configured by the keyboard driver 12, and is detected at a timing that does not affect the configuration of the USB specification. The device information of the selected device is read from the ROM 45, copied to the RAM 44, and transmitted to the PC 10. As a result, the driver of the keyboard device 41 is automatically installed in the PC 10 having no experience with the USB device 30 connected, and can be operated as the keyboard device 31 in the PC 10 with the experience of being connected to the USB device 30. It becomes.

まず図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 USB device 30 will be described with reference to FIGS. FIG. 24 shows a general configuration procedure between the USB device 30 and the PC 10. When the PC 10 detects the USB device 30 (step S211), the PC 10 requests a device descriptor from the USB device 30 (step S212). In order to obtain the maximum packet size in USB communication, a device descriptor request is made to the global address. In response to this request, the USB device 30 sends a Device Descriptor to the PC 10 (step S202). The PC 10 that has acquired the Device Descriptor resets the port (step S213), and the USB device 30 resets the USB device 30 (step S203).

次に、PC10は、USB装置30に対してDescriptorの要求を出力する(ステップS214)。この要求は、OSがドライバを検索するために全てのDescriptorを読み出すために行われる。USB装置30は、この要求に応答してDescriptorをPC10に送出する(ステップS204)。Descriptorの送受信のフローについは後述する。   Next, the PC 10 outputs a Descriptor request to the USB device 30 (step S214). This request is made so that the OS reads all Descriptors in order to search for drivers. In response to this request, the USB device 30 sends a Descriptor to the PC 10 (step S204). The Descriptor transmission / reception flow will be described later.

Descriptorを取得したPC10は、ドライバの検索(ステップS215)と、ドライバのロードとを行い(ステップS216)、ロードされたドライバによって再度Descriptorの要求がUSB装置30に出力される(ステップS217)。この要求に応答したUSB装置30は、Descriptorを送出し(ステップS205)、コンフィギュレーションが完了する(ステップS218)。ここでのDescriptorの送受信のフローは、ステップS204、S214のフローと同様であり詳細は後述する。   The PC 10 that has acquired the Descriptor searches for the driver (Step S215) and loads the driver (Step S216), and the Descriptor request is output again to the USB device 30 by the loaded driver (Step S217). In response to this request, the USB device 30 sends a Descriptor (step S205), and the configuration is completed (step S218). The Descriptor transmission / reception flow here is the same as the flow of steps S204 and S214, and details will be described later.

このように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 PC 10 starts a Descriptor request (Step S231), it first outputs a Device Descriptor transmission request (Step S232) to the USB device 30. In response to this request, the USB device 30 sends a Device Descriptor to the PC 10 (step S222). Next, the PC 10 outputs a Configuration Descriptor transmission request to the USB device 30 (step S233). In response to this request, the USB device 30 sends a Configuration Descriptor to the PC 10 (step S223). Next, the PC 10 outputs a Configuration-Endpoint Descriptor transmission request to the USB device 30 (step S234). The Configuration-Endpoint Descriptor request is a request for the Configuration Descriptor, Interface Descriptor, Class Descriptor, and Endpoint Descriptor at once. In response to this request, the USB device 30 sends the Descriptor to the PC 10 (step S224). Finally, the PC 10 outputs a String Descriptor transmission request to the USB device 30 (step S235). In response to this request, the USB device 30 sends a String Descriptor to the PC 10 (step S225), and ends the Descriptor sending procedure. In this flow, the number of requests for String Descriptor is one, but the number of requests for String Descriptor varies depending on the configuration of the apparatus.

次に、本実施例の手順を説明する。本実施例は、Device Descriptorの要求回数が一定となることに着目し、キーボードドライバで意図的にDevice Descriptorを複数回要求し、USB装置30内部では、Device Descriptorが読み出された回数をカウントすることで、OSに組み込まれている記憶装置ドライバ13によるコンフィギュレーションか、キーボードドライバ12によるコンフィギュレーションかを判別する。   Next, the procedure of this 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 USB device 30 counts the number of times the Device Descriptor has been read. Thus, it is determined whether the configuration is based on the storage device driver 13 incorporated in the OS or the keyboard driver 12.

図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 PC 10 detects a USB device (step S251), it requests a device descriptor from the USB device 30 (step S252). When the USB device 30 sends a Device Descriptor according to a request from the PC 10 (Step S252) (Step S242), the USB device 30 counts the number of times the Device Descriptor is sent (Step S243). The PC 10 that has acquired the Device Descriptor resets the port (step S253), and the USB device 30 resets the USB device 30 (step S244).

次に、PC10は、USB装置30に対してDescriptorの要求を出力する(ステップS254)。この要求は、OSがドライバを検索するために全てのDescriptorを読み出すために行われる。USB装置30は、この要求に応答してDescriptorをPC10に送出する(ステップS245)。Descriptorの送受信のフローについては後述する。   Next, the PC 10 outputs a Descriptor request to the USB device 30 (step S254). This request is made so that the OS reads all Descriptors in order to search for drivers. In response to this request, the USB device 30 sends a Descriptor to the PC 10 (step S245). The Descriptor transmission / reception flow will be described later.

Descriptorを取得したPC10は、ドライバの検索(ステップS255)と、ドライバのロードとを行い(ステップS256)、ロードされたドライバによって再度Descriptorの要求がUSB装置30に出力される(ステップS257)。この要求に応答したUSB装置30は、Descriptorを送出し(ステップS246)、コンフィギュレーションが完了する(ステップS258)。ステップS246、257のDescriptorの送受信のフローについても後述する。   The PC 10 that has acquired the Descriptor searches for a driver (Step S255) and loads the driver (Step S256), and the Descriptor request is output again to the USB device 30 by the loaded driver (Step S257). In response to this request, the USB device 30 sends a Descriptor (step S246), and the configuration is completed (step S258). Descriptor transmission / reception flows in steps S246 and 257 will also be described later.

次に、上述したステップ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 PC 10 starts requesting a Descriptor (Step S271), it first requests a Device Descriptor from the USB device 30 (Step S272). The USB device 30 sends a Device Descriptor to the PC 10 (Step S262), and counts the number of times the Device Descriptor is sent (Step S263).

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 PC 10 that has received the device descriptor next requests the USB device 30 for a configuration descriptor (step S273). In response to this request, the USB device 30 sends a Configuration Descriptor to the PC 10 (step S264). Next, the PC 10 outputs a Configuration-Endpoint Descriptor transmission request to the USB device 30 (step S274). The Configuration-Endpoint Descriptor request is a request for the Configuration Descriptor, Interface Descriptor, Class Descriptor, and Endpoint Descriptor at once. In response to this request, the USB device 30 sends the above Descriptor to the PC 10 (step S265). Finally, the PC 10 outputs a String Descriptor transmission request to the USB device 30 (step S275). In response to this request, the USB device 30 sends a String Descriptor to the PC 10 (step S266) and ends the Descriptor sending procedure. Also in this flow, the number of requests for String Descriptor is one, but the number of requests for String Descriptor differs depending on the configuration of the apparatus.

次に、図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 keyboard driver 12 in steps S246 and S257 in FIG. 26 will be described with reference to FIG. When the PC 10 starts a Descriptor request (Step S301), it first makes a Device Descriptor request three times in succession (Steps S302 and S303). In the USB device 30, when there is a device descriptor request from the PC 10, the device descriptor is transmitted to the PC 10 (steps S 282, 284, 286), and the number of transmissions is counted each time the device descriptor is transmitted (steps S 283, 285, 287). ). When the Device Descriptor count reaches 5 or more (step S288 / YES), the USB device 30 determines that the configuration is performed by the keyboard driver 12, reads the device information of the keyboard device 31 from the ROM 45, and copies it to the RAM 44. Since the Device Descriptor is transmitted once in step S242 shown in FIG. 26, once in S245, and three times in S246, the total number of transmissions is 5 or more.

また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 storage device driver 13, and the device information of the storage device 42 is read from the ROM 45. Copy to the read RAM 44 (step S290). Thereafter, Configuration Descriptor (Step S304), Configuration-Endpoint Descriptor (Step S305), and String Descriptor (Step S306) necessary for configuring the device are sequentially sent from the USB device 30 to the PC 10 in accordance with a request from the PC 10 ( Step S291, Step S292, Step S293). Accordingly, it is possible to switch between the storage device and the keyboard device without affecting the USB specification configuration. In this flow, the number of Device Descriptor transmissions is counted, but the number of Configuration Descriptor transmissions may be counted.

また、上述した手順の変形例として、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 USB device 30 may switch between valid / invalid of the keyboard device 31 and the storage device 32 in response to a vendor request from the PC 10. This procedure will be described with reference to the flowchart shown in FIG. When the PC 10 starts a Descriptor request, it first requests a Device Descriptor from the USB device 30 (Step S321). The USB device 30 sends a Device Descriptor to the PC 10 (step S311). Next, the PC 10 requests a vendor request from the USB device 30 during configuration (step S322). When receiving a request for a vendor request from the PC 10 (step S312 / YES), the USB device 30 determines that the driver has already been installed and validates the keyboard device 31 as the first device (step SS315).

また、PC10側で、コンフィグレーション中にベンダーリクエストの要求がなかった場合(ステップS312/NO)、記憶装置32を有効化して(ステップS314)、記憶装置32からドライバを読み出し、PC10にインストールを行う。   On the PC 10 side, if there is no vendor request request during configuration (step S312 / NO), the storage device 32 is validated (step S314), the driver is read from the storage device 32, and installation is performed on the PC 10. .

次に、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 PC 10 requests a configuration descriptor from the USB device 30 (step S323). In response to this request, the USB device 30 sends a Configuration Descriptor to the PC 10 (step S316). Next, the PC 10 outputs a Configuration-Endpoint Descriptor transmission request to the USB device 30 (step S324). The Configuration-Endpoint Descriptor request is a request for the Configuration Descriptor, Interface Descriptor, Class Descriptor, and Endpoint Descriptor at once. In response to this request, the USB device 30 sends the Descriptor to the PC 10 (step S317). Finally, the PC 10 outputs a String Descriptor transmission request to the USB device 30 (step S325). In response to this request, the USB device 30 sends a String Descriptor to the PC 10 (step S318), and terminates the Descriptor sending procedure.

このようにして本実施例では、コンフィギュレーションのシーケンスを変更することなく、キーボード装置31と記憶装置32をイネーブル状態とディスエーブル状態とに切り替えることができる。   In this way, in this embodiment, the keyboard device 31 and the storage device 32 can be switched between the enabled state and the disabled state without changing the configuration sequence.

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 USB device 30 is connected to the PC 10 and is not correctly configured (for example, the absence of a driver), it is recognized as an unknown device. In such a situation, it may not be possible to determine whether the recognized device is the keyboard device 31 or the storage device 32. Therefore, in this embodiment, a switch 72 is provided, and when the switch 72 is pressed, the USB device 30 is temporarily disabled. The output of the switch 72 is connected to the USB / HUB controller 33 shown in FIG. 30, and the USB device 30 is set to a disabled state by the USB / HUB controller 33. When the USB device 30 is reset to the initial state, the USB device 30 performs a normal procedure to enable the storage device 32 and read the driver. After the driver installation, the keyboard device 31 is enabled, the keyboard device 31 is configured by the installed driver, and the operation starts.

本実施例の動作手順を図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 PC 10 side shown in FIG. When detecting the connection of the USB device 30, the PC 10 requests the descriptor from the USB device 30 (step S331). Next, when the PC 10 can obtain the driver from the USB device 30 (step S332 / YES), the PC 10 performs enumeration as usual (step S333). If the driver cannot be obtained from the USB device 30 (step S332 / NO), it is recognized as an unknown device (step S335).

次に、不明な装置として認識された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 device 30 side recognized as an unknown device will be described with reference to FIG. When the device is recognized as an unknown device from the PC 10, the USB device 30 is temporarily disabled by the operation of the switch 72 (step S342) (step S343). Thereafter, the storage device 32 is validated (step S344) and the keyboard device 31 is invalidated (step S345), and the storage device 32 is enabled and recognized by the PC 10 (step S346). Then, the descriptor is sent in response to the descriptor request from the PC 10 (step S347), and the descriptor is sent in response to the enumeration processing from the PC 10 (step S348).

以上説明した方法によれば、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 PC 10 at least once is connected to the PC 10 that has not been connected to the USB device, it is detected as an unknown keyboard and stored in the storage device inside the PC 10. Solves the problem that driver installation is requested because the driver does not exist and cannot be installed automatically, and does not cause a procedure to initialize the USB device for automatic installation When the USB device driver is connected to the PC 10 that is not installed, the driver is always automatically installed.

なお、上述した実施例は本発明の好適な実施例である。但しこれに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。   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 Information processing device 10 PC
11 OS 12 Keyboard driver 13 Storage device driver 14 HUB driver 15 USB host controller 16 Internal bus 17 Application software 20 USB cable 30 USB device 31 Keyboard device 32 Storage device 33 USB / HUB controller 34 HUB device 35, 36 HUB port 37 Switch 38 Keyboard enable control signal 40 Multi-function controller 41 Keyboard device 42 Storage device 50 RFID device 51 RFID writing device 60 Enable / disable setting device 61 MCU 62 IF engine 63 ROM 64 RAM
70 External storage device 71 Connection interface 72 Switch

Claims (2)

第1の装置と、該第1の装置のドライバを格納する第2の装置とを有する電子装置と、該電子装置と外部接続用の共通インタフェースで接続する情報処理装置とを有する情報処理システムの制御方法であって、
前記情報処理装置において、コンフィギュレーション処理する装置を前記第1の装置と前記第2の装置との中から選択するステップと、
前記コンフィギュレーション処理する装置の装置情報を前記電子装置に要求する際に、前記装置情報の要求回数を前記第1の装置と前記第2の装置とで変更するステップと、
前記電子装置において、前記情報処理装置から要求される、前記コンフィギュレーション処理する装置の装置情報の要求回数をカウントして、コンフィギュレーション処理する装置を判定するステップと、
前記判定に従って前記第1の装置又は前記第2の装置を前記情報処理装置にコンフィギュレーション処理させる装置として設定するステップと、
を有することを特徴とする情報処理システムの制御方法。
An information processing system comprising: an electronic device having a first device; a second device storing a driver of the first device; and an information processing device connected to the electronic device through a common interface for external connection A control method,
In the information processing apparatus, selecting a device for configuration processing from the first device and the second device;
Changing the number of requests for the device information between the first device and the second device when requesting device information of the device to be configured to the electronic device;
In the electronic device, counting the number of requests for device information of the device that performs the configuration processing, which is requested from the information processing device, and determining a device that performs the configuration processing;
Setting the first device or the second device as a device that causes the information processing device to perform configuration processing according to the determination;
An information processing system control method comprising:
第1の装置と、該第1の装置のドライバを格納する第2の装置とを有する電子装置と、該電子装置と外部接続用の共通インタフェースで接続する情報処理装置とを有する情報処理システムの制御方法であって、
前記情報処理装置において、コンフィギュレーション処理する装置を前記第1の装置と前記第2の装置との中から選択するステップと、
前記第1の装置をコンフィギュレーション処理すると選択した場合に、ベンダーリクエスト信号を含ませた制御信号を生成して前記電子装置に送信し、前記第2の装置をコンフィギュレーション処理すると選択した場合に、前記ベンダーリクエスト信号を含まない制御信号を生成して前記電子装置に送信するステップとを有し、
前記電子装置において、前記コンフィギュレーション処理中に、前記情報処理装置から前記ベンダーリクエスト信号を含まない制御信号を受信した場合に、前記第2の装置をコンフィギュレーション処理を行う装置として選択するステップと、
前記情報処理装置から前記ベンダーリクエスト信号を含む制御信号を受信した場合に、前記第1の装置をコンフィギュレーション処理を行う装置として選択するステップと、を有することを特徴とする情報処理システムの制御方法。
An information processing system comprising: an electronic device having a first device; a second device storing a driver of the first device; and an information processing device connected to the electronic device through a common interface for external connection A control method,
In the information processing apparatus, selecting a device for configuration processing from the first device and the second device;
If the first 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 second device is selected for configuration processing, Generating a control signal not including the vendor request signal and transmitting the control signal 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 second device is selected as a device for performing the configuration processing;
And a step of selecting the first device as a device for performing configuration processing when a control signal including the vendor request signal is received from the information processing device. .
JP2010076205A 2004-07-27 2010-03-29 Control method of information processing system Expired - Fee Related JP4963325B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010076205A JP4963325B2 (en) 2004-07-27 2010-03-29 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
JP2010076205A JP4963325B2 (en) 2004-07-27 2010-03-29 Control method of information processing system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005096372A Division JP2006065833A (en) 2004-07-27 2005-03-29 Electronic apparatus, information processing system, and control method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011284073A Division JP5016133B2 (en) 2004-07-27 2011-12-26 Control method of information processing system

Publications (2)

Publication Number Publication Date
JP2010198624A true JP2010198624A (en) 2010-09-09
JP4963325B2 JP4963325B2 (en) 2012-06-27

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 After (1)

Application Number Title Priority Date Filing Date
JP2011284073A Expired - Fee Related JP5016133B2 (en) 2004-07-27 2011-12-26 Control method of information processing system

Country Status (1)

Country Link
JP (2) JP4963325B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6048658B2 (en) * 2012-12-19 2016-12-21 横河電機株式会社 keyboard

Citations (4)

* Cited by examiner, † Cited by third party
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
JP2003256349A (en) * 2002-02-26 2003-09-12 Fujitsu Component Ltd Electronics device and its control method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
JP2003256349A (en) * 2002-02-26 2003-09-12 Fujitsu Component Ltd Electronics device and its control method

Also Published As

Publication number Publication date
JP4963325B2 (en) 2012-06-27
JP2012069166A (en) 2012-04-05
JP5016133B2 (en) 2012-09-05

Similar Documents

Publication Publication Date Title
JP4346853B2 (en) Electronic device and control method thereof
JP5513018B2 (en) Peripheral device and image reading device
KR101516637B1 (en) Computer with networking module and Method for transmitting data using the same
JP2006065833A (en) Electronic apparatus, information processing system, and control method thereof
JP4378323B2 (en) Information processing apparatus, printing apparatus, printing system, setting method, storage medium storing computer-readable program, and program
US7797398B2 (en) Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated
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
JP2003114859A (en) Usb connector
KR100601684B1 (en) external storage device, image aquisition device, method and system for driving driver
US7124235B2 (en) USB apparatus with switchable host/hub functions and control method thereof
JP5016133B2 (en) Control method of information processing system
EP1300830B1 (en) Priority determination apparatus, priority determination method, and priority determination program
JP5596376B2 (en) Peripheral device
GB2617230A (en) Guidance control method for driver installation, device regarding the same, and terminal
JP2006293638A (en) Information processor and peripheral equipment
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
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
JP4815775B2 (en) Device driver installation method and installation system
US8214556B2 (en) Controlling execution of an action object at a peripheral device based on data stored in a removable storage medium
KR100607970B1 (en) OA device and method for installing/reinstalling its driver
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
JP5739561B2 (en) Peripheral device, image reading device and image reading system
CN112840278B (en) Programmable logic controller, external device, method, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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: 20120321

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: 20120322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees