JP5257343B2 - USB host device - Google Patents
USB host device Download PDFInfo
- Publication number
- JP5257343B2 JP5257343B2 JP2009275627A JP2009275627A JP5257343B2 JP 5257343 B2 JP5257343 B2 JP 5257343B2 JP 2009275627 A JP2009275627 A JP 2009275627A JP 2009275627 A JP2009275627 A JP 2009275627A JP 5257343 B2 JP5257343 B2 JP 5257343B2
- Authority
- JP
- Japan
- Prior art keywords
- usb
- host controller
- host
- control
- target device
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
本発明は、USB(Universal Serial Bus)規格に準拠した方式で、USBデバイスとの通信を行うUSBホスト装置に関する。 The present invention relates to a USB host device that communicates with a USB device by a method compliant with the USB (Universal Serial Bus) standard.
従来、初期状態ではUSB2.0に準拠した方式でUSBホスト装置と通信を行う一方、その後、USB1.1に準拠した方式でUSBホスト装置と通信を行う状態に切り替えることも可能なUSBデバイスが提案されている(例えば、特許文献1参照。)。 Conventionally, there has been proposed a USB device that can communicate with a USB host device in a method compliant with USB 2.0 in the initial state, but can then be switched to a state in which communication with the USB host device is performed in a method compliant with USB 1.1. (For example, refer to Patent Document 1).
この特許文献1に記載された技術の場合、USBデバイスには、USBデバイス側の内部処理で利用されるフラグが設けられ、USBデバイスがUSBホスト装置から所定の指令を受けた場合、USBデバイス側での内部処理によってフラグがONとなる。また、USBデバイスがUSBホスト装置とのネゴシエーションを行う際、フラグがONとなっていたら、USBデバイスはUSBホスト装置に対しUSB1.1対応のデバイスである旨の応答を返す(特許文献1:[0029]−[0037]参照。)。 In the case of the technique described in Patent Document 1, the USB device is provided with a flag used in internal processing on the USB device side, and when the USB device receives a predetermined command from the USB host device, the USB device side The flag is turned ON by the internal processing at. When the USB device negotiates with the USB host device, if the flag is ON, the USB device returns a response to the USB host device that the device is compatible with USB 1.1 (Patent Document 1: [ 0029]-[0037]).
したがって、このような構成を備えるUSBデバイスを利用すれば、USBホスト装置は、所望のタイミングで上記所定の指令をUSBデバイスに対して発行することにより、USBデバイスのフラグをONにすることができる。そして、その後、バスリセットを発生させてUSBデバイスとのネゴシエーションを行うことにより、USBデバイスとの通信方式を、USB2.0に準拠した方式からUSB1.1に準拠した方式へ切り替えることができる。 Therefore, if a USB device having such a configuration is used, the USB host device can turn on the flag of the USB device by issuing the predetermined command to the USB device at a desired timing. . Then, by generating a bus reset and negotiating with the USB device, the communication method with the USB device can be switched from a method compliant with USB 2.0 to a method compliant with USB 1.1.
しかし、上記特許文献1に記載の技術は、USBホスト装置側から送られてくる所定の指令を受けた場合にフラグをONにする仕組みや、USBホスト装置へ返す応答をフラグに応じて切り替える仕組みなどを、USBデバイス側に実装することが必須になる。 However, the technique described in Patent Document 1 is a mechanism for turning on a flag when a predetermined command sent from the USB host device side is received, or a mechanism for switching a response to be returned to the USB host device according to the flag. Etc. must be mounted on the USB device side.
そのため、上記のような仕組みが実装されていない一般的なUSBデバイスを利用することが前提となる場合、上記特許文献1に記載の技術を採用することはできない、という問題があった。 For this reason, there is a problem that the technique described in Patent Document 1 cannot be adopted when it is assumed that a general USB device in which the above mechanism is not mounted is used.
また、上記のような仕組みが実装された特殊なUSBデバイスを利用すれば、所期の効果は得られるものの、そのような特殊なUSBデバイスを製造する場合、一般的なUSBデバイスほど量産効果によるコストダウンを期待することができない。そのため、そのような特殊なUSBデバイスは、どうしても割高になりがちであり、ひいてはUSBホスト装置とUSBデバイスとで構成されるシステム全体も高価なものになってしまう、という問題もあった。 In addition, if a special USB device having the above-described mechanism is used, the desired effect can be obtained. However, when such a special USB device is manufactured, a general USB device is more likely to have a mass production effect. Cost reduction cannot be expected. For this reason, such special USB devices tend to be expensive, and there is also a problem that the entire system including the USB host device and the USB device becomes expensive.
本発明は、上記問題を解決するためになされたものであり、その目的は、USBデバイス側に特殊な構成を追加しなくても、USBデバイスとの間の通信方式を任意のタイミングでUSB2.0に準拠した方式からUSB1.1に準拠した方式に切り替え可能なUSBホスト装置を提供することにある。 The present invention has been made in order to solve the above-described problem. The purpose of the present invention is to set a communication method with a USB device at an arbitrary timing without adding a special configuration to the USB device side. It is an object of the present invention to provide a USB host device capable of switching from a method conforming to 0 to a method conforming to USB 1.1.
以下、本発明において採用した構成について説明する。
請求項1に記載のUSBホスト装置は、USB(Universal Serial Bus)規格に準拠した方式で、USBデバイスと通信を行うUSBホスト装置であって、USB1.1に準拠した方式でUSBデバイスとの通信を制御する第一ホストコントローラ部、及びUSB2.0に準拠した方式でUSBデバイスとの通信を制御する第二ホストコントローラ部を有し、前記第二ホストコントローラ部による制御中に、前記第一ホストコントローラ部による制御への切り替えが指令されると、前記第二ホストコントローラ部による制御を中止するとともに前記第一ホストコントローラ部による制御を開始し、その制御開始後、USB1.1に準拠した方式でUSBデバイスの認識に成功した場合には、前記第一ホストコントローラ部による制御を継続する一方、前記認識に成功しなかった場合には、前記第一ホストコントローラ部による制御を中止するとともに前記第二ホストコントローラ部による制御を行う状態に復帰するUSBコントローラと、USB2.0に対応したUSBデバイスを対象デバイスとして、当該対象デバイスとの間で通信を行う際に、あらかじめ取り決められた切替条件が成立するまでは、前記USBコントローラが有する前記第二ホストコントローラを利用して、USB2.0で規定されたHS(High Speed)モードで、前記対象デバイスとの通信を行う一方、前記切替条件が成立した際には、前記第一ホストコントローラ部による制御への切り替えを前記USBコントローラに対して指令して、前記対象デバイスが接続されたUSBポートのポートオーナーを前記第二ホストコントローラ部から前記第一ホストコントローラ部へと切り替えることにより、前記第二ホストコントローラ部による制御を中止させるとともに前記第一ホストコントローラ部による制御を開始させ、さらに、前記USBコントローラが前記第一ホストコントローラ部による制御を開始した際には、前記第一ホストコントローラ部を介して前記対象デバイスに対してバスリセットを発行することを、前記USBコントローラに対して指令して、前記対象デバイスに対するバスリセットを発行させることにより、前記対象デバイスが有するプルアップ抵抗の接続位置を初期状態へと戻し、当該初期状態へと戻された前記対象デバイスと前記第一ホストコントローラ部との間でネゴシエーションを実行させることにより、前記第一ホストコントローラ部には、前記対象デバイスをUSB1.1に対応したUSBデバイスとして認識させ、以降は、前記USBコントローラが有する前記第一ホストコントローラを利用して、USB1.1で規定されたFS(Full Speed)モードで、前記対象デバイスとの通信を行う制御手段とを備えたことを特徴とする。
Hereinafter, the configuration employed in the present invention will be described.
The USB host device according to claim 1 is a USB host device that communicates with a USB device in a method compliant with the USB (Universal Serial Bus) standard, and communicates with the USB device in a method compliant with USB 1.1. A first host controller unit that controls communication and a second host controller unit that controls communication with a USB device in a manner compliant with USB 2.0, and during the control by the second host controller unit, the first host When switching to control by the controller unit is commanded, the control by the second host controller unit is stopped and the control by the first host controller unit is started. When the USB device is successfully recognized, the control by the first host controller unit is continued. If the recognition is not successful, a USB controller that stops control by the first host controller unit and returns to a state in which control by the second host controller unit is performed, and a USB device that supports USB 2.0 are provided. When communicating with the target device as the target device, it is defined in USB 2.0 using the second host controller of the USB controller until a predetermined switching condition is satisfied. in the HS (High Speed) mode, the one that communicates with the target device, when the switching condition is satisfied, instructs the switching to control by the first host controller to the USB controller , The port owner of the USB port to which the target device is connected as the second host By switching to the first host controller from the controller unit, the second host controller to start control by the first host controller unit with stops the control of, further wherein the pre-Symbol USB controller first host When the control by the controller unit is started, the USB controller is instructed to issue a bus reset to the target device via the first host controller unit, and the bus reset for the target device is performed. the Rukoto is issuing, the connection position of the pull-up resistor target device has returned to the initial state, execute the negotiation between said target device returned to the initial state first host controller by the first host controller The USB device recognizes the target device as a USB device compatible with USB 1.1, and thereafter uses the first host controller included in the USB controller to perform FS (Full Speed) defined by USB 1.1. ) Mode, and a control means for performing communication with the target device.
このUSBホスト装置において、制御手段は、あらかじめ取り決められた切替条件が成立するまでは、USBコントローラが有する第二ホストコントローラを利用して、USB2.0で規定されたHSモードで、対象デバイスとの通信を行う。このような通信を行う状態にある場合、USBホスト装置と対象デバイスは、USB2.0に対応した一般的なUSB機器と同等な挙動を示す状態になる。 In this USB host device, the control means uses the second host controller included in the USB controller until the predetermined switching condition is established, and in the HS mode defined by USB 2.0, Communicate. In a state where such communication is performed, the USB host device and the target device are in a state that exhibits the same behavior as a general USB device compatible with USB 2.0.
一方、あらかじめ取り決められた切替条件が成立すると、制御手段は、第一ホストコントローラ部による制御への切り替えをUSBコントローラに対して指令する。ここで、切替条件に関しては、どのような取り決めになっていてもよく、例えば、複数の処理ステップからなる一連の処理を順次実行してゆく中で、所定の処理ステップが完了したことをもって切替条件が成立する、といったものであればよい。 On the other hand, when a predetermined switching condition is satisfied, the control means instructs the USB controller to switch to the control by the first host controller unit. Here, regarding the switching condition, any arrangement may be adopted. For example, the switching condition is determined when a predetermined processing step is completed while a series of processes including a plurality of processing steps is sequentially performed. As long as the above holds, it is sufficient.
あるいは、発生タイミングが動的に変化する何らかのイベントが発生したことをもって切替条件が成立する、といったものであってもよい。より具体的な例を挙げれば、利用者が所定の操作を行ったことを検知したら切替条件が成立する、USBホスト装置で稼働するタスクの数が所定以上となったら切替条件が成立する、USBホスト装置で所定の機能が作動したら切替条件が成立する、といったものであってもよい。また、これらのイベントが発生した後、所定の時間が経過したら切替条件が成立する、といったものであってもよい。もちろん、ここで例示した事象以外の事象を対象に切替条件が成立するものであってもよい。 Alternatively, the switching condition may be satisfied when some event whose generation timing dynamically changes occurs. To give a more specific example, the switching condition is satisfied when it is detected that the user has performed a predetermined operation, and the switching condition is satisfied when the number of tasks running on the USB host device exceeds a predetermined value. The switching condition may be satisfied when a predetermined function is activated in the host device. Alternatively, the switching condition may be satisfied when a predetermined time elapses after these events occur. Of course, the switching condition may be satisfied for an event other than the events exemplified here.
いずれにしても、このような切替条件が成立したときに、制御手段は、第一ホストコントローラ部による制御への切り替えをUSBコントローラに対して指令して、対象デバイスが接続されたUSBポートのポートオーナーを第二ホストコントローラ部から第一ホストコントローラ部へと切り替えることにより、第二ホストコントローラ部による制御を中止させるとともに第一ホストコントローラ部による制御を開始させる。 In any case, when such a switching condition is satisfied, the control means instructs the USB controller to switch to the control by the first host controller unit , and the port of the USB port to which the target device is connected. by switching the owner and the second host controller to the first host controller, Ru to start control by the second host controller stops the control of Rutotomoni first host controller unit.
ただし、USBコントローラが第一ホストコントローラ部による制御を開始したとき、対象デバイスは、すでにUSB2.0に対応したデバイスとして機能している状態にある。そのため、USBコントローラが、単に第一ホストコントローラ部による制御を開始しても、それだけでは対象デバイスをUSB1.1に対応したデバイスとして認識することができず、その場合、USBコントローラは、第一ホストコントローラ部による制御を中止するとともに第二ホストコントローラ部による制御を行う状態に復帰してしまう。 However, when the USB controller starts control by the first host controller unit, the target device is already functioning as a device compatible with USB 2.0. For this reason, even if the USB controller simply starts control by the first host controller unit, the target device cannot be recognized as a device compatible with USB 1.1. The control by the controller unit is stopped, and the control by the second host controller unit is restored.
この点について、より詳しく説明すると、一般に、USB1.1に対応したUSBデバイスの場合、その仕様上、USBデバイス側に設けられたプルアップ抵抗の接続位置に基づいて、FS(Full Speed)モードで動作可能なデバイスか、LS(Low Speed)モードでしか動作しないデバイスかを判定可能となっている。 This point will be described in more detail. Generally, in the case of a USB device that supports USB 1.1, the FS (Full Speed) mode is used based on the connection position of a pull-up resistor provided on the USB device side due to its specifications. It is possible to determine whether the device is operable or a device that operates only in the LS (Low Speed) mode.
また、USB2.0に対応したUSBデバイスの場合も、USB1.1との互換性を確保するため、初期状態ではプルアップ抵抗の接続位置に基づく判断が可能となっており、USBホスト装置からは、FS(Full Speed)モードで動作可能なデバイスとして認識される。 Also, in the case of a USB device that supports USB 2.0, in order to ensure compatibility with USB 1.1, it is possible to make a determination based on the connection position of the pull-up resistor in the initial state. , It is recognized as a device operable in FS (Full Speed) mode.
しかし、USBホスト装置及びUSBデバイスの双方がUSB2.0に対応している場合、プルアップ抵抗の接続位置に基づいて、FS(Full Speed)モードで動作可能なUSBデバイスであるとUSBホスト装置から認識された後、さらに双方が情報交換を行うことで、USB2.0で規定されたHS(High Speed)モードの利用が可能かどうかを確認する。そして、HSモードの利用が可能な場合は、上述したプルアップ抵抗をオフにした上で、HSモードでの通信を行う状態に移行する。 However, when both the USB host device and the USB device support USB 2.0, the USB host device determines that the USB device can operate in the FS (Full Speed) mode based on the connection position of the pull-up resistor. After the recognition, the two parties further exchange information to confirm whether the HS (High Speed) mode defined by USB 2.0 can be used. When the HS mode can be used, the pull-up resistor described above is turned off and the state shifts to a state in which communication in the HS mode is performed.
USB2.0が、以上のような仕様になっている都合上、対象デバイスがすでにUSB2.0に対応したデバイスとして機能している状態にある場合、先に説明した通り、単にUSBコントローラが第一ホストコントローラ部による制御を開始しても、USBコントローラとしては、プルアップ抵抗の接続位置によるモード判定ができない。 If the target device is already functioning as a device compatible with USB 2.0 due to the above specifications of USB 2.0, as described above, the USB controller is simply the first. Even if the control by the host controller unit is started, the USB controller cannot determine the mode based on the connection position of the pull-up resistor.
すなわち、単にUSBコントローラが第一ホストコントローラ部による制御を開始することで、USBホスト装置だけが単独でUSB1.1対応の機器に切り替わっても、USBホスト装置側としては、USB2.0対応の作動状態になっている対象デバイスを、USB1.1に対応したデバイスとして認識することはできないのである。 In other words, even if the USB controller simply starts control by the first host controller unit and only the USB host device is switched to a device that supports USB 1.1 alone, the USB host device side operates as compatible with USB 2.0. The target device in the state cannot be recognized as a device that supports USB 1.1.
そこで、本発明においては、USBコントローラが、単に第一ホストコントローラ部による制御を開始するだけではなく、USBコントローラが、第一ホストコントローラ部による制御を開始した後、さらに、制御手段からの指令に基づき、第一ホストコントローラ部を介して対象デバイスに対してバスリセットを発行するように構成した。 Therefore, in the present invention, not only the USB controller simply starts control by the first host controller unit, but also after the USB controller starts control by the first host controller unit, the command from the control means is further received. Based on this, a bus reset is issued to the target device via the first host controller unit.
そのため、対象デバイスは、バスリセットイベントの発生に伴って初期状態に戻り、対象デバイスが有するプルアップ抵抗の接続位置も初期状態へと戻る。そして、初期状態へと戻された対象デバイスと第一ホストコントローラ部による制御を開始したUSBコントローラとの間で、ネゴシエーションを開始する。その結果、第一ホストコントローラ部は、対象デバイスをUSB1.1に対応したUSBデバイスと認識し、以降は、USBコントローラが有する第一ホストコントローラを利用して、FSモードで対象デバイスとの通信を行う状態に切り替わることになる。 Therefore, the target device returns to the initial state with the occurrence of the bus reset event, and the connection position of the pull-up resistor included in the target device also returns to the initial state. Then, negotiation is started between the target device returned to the initial state and the USB controller that has started control by the first host controller unit. As a result, the first host controller unit recognizes the target device as a USB device compatible with USB 1.1, and thereafter uses the first host controller of the USB controller to communicate with the target device in the FS mode. It will be switched to the state to do.
つまり、USBコントローラが第一ホストコントローラ部による制御を開始することで、USBホスト装置がUSB1.1対応の機器に切り替わるとともに、USBホスト装置側が対象デバイスの認識に失敗する前にバスリセットを発行することで、USB2.0対応の作動状態になっている対象デバイスを初期状態に戻すのである。これにより、USBホスト装置及び対象デバイスは、双方がUSB1.1に準拠した手順でネゴシエーションを行うことになり、最終的にFSモードでの通信が可能となるのである。 That is, when the USB controller starts control by the first host controller unit, the USB host device is switched to a USB 1.1 compatible device, and the USB host device issues a bus reset before the target device fails to recognize the target device. As a result, the target device that is in an operation state compatible with USB 2.0 is returned to the initial state. As a result, both the USB host device and the target device negotiate according to a procedure compliant with USB 1.1, and finally communication in the FS mode becomes possible.
以上説明したように、本発明のUSBホスト装置によれば、上記のようなUSBデバイスの仕様上の特性を利用することにより、USBホスト装置側での制御にて、対象デバイスとの間の通信モードを、HSモードからFSモードに切り替えることができる。 As described above, according to the USB host device of the present invention, communication with the target device is performed under the control on the USB host device side by utilizing the above-mentioned characteristics of the USB device. The mode can be switched from the HS mode to the FS mode.
したがって、何らかの事情により、USBホスト装置側の都合で、対象デバイスとの間の通信モードを、HSモードからFSモードに切り替えたい状況になる場合、そのような状況になったことを切替条件としておくことで、所期のモード切り替えを実現することができる。 Therefore, when it is desired to switch the communication mode with the target device from the HS mode to the FS mode for some reason due to the circumstances of the USB host device, it is set as a switching condition. Thus, the desired mode switching can be realized.
しかも、そのようなモード切り替えを実現するに当たって、対象デバイス側には、何ら特殊な構成を追加する必要がなく、例えば、市販されているごく一般的なUSB2.0対応デバイスであっても、そのようなデバイスを対象に、HSモードからFSモードへの切り替え制御を実現できる。 In addition, when realizing such mode switching, there is no need to add any special configuration to the target device side. For example, even for a very general USB 2.0 compatible device that is commercially available, Switching control from the HS mode to the FS mode can be realized for such a device.
したがって、特殊な仕組みを持ったUSBデバイスを利用する場合に比べ、より安価なUSBデバイスでも利用可能となるので、HSモードからFSモードへの切り替え制御を実現可能なシステムを、より低コストで構築することができるようになる。 Therefore, compared to the case of using a USB device with a special mechanism, it is possible to use a less expensive USB device, so a system capable of controlling switching from the HS mode to the FS mode can be constructed at a lower cost. Will be able to.
なお、以上説明したようなUSBホスト装置を構成するに当たって、USBコントローラが備える第一ホストコントローラ部及び第二ホストコントローラ部の具体的な仕様については、USB規格に準拠したものを任意に採用できるが、すでに普及しているものと同等な構成とするのであれば、例えば、請求項2に記載したように、前記第一ホストコントローラ部は、OHCI(Open Host Controller Interface)又はUHCI(Universal Host Controller Interface)に準拠した方式でUSBデバイスとの通信を制御し、前記第二ホストコントローラ部は、EHCI(Enhanced Host Controller Interface)に準拠した方式でUSBデバイスとの通信を制御するものになっていると好ましい。 In configuring the USB host device as described above, the specific specifications of the first host controller unit and the second host controller unit included in the USB controller can be arbitrarily adopted according to the USB standard. If the configuration is the same as that which has already become widespread, for example, as described in claim 2, the first host controller unit includes an OHCI (Open Host Controller Interface) or a UHCI (Universal Host Controller Interface). It is preferable that the second host controller unit controls communication with the USB device by a method compliant with EHCI (Enhanced Host Controller Interface). .
また、このような通信速度の切り替えを実現可能なUSBデバイスについて、どのような形態で利用するのかについても、その具体的な構成は、任意に様々なものを考え得るが、一例を挙げれば、請求項3に記載したように、前記対象デバイスは、USBストレージデバイスであり、しかも、前記USBホスト装置は、前記対象デバイス上にあるファイルシステムをマウントポイントにマウントすると、前記マウントポイント下にあるファイル群にアクセス可能となるように構成されており、前記制御手段は、USB2.0に対応したUSBデバイスとして認識されている前記対象デバイスについて、当該対象デバイス上にあるファイルシステムをマウントポイントからアンマウントし、その後、前記HSモードから前記FSモードへの切替制御を行い、この切替制御に伴ってUSB1.1に対応したUSBデバイスとして認識される前記対象デバイスについて、当該対象デバイス上にあるファイルシステムを、アンマウント時のマウントポイントと同じマウントポイントに再マウントする、といった構成を挙げることができる。 In addition, regarding the USB device that can realize such switching of the communication speed, the specific configuration of the USB device that can be used in various forms can be arbitrarily considered. The target device is a USB storage device, and when the USB host device mounts a file system on the target device on a mount point, the file under the mount point The control means unmounts the file system on the target device from the mount point for the target device that is recognized as a USB device compatible with USB 2.0. Then, switching from the HS mode to the FS mode And remounting the file system on the target device to the same mount point as the mount point at the time of unmounting the target device recognized as a USB device compatible with USB 1.1 in accordance with the switching control. , And the like.
このUSBホスト装置は、対象デバイス上にあるファイルシステムをマウントポイントにマウントすると、マウントポイント下にあるファイル群にアクセス可能となるように構成される。このようなUSBホスト装置の代表的な具体例としては、UNIX(登録商標)やUnix系と呼ばれている各種OS(例えば、Linux(登録商標)、BSD系OSなど)を搭載したホスト装置を挙げることができる。 This USB host device is configured such that when a file system on the target device is mounted on a mount point, a file group under the mount point can be accessed. A typical example of such a USB host device is a host device equipped with various OSs (for example, Linux (registered trademark), BSD OS, etc.) called UNIX (registered trademark) or Unix. Can be mentioned.
このように構成されるUSBホスト装置において、制御手段は、切替制御前の段階では、対象デバイスをUSB2.0に対応したUSBデバイスとして認識し、対象デバイスとの間でHSモードにて通信を行う。そのため、この状態では、対象デバイスに対し、より高速なアクセスを行うことができる。 In the USB host device configured as described above, the control unit recognizes the target device as a USB device compatible with USB 2.0 and performs communication with the target device in the HS mode before the switching control. . Therefore, in this state, the target device can be accessed at higher speed.
一方、制御手段は、切替制御後の段階では、対象デバイスをUSB1.1に対応したUSBデバイスとして認識し、対象デバイスとの間でFSモードにて通信を行う。そのため、この状態では、対象デバイスに対するアクセス速度は低下するものの、制御手段にかかる負荷は軽減され、その分だけ制御手段の余力が増大するので、制御手段は、その余力を他の処理に振り分けることができる。 On the other hand, the control means recognizes the target device as a USB device compatible with USB 1.1 at the stage after the switching control, and communicates with the target device in the FS mode. Therefore, in this state, although the access speed to the target device decreases, the load on the control means is reduced, and the surplus capacity of the control means increases accordingly, so the control means distributes the surplus power to other processes. Can do.
したがって、例えば、起動直後に実行するタスクは少ないものの、起動後の時間経過に伴って徐々に並行して実行するタスクが増えてゆくようなUSBホスト装置においては、起動直後には、対象デバイスに対する高速アクセスを行って装置の起動に要する時間を短縮する一方、タスクが増えて制御装置にかかる負荷が増大してきた場合には、対象デバイスに対するアクセス速度を低下させて、制御手段にかかる負荷を軽減する、といった対処が可能となる。 Therefore, for example, in a USB host device in which the number of tasks executed in parallel gradually increases as time elapses after startup although there are few tasks executed immediately after startup, While reducing the time required to start up the device by performing high-speed access, when the load on the control device increases due to an increase in tasks, the access speed to the target device is reduced to reduce the load on the control means Can be handled.
このような対処を行えば、制御手段の処理能力が比較的低い場合でも、その処理能力がUSB2.0対応の対象デバイスに過剰に振り分けられてしまうのを防止でき、USBホスト装置の処理能力が飽和してしまうのを回避することができる。 By taking such measures, even when the processing capability of the control means is relatively low, it is possible to prevent the processing capability from being excessively distributed to the target device compatible with USB 2.0, and the processing capability of the USB host device is reduced. Saturation can be avoided.
しかも、このような切替制御を行うに当たって、制御手段は、対象デバイス上にあるファイルシステムをマウントポイントからアンマウントし、その上で、HSモードからFSモードへの切替制御を行う。そして、この切替制御に伴ってUSB1.1に対応したUSBデバイスとして認識される対象デバイスについて、当該対象デバイス上にあるファイルシステムを、アンマウント時のマウントポイントと同じマウントポイントに再マウントする。 In addition, when performing such switching control, the control unit unmounts the file system on the target device from the mount point, and then performs switching control from the HS mode to the FS mode. Then, with this switching control, for the target device recognized as a USB device compatible with USB 1.1, the file system on the target device is remounted at the same mount point as the mount point at the time of unmount.
このような制御を行えば、HSモードからFSモードへの切替制御を行っている最中に、マウントポイント下にあるファイル群にアクセスされるのを確実に防止できるので、ファイル破損等の問題を招くことがない。 By performing such control, it is possible to surely prevent access to the file group under the mount point during the switching control from the HS mode to the FS mode. There is no invitation.
しかも、再マウント後には、アンマウント前と同じパス名で、マウントポイント下にあるファイル群にアクセスすることができる。したがって、それらのファイル群を利用するタスク(例えば、アプリケーション)側では、HSモードからFSモードへの切替制御の前後で、そのような切替制御がなされることを意識することなく、ファイルアクセスを行うことができる。 Moreover, after remounting, files under the mount point can be accessed with the same path name as before unmounting. Therefore, on the task (for example, application) side using these file groups, file access is performed without being aware of such switching control before and after switching control from the HS mode to the FS mode. be able to.
このため、例えば、USBホスト装置としての役割をも有するカラオケ装置(以下、カラオケコマンダ)においては、カラオケ利用者がカラオケ演奏を開始するときに、カラオケコマンダの起動からブートローダによって、USBデバイスに記憶された演奏や背景映像再生タスク・プログラムが曲データなどと供に読み出される時間はUSB2.0によって短縮される。そして、順次タスク・プログラムの実行が開始され、カラオケ演奏、及び背景映像再生が行われつつ、次に再生する曲データをUSBデバイスから読み出すときに、リモコン操作などの新たなイベントが発生しても、カラオケ演奏が妨げられることもないし、USBデバイスからの曲データも破損されずに読み出しできる。 For this reason, for example, in a karaoke device (hereinafter referred to as a karaoke commander) that also serves as a USB host device, when a karaoke user starts karaoke performance, it is stored in the USB device by the boot loader from the activation of the karaoke commander. The time for the performance and background video playback task / program to be read together with the music data is shortened by USB 2.0. Then, even if a new event such as a remote control operation occurs when the song data to be played next is read from the USB device while the execution of the task program is started sequentially, the karaoke performance and the background video reproduction are performed. Karaoke performance is not hindered, and song data from the USB device can be read without being damaged.
次に、本発明の実施形態について一例を挙げて説明する。
[カラオケコマンダの内部構造]
図1に示すカラオケコマンダ1は、本発明の一実施形態に相当するUSBホスト装置1Aと、USBストレージデバイス1Bとを備えてなる装置である。
Next, an embodiment of the present invention will be described with an example.
[Internal structure of Karaoke Commander]
A karaoke commander 1 shown in FIG. 1 is an apparatus including a USB host device 1A corresponding to an embodiment of the present invention and a
USBホスト装置1Aは、周知のCPU3A、ROM3B、RAM3Cなどを備える制御部3(本発明でいう制御手段の一例に相当。)、ハードディスク装置(HDD)5、及びUSBインターフェース7などを備えている。そして、上述のUSBストレージデバイス1Bは、USBインターフェース7を介してUSBホスト装置1Aに接続されている。すなわち、このUSBホスト装置1Aには、USBストレージデバイス1B及びHDD5、これら2種類のストレージデバイスが内蔵されている。
The USB host device 1A includes a control unit 3 (corresponding to an example of control means in the present invention) including a known
これらのうち、HDD5は、シリアルATA方式のインターフェースを介して接続され、カラオケコマンダ1の起動時(すなわち、USBホスト装置1Aの起動時)には、通常、HDD5に格納されたプログラムが読み込まれる仕組みになっている。 Of these, the HDD 5 is connected via a serial ATA interface, and when the karaoke commander 1 is activated (that is, when the USB host device 1A is activated), the program stored in the HDD 5 is normally read. It has become.
また、何らかの原因で(例えば、HDD5の故障により)、HDD5からプログラムを読み込むことができない状況に陥った場合には、代替手段として、USBストレージデバイス1Bに格納されたプログラムが読み込まれる仕組みになっている。すなわち、HDD5は通常の起動時に利用され、USBストレージデバイス1Bは通常の起動ができない緊急時に利用される。
Further, when the program cannot be read from the HDD 5 due to some reason (for example, due to a failure of the HDD 5), the program stored in the
USBインターフェース7は、制御部3とUSBデバイス(例えば、USBストレージデバイス1B)との間に介在して、両者間の通信を仲介する装置で、図2に示すようなUSBコントローラ10を備えている。
The USB interface 7 is a device that mediates communication between the
このUSBコントローラ10は、PCIバスインターフェース11、アービター12、OHCIホストコントローラ13A,13B、EHCIホストコントローラ14、ルートハブ15、USB物理層16などを備える。なお、本実施形態においては、これらの構成が1チップ上に集積された市販品(製品名:μPD720101、NECエレクトロニクス株式会社製)を使用している。
The
これらのうち、OHCIホストコントローラ13A,13Bは、USB1.1で規定されたFSモード(通信速度:12Mbps)及びLSモード(通信速度:1.5Mbps)での通信を制御するコントローラである。また、EHCIホストコントローラ14は、USB2.0で規定されたHSモード(通信速度:480Mbps)での通信を制御するコントローラである。
Among these, the
ルートハブ15は、USB物理層16が有する5つのUSBポートと、上述のOHCIホストコントローラ13A,13BないしEHCIホストコントローラ14との接続を制御している。このルートハブ15によって、上記5つのUSBポートは、それぞれがOHCI側又はEHCI側のいずれかに選択的に接続される。また、上述のOHCIホストコントローラ13A,13BないしEHCIホストコントローラ14とPCIバスインターフェース11との接続は、アービター12によって調停される。
The
なお、USBホスト装置1Aには、上記のようなハードウェア以外に、LAN(Local Area Network)に接続するためのネットワークインターフェースや、楽曲演奏を実行するための音源ボードなども設けられている。ただし、これらの構成自体は、この種のカラオケコマンダにおいて周知の構成であり、また、本発明の要部を説明する上で必須の構成でもないので、図示を省略してある。 In addition to the hardware as described above, the USB host device 1A is also provided with a network interface for connecting to a LAN (Local Area Network), a tone generator board for executing music performance, and the like. However, these configurations themselves are well-known configurations in this kind of karaoke commander, and are not indispensable for explaining the main part of the present invention, and therefore are not shown.
また、以上のようなハードウェアを制御するため、USBホスト装置1Aには、OS(Operating System)として、Linux(登録商標)が搭載されている。
[USBストレージデバイスをブートデバイスとする起動処理]
次に、USBストレージデバイス1Bをブートデバイスとする起動処理について、図3〜図5に基づいて説明する。すなわち、以下に説明する処理は、カラオケコマンダ1において電源ONとされた際、何らかの原因でHDD5をブートデバイスとして利用できない場合に実行される処理である。
In order to control the hardware as described above, Linux (registered trademark) is installed as an OS (Operating System) in the USB host device 1A.
[Startup process using USB storage device as boot device]
Next, a startup process using the
図3に示す処理を開始すると、USBホスト装置1Aでは、まず、ROM3B上からOSのカーネルが起動する(S110)。これにより、OSが持つ機能の一部が作動する状態になって、RAM3C(メインメモリ)上にRAMディスクを確保する(S120)。
When the processing shown in FIG. 3 is started, in the USB host device 1A, first, the OS kernel is started from the
続いて、USBホスト装置1Aは、USBストレージデバイス1Bのマウントを行う(S130)。USBホスト装置1AのOSがLinux(登録商標)の場合、USBストレージデバイス1Bは、SCSIドライブとして認識され、そのドライブ名として“sda”,“sdb”,“sdc”,…といったドライブ名が割り当てられる。以下、ここではドライブ名“sda”が割り当てられたものとして説明を続ける。
Subsequently, the USB host device 1A mounts the
ドライブ名“sda”が割り当てられた場合、USBストレージデバイス1B上にあるファイルシステム名は“sda1”,“sda2”,“sda3”,…となる。そのため、USBストレージデバイス1B上に存在するファイルシステムが、設計通りに用意されている場合、ドライブ名“sda”に基づいてファイルシステム名“sda1”,“sda2”,“sda3”,…も特定できる。以下、ここでは、USBストレージデバイス1B上には、一つのファイルシステム“sda1”が存在するものとして説明を続ける。
When the drive name “sda” is assigned, the file system names on the
S130では、USBストレージデバイス1B上にあるファイルシステム“sda1”をマウントポイントにマウントする。どのようなマウントポイントにマウントするのかは、あらかじめ取り決められているものであり、ここではマウントポイント“/main”にマウントするものとして説明を続ける。
In S130, the file system “sda1” on the
以上のようなS130の処理が実行される結果、以降、USBホスト装置1Aでは、パス名“/main/…”を使ってファイルシステム“sda1”上のファイル群にアクセス可能な状態となる。そこで、この状態となったら、USBホスト装置1Aは、パス名を使ってUSBストレージデバイス1B上のアーカイブファイルにアクセスし、そのアーカイブファイルからRAMディスク上にファイルを展開する(S140)。
As a result of executing the processing of S130 as described above, the USB host device 1A can access the file group on the file system “sda1” using the path name “/ main /. In this state, the USB host device 1A accesses the archive file on the
このS140を実行する時点において、USBホスト装置1AとUSBストレージデバイス1Bは、HSモードで通信を行う状態にある。すなわち、初期状態において、USBホスト装置1AとUSBストレージデバイス1Bは、互いに情報交換を行うことでUSB2.0に対応した機器であることを認識し、それに伴いHSモードでの通信を行う状態になっている。そのため、S140において、アーカイブファイルにアクセスする処理は、HSモードでの通信によって高速に処理される。
At the time of executing S140, the USB host device 1A and the
このようなS140の処理を終えたら、続いて、USBホスト装置1Aは、USBストレージのスピード変更処理を実行する(S150)。このS150の処理は、詳しくは図4に示すような処理となる。 When the processing of S140 is completed, the USB host device 1A then executes USB storage speed change processing (S150). The process in S150 is as shown in detail in FIG.
図4に示す処理を開始すると、USBホスト装置1Aは、まず、USBストレージデバイス1B上にオープン中のファイルがあるか否かを判断する(S210)。ここで、USBストレージデバイス1B上にオープン中のファイルがある場合は(S210:ある)、USBストレージデバイス1B上の全てのファイルをクローズして(S220)、S230へと進む。また、USBストレージデバイス1B上にオープン中のファイルがない場合は(S210:ない)、S220を実行することなく、S230へと進む。
When the process shown in FIG. 4 is started, the USB host device 1A first determines whether there is an open file on the
続いて、S230では、USBストレージデバイス1Bがマウント中か否かを判断する(S230)。ここで、USBストレージデバイス1Bがマウント中であれば(S230:はい)、USBストレージデバイス1B(USB2.0の仮想SCSIドライブ)をアンマウントする(S240)。また、USBストレージデバイス1Bがマウント中でなければ(S230:いいえ)、S240を実行することなく、S250へと進む。
Subsequently, in S230, it is determined whether or not the
S240を実行した場合、USBストレージデバイス1B上にあるファイルシステム“sda1”は、上述のマウントポイント“/main”からアンマウントされ、以降、パス名“/main/…”を使ってファイルシステム“sda1”上のファイル群にアクセスすることはできない状態となる。
When S240 is executed, the file system “sda1” on the
続いて、USBホスト装置1Aは、所定のカーネルサブルーチンをコールする(S250)。このS250の処理は、詳しくは図5に示すような処理となる。
図5に示す処理を開始すると、USBホスト装置1Aは、まず、EHCIのポートステータスレジスタをリードし、変数ehci_pstat_valに格納する(S310)。そして、変数ehci_pstat_valのPORT_OWNERビット(0x00002000の位置)を1にして(S320)、変数ehci_pstat_valの値をEHCIのポートステータスレジスタにライトする(S330)。これらS310〜S330の処理の結果、ポートオーナーがEHCIからOHCIに切り替わる。
Subsequently, the USB host device 1A calls a predetermined kernel subroutine (S250). The process of S250 is a process as shown in detail in FIG.
When the process shown in FIG. 5 is started, the USB host device 1A first reads the EHCI port status register and stores it in the variable ehci_pstat_val (S310). Then, the PORT_OWNER bit (position 0x00002000) of the variable ehci_pstat_val is set to 1 (S320), and the value of the variable ehci_pstat_val is written to the port status register of the EHCI (S330). As a result of the processing in S310 to S330, the port owner is switched from EHCI to OHCI.
すなわち、USBコントローラ10において、ルートハブ15によって形成される通信経路が切り替わり、USBストレージデバイス1Bの接続されていたUSBポートは、EHCIホストコントローラ14に接続されていた状態から、OHCIホストコントローラ13A(又は13B)に接続された状態に切り替わる。
That is, in the
このような切替が行われた際、OHCIホストコントローラ13A(又は13B)は、USB1.1対応のUSBデバイスが接続されていれば、そのUSBデバイスが有するプルアップ抵抗の接続位置に基づいて、そのUSBデバイスがFSモード対応機器なのかLSモード対応機器なのかを認識する。
When such switching is performed, if an
しかし、本実施形態の場合、USBストレージデバイス1Bは、すでにUSBホスト装置1Aとのネゴシエーションが完了して、USB2.0対応機器として稼働している状態にあり、USBストレージデバイス1B側では、プルアップ抵抗がOFFにされている。
However, in the case of this embodiment, the
そのため、このままでは、OHCIホストコントローラ13A(又は13B)としては、FSモード対応のUSBデバイス及びLSモード対応のUSBデバイスのいずれも認識することができない。
Therefore, as it is, the
また、USBコントローラ10の仕様上、OHCIホストコントローラ13A(又は13B)側でUSBデバイスを認識できない場合には、USBストレージデバイス1Bの接続されていたUSBポートは、EHCIホストコントローラ14に接続された状態へと復帰してしまう。
Also, if the USB device cannot be recognized on the
そこで、こうした問題に対処するため、USBホスト装置1Aは、S330を実行した後、EHCIホストコントローラ14に接続された状態へ復帰してしまうまでの期間内に、定数RH_PS_PRS(0x00000010)をOHCIのポートステータスレジスタにライトして(S340)、図5に示した処理を終了する。
Therefore, in order to cope with such a problem, the USB host device 1A sets the constant RH_PS_PRS (0x00000010) to the port of the OHCI within a period after executing S330 and returning to the state connected to the
このS340により、USBホスト装置1AからUSBストレージデバイス1Bに対し、バスリセットが発行されることになり、これに伴い、USBストレージデバイス1Bは、初期状態に戻る。そのため、USBホスト装置1AとUSBストレージデバイス1Bは、USB2.0に準拠した手順でネゴシエーションを開始する。
As a result of this S340, a bus reset is issued from the USB host device 1A to the
具体的には、USBホスト装置1AとUSBストレージデバイス1Bが、USB2.0に準拠した手順でネゴシエーションを開始すると、まず、USBストレージデバイス1Bは、USB1.1に準拠したFSモード対応機器として振る舞う。
Specifically, when the USB host device 1A and the
その際、USBストレージデバイス1B側では、プルアップ抵抗がFSモード対応の接続位置(信号線D+側)に接続され、これにより、USBストレージデバイス1BがFSモード対応機器であることを、USBホスト装置1A側へと伝達する。
At that time, on the
一方、USBホスト装置1A側では、USB1.1に準拠して通信を制御するOHCIホストコントローラ13A(又は13B)が機能する状態に切り替わっている。そのため、上記のような状況になれば、USBストレージデバイス1Bを、USB1.1に準拠したFSモード対応機器として認識する。
On the other hand, on the USB host device 1A side, the
その結果、USBホスト装置1AとUSBストレージデバイス1Bは、USB1.1に準拠した手順でネゴシエーションを進めることになる。つまり、USBホスト装置1A及びUSBストレージデバイス1Bは、双方ともUSB2.0対応機器としては機能せず、USB1.1のFSモード対応機器として機能する状態になる。
As a result, the USB host device 1A and the
そして、USBホスト装置1Aが、USBストレージデバイス1BのことをUSB1.1のFSモード対応機器として認識すると、USBストレージデバイス1Bに対して新たなドライブ名を割り当てる。すなわち、ここでは、USBストレージデバイス1Bは、すでに認識していたSCSIドライブ“sda”とは、別のSCSIドライブとして認識され、“sda”とは別の新たなドライブ名“sdb”,“sdc”,…などが割り当てられる。以下、ここではドライブ名“sdb”が割り当てられたものとして説明を続ける。
When the USB host device 1A recognizes the
ちなみに、この時点で、USBホスト装置1Aは、SCSIドライブ“sda”を認識している状態が継続しているものの、実際にはSCSIドライブ“sda”にはアクセスできない状態になる。ただし、この時点では、S240の処理により、SCSIドライブ“sda”上のファイルシステムはアンマウントされているので、通常は、SCSIドライブ“sda”に対するアクセスが発生することはなく、アクセス不能となったSCSIドライブ“sda”が残っていることに起因して、予期しないエラーが発生することはない。 Incidentally, at this time, the USB host device 1A continues to recognize the SCSI drive “sda”, but actually cannot access the SCSI drive “sda”. However, at this time, the file system on the SCSI drive “sda” is unmounted by the process of S240, so that the SCSI drive “sda” is not normally accessed and the SCSI system that has become inaccessible is not generated. An unexpected error does not occur due to the remaining drive “sda”.
さて、以上のようにして図5に示す処理を終了すると、図4のS250を終えたことになり、続いて、USBホスト装置1Aは、USB1.1の仮想SCSIドライブが出現したか否かを判断する(S260)。すなわち、上述のSCSIドライブ“sdb”が出現したか否かを判断する。 When the processing shown in FIG. 5 is completed as described above, S250 in FIG. 4 is finished, and then the USB host device 1A determines whether or not a USB 1.1 virtual SCSI drive has appeared. Judgment is made (S260). That is, it is determined whether or not the above-mentioned SCSI drive “sdb” has appeared.
ここで、USB1.1の仮想SCSIドライブが出現しない場合は(S260:いいえ)、S260へ戻ることにより、USB1.1の仮想SCSIドライブが出現するまで待機する。そして、USB1.1の仮想SCSIドライブが出現した場合は(S260:はい)、USBストレージデバイス1B(USB1.1の仮想SCSIドライブ)をマウントして(S270)、図4に示す処理を終了する。
If a USB 1.1 virtual SCSI drive does not appear (S260: NO), the process returns to S260 to wait until a USB 1.1 virtual SCSI drive appears. If a USB 1.1 virtual SCSI drive appears (S260: Yes), the
新たなSCSIドライブ“sdb”が出現した場合、USBストレージデバイス1B上にあるファイルシステム名は“sdb1”,“sdb2”,“sdb3”,…となる。ただし、本実施形態の場合、すでに説明した通り、USBストレージデバイス1B上には、一つのファイルシステムが存在するので、そのファイルシステム名は“sdb1”となる。このファイルシステム“sdb1”は、S130の処理でマウント対象となったファイルシステム“sda1”とまったく同一のものである。
When a new SCSI drive “sdb” appears, the file system names on the
そこで、S270の処理においては、USBストレージデバイス1B上のファイルシステム“sdb1”を、あらかじめ取り決められたマウントポイント“/main”にマウントする。すなわち、S240でマウントポイントからファイルシステムのアンマウントが行われている場合、そのファイルシステムは、アンマウント時のマウントポイントと同じマウントポイントにマウントされる。その結果、S240〜S270の処理を実行する前後で、USBストレージデバイス1B上にあるファイルのパス名“/main/…”が変更されてしまうことはない。
Therefore, in the process of S270, the file system “sdb1” on the
こうして図4に示す処理を終了すると、図3のS150を終えたことになるので、続いて、USBホスト装置1Aは、多数のタスクを起動する(S160)。S160で起動されるタスクは、カラオケコマンダ1として機能する上で必要となる様々なタスクである。具体例を挙げれば、画像表示関連のタスク(例えば、ビデオチップのドライバなど)、楽曲演奏関連のタスク(例えば、MIDIドライバなど)、その他、ネットワーク通信関連のタスク、様々な内部計算や管理を行うタスクなどが起動される。 When the processing shown in FIG. 4 is completed in this manner, S150 in FIG. 3 is completed, and the USB host device 1A then starts a number of tasks (S160). The tasks activated in S160 are various tasks necessary for functioning as the karaoke commander 1. For example, tasks related to image display (for example, video chip driver), music performance related tasks (for example, MIDI driver), other network communication related tasks, various internal calculations and management are performed. A task is started.
そして、これら多数のタスクが起動されると、USBホスト装置1Aでは、各タスクが、自身の担当するハードウェアを動作させ(S170)、以下、各種処理の実行が継続されることになる。 When these many tasks are activated, in the USB host device 1A, each task operates its own hardware (S170), and the execution of various processes is continued thereafter.
USBホスト装置1Aにおいて多数のタスクが起動された場合、制御部3(CPU3A)の処理能力は、多数のタスクに振り分けられることになるため、USBストレージデバイス1Bとの通信に割り当てることができる処理能力も相応に低下することになる。そのような状況下で、USBホスト装置1AとUSBストレージデバイス1BがHSモードで通信を行うには、CPU3Aの処理能力を相応に高める必要があり、処理能力の低いCPUを採用することは困難になる。
When a large number of tasks are activated in the USB host device 1A, the processing capability of the control unit 3 (
一方、USBホスト装置1AとUSBストレージデバイス1BがHSモードでの通信を行わず、FSモードでの通信を行えば、USBストレージデバイス1Bとの通信に高い処理能力を必要としなくなる。ただし、USBストレージデバイス1Bを、単にFSモード対応のUSBデバイスに代替するだけでは、上記のような多数のタスクが起動される前の時点でも、USBストレージデバイス1Bとの通信速度が低下してしまい、カラオケコマンダ1の起動に時間を要する状態になる。
On the other hand, if the USB host device 1A and the
特に、S140の処理では、大量のファイルをRAMディスクに展開する都合上、USBストレージデバイス1Bとの通信速度は高いほど望ましく、また、この時点では、まだS160〜S170で稼働する多数のタスクが起動されていないので、制御部3(CPU3A)の処理能力は、十分にUSBストレージデバイス1Bとの通信に割り当てることができる。
In particular, in the processing of S140, it is desirable that the communication speed with the
このような状況下、上記のような処理を行うUSBホスト装置1Aであれば、最初はUSBホスト装置1AとUSBストレージデバイス1BがHSモードでの通信を行うことで、高速に大量のファイルをRAMディスクに展開することができ、且つ、USBホスト装置1Aにおいて多数のタスクが起動される時点では、USBホスト装置1AとUSBストレージデバイス1BがFSモードでの通信を行う状態に切り替わることで、CPU3Aに高い処理能力が要求されないようにしている。
Under such circumstances, if the USB host device 1A performs the processing as described above, the USB host device 1A and the
したがって、このようなUSBホスト装置1Aであれば、比較的処理能力が低いCPU3Aを採用しても、電源ON時の迅速な起動とその後の過負荷の発生防止を実現することができる。
Therefore, with such a USB host device 1A, even if the
しかも、このようなUSBストレージデバイス1Bとの通信速度の切替を実現するに当たって、USBストレージデバイス1B側には、USB規格で規定されている標準的な構成が存在するだけでよく、特殊な構成を追加する必要がない。
In addition, in realizing such switching of the communication speed with the
そのため、上記のようなUSBホスト装置1Aさえあれば、市販されているUSBストレージデバイスをそのまま利用して通信速度の切替を実現できるので、通信速度の切替を実現するための特殊な構成をUSBストレージデバイス側に付加した場合に比べ、カラオケコマンダ1全体の製造コストを抑制することができ、より安価なカラオケコマンダ1を提供することができる。 Therefore, if there is only the USB host device 1A as described above, it is possible to switch the communication speed by using a commercially available USB storage device as it is, so a special configuration for realizing the switching of the communication speed is provided for the USB storage. Compared with the case where it is added to the device side, the manufacturing cost of the karaoke commander 1 as a whole can be suppressed, and a cheaper karaoke commander 1 can be provided.
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
[Modifications, etc.]
As mentioned above, although embodiment of this invention was described, this invention is not limited to said specific one Embodiment, In addition, it can implement with a various form.
例えば、上記実施形態では、USBホスト装置1Aが、カラオケコマンダ1としての構成を備える例を示したが、カラオケ機能以外の様々な機能を持つ装置においても、USBホスト装置側において本発明の構成を採用することができる。 For example, in the above-described embodiment, an example in which the USB host device 1A includes the configuration as the karaoke commander 1 has been described. However, even in a device having various functions other than the karaoke function, the configuration of the present invention is configured on the USB host device side. Can be adopted.
また、上記実施形態では、S140の処理が完了したことを切替条件として、USBデバイスとの通信速度を切り替える例を示したが、どのような切替条件とするかは任意である。 In the above embodiment, an example in which the communication speed with the USB device is switched using the completion of the processing of S140 as a switching condition has been described. However, the switching condition is arbitrary.
例えば、発生タイミングが動的に変化する何らかのイベントが発生したことをもって切替条件が成立するものであってもよい。より具体的な例を挙げれば、利用者が所定の操作を行ったことを検知したら切替条件が成立する、USBホスト装置で稼働するタスクの数が所定以上となったら切替条件が成立する、USBホスト装置で所定の機能が作動したら切替条件が成立する、といったものでもよい。また、これらのイベントが発生した後、所定の時間が経過したら切替条件が成立する、といったものでもよい。 For example, the switching condition may be satisfied when some event whose generation timing changes dynamically occurs. To give a more specific example, the switching condition is satisfied when it is detected that the user has performed a predetermined operation, and the switching condition is satisfied when the number of tasks running on the USB host device exceeds a predetermined value. The switching condition may be satisfied when a predetermined function is activated in the host device. Alternatively, the switching condition may be satisfied when a predetermined time has elapsed after the occurrence of these events.
つまり、CPU3Aが各タスクの実行数や実行時間の検出手段としての役割をもち、S140〜S170の中で、前記検出手段が、USBデバイスからファイルの読み出し開始の条件が成立している状態と、所定のタスク数や各タスク実行時間デッドラインに到達する直前状態と、を検出し、そのときにS150のスピード変更処理を実行すればよい。
That is, the
さらに、上記実施形態では、USBデバイスの具体例として、USBストレージデバイスを例示したが、USBストレージデバイス以外のUSBデバイスを対象デバイスとする場合であっても、USBホスト装置側において本発明の構成を採用することができる。 Furthermore, in the above embodiment, a USB storage device is exemplified as a specific example of the USB device. However, even when a USB device other than the USB storage device is the target device, the configuration of the present invention is configured on the USB host device side. Can be adopted.
加えて、上記実施形態では、第一ホストコントローラ部として、二つのOHCIホストコントローラ13A,13Bを備え、第二ホストコントローラ部として、一つのEHCIホストコントローラ14を備える例を示したが、第一ホストコントローラ部の数は二つに限らず、一つ又は三つ以上となっていてもよい。また、OHCIホストコントローラに代えて、UHCI(Universal Host Controller Interface)コントローラを採用してもよい。
In addition, in the above-described embodiment, an example in which two
1・・・カラオケコマンダ、1A・・・USBホスト装置、1B・・・USBストレージデバイス、3・・・制御部、3A・・・CPU、3B・・・ROM、3C・・・RAM、5・・・ハードディスク装置(HDD)、7・・・USBインターフェース、10・・・USBコントローラ、11・・・PCIバスインターフェース、12・・・アービター、13A,13B・・・OHCIホストコントローラ、14・・・EHCIホストコントローラ、15・・・ルートハブ、16・・・USB物理層。 DESCRIPTION OF SYMBOLS 1 ... Karaoke commander, 1A ... USB host device, 1B ... USB storage device, 3 ... Control part, 3A ... CPU, 3B ... ROM, 3C ... RAM, 5. ..Hard disk device (HDD), 7 ... USB interface, 10 ... USB controller, 11 ... PCI bus interface, 12 ... Arbiter, 13A, 13B ... OHCI host controller, 14 ... EHCI host controller, 15 ... root hub, 16 ... USB physical layer.
Claims (3)
USB1.1に準拠した方式でUSBデバイスとの通信を制御する第一ホストコントローラ部、及びUSB2.0に準拠した方式でUSBデバイスとの通信を制御する第二ホストコントローラ部を有し、前記第二ホストコントローラ部による制御中に、前記第一ホストコントローラ部による制御への切り替えが指令されると、前記第二ホストコントローラ部による制御を中止するとともに前記第一ホストコントローラ部による制御を開始し、その制御開始後、USB1.1に準拠した方式でUSBデバイスの認識に成功した場合には、前記第一ホストコントローラ部による制御を継続する一方、前記認識に成功しなかった場合には、前記第一ホストコントローラ部による制御を中止するとともに前記第二ホストコントローラ部による制御を行う状態に復帰するUSBコントローラと、
USB2.0に対応したUSBデバイスを対象デバイスとして、当該対象デバイスとの間で通信を行う際に、あらかじめ取り決められた切替条件が成立するまでは、前記USBコントローラが有する前記第二ホストコントローラを利用して、USB2.0で規定されたHS(High Speed)モードで、前記対象デバイスとの通信を行う一方、前記切替条件が成立した際には、前記第一ホストコントローラ部による制御への切り替えを前記USBコントローラに対して指令して、前記対象デバイスが接続されたUSBポートのポートオーナーを前記第二ホストコントローラ部から前記第一ホストコントローラ部へと切り替えることにより、前記第二ホストコントローラ部による制御を中止させるとともに前記第一ホストコントローラ部による制御を開始させ、さらに、前記USBコントローラが前記第一ホストコントローラ部による制御を開始した際には、前記第一ホストコントローラ部を介して前記対象デバイスに対してバスリセットを発行することを、前記USBコントローラに対して指令して、前記対象デバイスに対するバスリセットを発行させることにより、前記対象デバイスが有するプルアップ抵抗の接続位置を初期状態へと戻し、当該初期状態へと戻された前記対象デバイスと前記第一ホストコントローラ部との間でネゴシエーションを実行させることにより、前記第一ホストコントローラ部には、前記対象デバイスをUSB1.1に対応したUSBデバイスとして認識させ、以降は、前記USBコントローラが有する前記第一ホストコントローラを利用して、USB1.1で規定されたFS(Full Speed)モードで、前記対象デバイスとの通信を行う制御手段と
を備えたことを特徴とするUSBホスト装置。 A USB host device that communicates with a USB device in a method compliant with the USB (Universal Serial Bus) standard,
A first host controller unit that controls communication with a USB device in a method compliant with USB 1.1, and a second host controller unit that controls communication with a USB device in a method compliant with USB 2.0, During the control by the two host controller units, when switching to the control by the first host controller unit is commanded, the control by the second host controller unit is stopped and the control by the first host controller unit is started, After the start of the control, if the USB device is successfully recognized by a method compliant with USB 1.1, the control by the first host controller unit is continued, whereas if the recognition is not successful, the first Stops control by one host controller and performs control by the second host controller. And a USB controller to return to the state,
Use the second host controller included in the USB controller until a predetermined switching condition is satisfied when communicating with the target device using a USB device compatible with USB 2.0 as the target device. Then, in the HS (High Speed) mode defined by USB 2.0, while communicating with the target device, when the switching condition is satisfied, switching to control by the first host controller unit is performed. Control by the second host controller unit by instructing the USB controller to switch the port owner of the USB port to which the target device is connected from the second host controller unit to the first host controller unit And stop the control by the first host controller. It is started, further, when the prior SL USB controller starts the control by the first host controller is to issue a bus reset to the target device through the first host controller, the USB and instructs the controller, by Rukoto to issue a bus reset for the target device, the connection position of the pull-up resistor on which target device has returned to the initial state, the target device is returned to the initial state And the first host controller unit to cause the first host controller unit to recognize the target device as a USB device corresponding to USB 1.1, and thereafter, the USB controller By using the first host controller having USB 1.1 In the constant has been FS (Full Speed) mode, USB host device being characterized in that a control means for communicating with the target device.
前記第二ホストコントローラ部は、EHCI(Enhanced Host Controller Interface)に準拠した方式でUSBデバイスとの通信を制御する
ことを特徴とする請求項1に記載のUSBホスト装置。 The first host controller unit controls communication with a USB device by a method compliant with OHCI (Open Host Controller Interface) or UHCI (Universal Host Controller Interface),
The USB host device according to claim 1, wherein the second host controller unit controls communication with a USB device by a method compliant with EHCI (Enhanced Host Controller Interface).
しかも、前記USBホスト装置は、前記対象デバイス上にあるファイルシステムをマウントポイントにマウントすると、前記マウントポイント下にあるファイル群にアクセス可能となるように構成されており、
前記制御手段は、USB2.0に対応したUSBデバイスとして認識されている前記対象デバイスについて、当該対象デバイス上にあるファイルシステムをマウントポイントからアンマウントし、その後、前記HSモードから前記FSモードへの切替制御を行い、この切替制御に伴ってUSB1.1に対応したUSBデバイスとして認識される前記対象デバイスについて、当該対象デバイス上にあるファイルシステムを、アンマウント時のマウントポイントと同じマウントポイントに再マウントする
ことを特徴とする請求項1又は請求項2に記載のUSBホスト装置。 The target device is a USB storage device,
In addition, the USB host device is configured to be able to access a file group under the mount point when the file system on the target device is mounted on the mount point.
The control means unmounts the file system on the target device from the mount point for the target device recognized as a USB device compatible with USB 2.0, and then switches from the HS mode to the FS mode. Control and remount the file system on the target device to the same mount point as the mount point at the time of unmounting for the target device recognized as a USB device compatible with USB 1.1 in accordance with the switching control. The USB host device according to claim 1, wherein the USB host device is a USB host device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275627A JP5257343B2 (en) | 2009-12-03 | 2009-12-03 | USB host device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009275627A JP5257343B2 (en) | 2009-12-03 | 2009-12-03 | USB host device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011118674A JP2011118674A (en) | 2011-06-16 |
JP5257343B2 true JP5257343B2 (en) | 2013-08-07 |
Family
ID=44283919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009275627A Active JP5257343B2 (en) | 2009-12-03 | 2009-12-03 | USB host device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5257343B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9740643B2 (en) * | 2013-06-20 | 2017-08-22 | Apple Inc. | Systems and methods for recovering higher speed communication between devices |
JP5794266B2 (en) * | 2013-08-30 | 2015-10-14 | ブラザー工業株式会社 | USB host device and program for USB host device |
JP6802156B2 (en) | 2015-06-26 | 2020-12-16 | 株式会社ホタルクス | Organic EL devices, organic EL lighting panels, organic EL lighting devices and organic EL displays |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3937434B2 (en) * | 2002-09-24 | 2007-06-27 | セイコーエプソン株式会社 | Electronic equipment with a communication controller that can selectively set the roles of both the host and the device |
JP2004302778A (en) * | 2003-03-31 | 2004-10-28 | Kawasaki Microelectronics Kk | Interface device |
JP2005174147A (en) * | 2003-12-12 | 2005-06-30 | Canon Inc | Communication controller and communication control method |
JP2005208811A (en) * | 2004-01-21 | 2005-08-04 | Canon Inc | Data transfer device, data transfer method, and recording system |
JP2007172160A (en) * | 2005-12-20 | 2007-07-05 | Seiko Epson Corp | Usb communication device, and method for switching communication speed |
-
2009
- 2009-12-03 JP JP2009275627A patent/JP5257343B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011118674A (en) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9626124B2 (en) | Direct-attached/network-attached storage device | |
US9934049B1 (en) | Method for creation of device drivers and device objects for peripheral devices | |
US20110197011A1 (en) | Storage apparatus and interface expansion authentication method therefor | |
US7523253B2 (en) | Storage system comprising a plurality of tape media one of which corresponding to a virtual disk | |
JP5353732B2 (en) | Storage management device, storage system, storage management program, and storage management method | |
JP2002334049A (en) | Storage subsystem and control method for storage subsystem | |
JP5853649B2 (en) | Storage device, control device and program | |
JP5700514B2 (en) | Communication speed control device and communication speed control method | |
US5951684A (en) | Method of booting a computer system with identifying a CD-ROM disk drive of the system and a method of loading a device driver | |
WO2012100498A1 (en) | Method and system for switching port of usb device | |
JP2016143120A (en) | Information processing apparatus and program | |
JP5257343B2 (en) | USB host device | |
JP2012063817A (en) | Communication device | |
US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US20090019211A1 (en) | Establishing A Redundant Array Of Inexpensive Drives | |
WO2010068215A1 (en) | Independent drive power control | |
JP5279626B2 (en) | Storage device control program | |
JP2001337789A (en) | Disk subsystem | |
JP5206717B2 (en) | USB host device | |
EP2307969B1 (en) | Connecting a storage subsystem and an electronic device with a control device that hides details of the storage subsystem | |
US8209452B2 (en) | External device having a virtual storage device | |
JP5661313B2 (en) | Storage device | |
US7904630B2 (en) | Bus-connected device with platform-neutral layers | |
JP4708669B2 (en) | Path redundancy apparatus and method | |
JP3967073B2 (en) | RAID controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120808 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120926 |
|
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: 20130326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5257343 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |