JP2007172160A - Usb communication device, and method for switching communication speed - Google Patents
Usb communication device, and method for switching communication speed Download PDFInfo
- Publication number
- JP2007172160A JP2007172160A JP2005366810A JP2005366810A JP2007172160A JP 2007172160 A JP2007172160 A JP 2007172160A JP 2005366810 A JP2005366810 A JP 2005366810A JP 2005366810 A JP2005366810 A JP 2005366810A JP 2007172160 A JP2007172160 A JP 2007172160A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- usb
- speed
- communication speed
- usb 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、USB(Universal Serial Bus)による通信機能を備えた通信装置に関し、特に、USBによる通信の途中で通信速度を切り替えることができる通信装置に関する。 The present invention relates to a communication apparatus having a USB (Universal Serial Bus) communication function, and more particularly to a communication apparatus capable of switching a communication speed during USB communication.
従来より、パーソナルコンピュータ(以下、パソコンという)などのホスト装置とキーボード、マウス、プリンタなどの周辺機器とを接続する場合は、USBによる通信が使われている。ここで、USBの通信速度には、1.5Mbps(USB1.0のロースピードモード)、12Mbps(USB1.1のフルスピードモード)、及び480Mbps(USB2.0のハイスピードモード)がある。そして、USB2.0に対応したUSBホスト及びUSBデバイスは、これらの3種類の通信速度のいずれかで通信を行うことができる。 Conventionally, USB communication is used to connect a host device such as a personal computer (hereinafter referred to as a personal computer) and peripheral devices such as a keyboard, a mouse, and a printer. Here, the USB communication speed includes 1.5 Mbps (USB 1.0 low speed mode), 12 Mbps (USB 1.1 full speed mode), and 480 Mbps (USB 2.0 high speed mode). A USB host and a USB device compatible with USB 2.0 can perform communication at any one of these three types of communication speeds.
USB2.0に対応したUSB通信装置は、通常、ハイスピードモードを優先させて接続する。つまり、USBホスト及びUSBデバイスの双方がUSB2.0に対応していれば、両者はハイスピードモードで接続される。 A USB communication device that supports USB 2.0 normally connects with priority given to the high-speed mode. That is, if both the USB host and the USB device support USB 2.0, both are connected in the high speed mode.
つまり、USB2.0に対応するUSBホストが、ハイスピードモードをサポートするEHCI(Enhanced Host Controller Interface)と、フルスピードモードをサポートするOHCI(Open Host Controller Interface)またはUHCI(Universal Host Controller Interface)とを備え、かつUSBデバイスがUSB2.0に対応している場合は、USBホストは、USBデバイスの接続時には自動的かつ強制的にハイスピードモードのインタフェースに接続する。このようにして、速いデータ転送速度のモードに自動的に切り替えてUSBホストとUSBデバイスとの間で通信を確立する(例えば、非特許文献1参照)。
しかしながら、ハイスピードモードで通信を行うと、データの通信速度が速くなる代わりに、ノイズの影響を受けやすくなるという問題がある。つまり、非常にノイズの多い環境においてハイスピードモードで通信を行うと通信品質が劣化し、データ転送が行えなくなるというおそれがある。 However, when communication is performed in the high-speed mode, there is a problem that it is easily affected by noise instead of increasing the data communication speed. In other words, if communication is performed in the high speed mode in a very noisy environment, communication quality may be degraded and data transfer may not be possible.
そこで、本発明の目的は、USBで通信を行う際に、所定の通信品質を確保することである。 Accordingly, an object of the present invention is to ensure a predetermined communication quality when performing communication by USB.
本発明の一つの態様に従うUSB通信装置は、USBホスト装置と接続されると、USBデバイスとして第1の通信速度、または前記第1の通信速度よりも高速の第2の通信速度のいずれかで通信を行うUSB通信装置である。そして、前記USBホスト装置と前記第2の通信速度で通信を行っているときに、通信不良の発生を検出する通信不良検出手段と、前記通信不良検出手段により通信不良の発生が検出されると、前記USBホスト通信装置に対して、前記第1の通信速度への通信速度切り替え要求を生成する切り替え要求手段と、を備える。 When connected to a USB host device, the USB communication device according to one aspect of the present invention is either a first communication speed as a USB device or a second communication speed higher than the first communication speed. It is a USB communication device that performs communication. When communication with the USB host device is performed at the second communication speed, communication failure detection means for detecting the occurrence of communication failure and when the occurrence of communication failure is detected by the communication failure detection means. Switching request means for generating a communication speed switching request to the first communication speed for the USB host communication device.
これにより、高速でUSB通信を行っているときに通信不良が発生すると、通信速度を低下させることができ、その結果、通信品質が安定する。 As a result, if communication failure occurs during high-speed USB communication, the communication speed can be reduced, and as a result, the communication quality is stabilized.
好適な実施形態では、前記通信不良検出手段は、所定時間以上、前記USBホスト装置からのデータを受信できないときに、通信不良が発生したものとするようにしてもよい。 In a preferred embodiment, the communication failure detection means may be configured such that a communication failure has occurred when data from the USB host device cannot be received for a predetermined time or longer.
好適な実施形態では、前記通信速度の切り替え要求に基づいて、前記USBホスト装置との通信速度が前記第1の通信速度に切り替わった後、前記第1の通信速度での通信がアイドル状態になると、前記切り替え要求手段は、前記第2の通信速度への通信速度切り替え要求を生成するようにしてもよい。 In a preferred embodiment, when communication at the first communication speed is in an idle state after the communication speed with the USB host device is switched to the first communication speed based on the request for switching the communication speed. The switching request means may generate a communication speed switching request to the second communication speed.
これにより、通信不良の発生が一時的な要因によるものであれば、その要因がなくなれば再び高速通信を行うことが可能となる。 As a result, if the occurrence of communication failure is due to a temporary factor, high-speed communication can be performed again if the factor is eliminated.
好適な実施形態では、前記第1の通信速度は、フルスピードモードで通信を行ったときの通信速度であり、前記第2の通信速度は、ハイスピードモードで通信を行ったときの通信速度であってもよい。 In a preferred embodiment, the first communication speed is a communication speed when communication is performed in a full speed mode, and the second communication speed is a communication speed when communication is performed in a high speed mode. There may be.
本発明の一つの態様に従うUSB通信装置は、USBデバイス装置と接続されると、USBホストとして第1の通信速度、または前記第1の通信速度よりも高速の第2の通信速度のいずれかで通信を行うUSB通信装置である。そして、前記USBデバイス装置と第2の通信速度で通信を行っているときに、当該USBデバイス装置からの通信速度の切り替え要求を受け付ける手段と、前記切り替え要求を受け付けると、前記第2の通信速度から前記第1の通信速度へ通信速度を切り換える切り替え手段と、を備える。 When the USB communication device according to one aspect of the present invention is connected to a USB device device, the USB communication device is either a first communication speed as a USB host or a second communication speed higher than the first communication speed. It is a USB communication device that performs communication. Then, when communicating with the USB device device at the second communication speed, means for receiving a communication speed switching request from the USB device device, and receiving the switching request, the second communication speed. Switching means for switching the communication speed from the first communication speed to the first communication speed.
以下、図面を参照しながら、本発明におけるUSB通信装置の実施の形態について説明するが、まず、理解を容易にするために、本発明に適用されるUSB通信装置の概要について説明する。本発明のUSB通信装置は、ハイスピードモードにおける通信で通信品質が悪い場合には、強制的にフルスピードモードに接続を切り替えて通信速度を低下させることにより通信品質を安定化させるようにした。また、通信速度モードの切り替え時にバッファに蓄積されたデータを欠落させないように、ソフトウェアのアルゴリズムを構築した。 Hereinafter, embodiments of a USB communication device according to the present invention will be described with reference to the drawings. First, in order to facilitate understanding, an outline of a USB communication device applied to the present invention will be described. The USB communication apparatus of the present invention stabilizes the communication quality by forcibly switching the connection to the full speed mode to lower the communication speed when the communication quality is poor in the communication in the high speed mode. In addition, a software algorithm was constructed so that data stored in the buffer was not lost when the communication speed mode was switched.
すなわち、本発明のUSB通信装置は、USBホストとUSBデバイスとを接続しようとするときに、USBホストコントローラが、USBデバイスを能動的に接続させるためのインタフェース(例えば、EHCI)を選択する。そして、EHCIの機能によって接続されたハイスピードモードにおいて通信エラーが発生した場合には、OHCIの機能によって自動的にフルスピードモードに切り替える。また、ハイスピードモードからフルスピードモードへの切替時に転送データが欠落しないようにソフトウェアのアルゴリズムを組立てる。 That is, in the USB communication apparatus of the present invention, when a USB host and a USB device are to be connected, the USB host controller selects an interface (for example, EHCI) for actively connecting the USB device. When a communication error occurs in the high speed mode connected by the EHCI function, the mode is automatically switched to the full speed mode by the OHCI function. Also, a software algorithm is assembled so that transfer data is not lost when switching from the high speed mode to the full speed mode.
次に、図面を参照しながら、本発明におけるUSB通信装置の好適な実施の形態について説明する。図1は、本発明の機能によって通信速度モードの切り替えを実現させるUSB通信装置の基本的な構成図である。図1に示すように、USB通信装置は、パソコンなどのUSBホスト1とこのUSBホスト1から送信されたデータによって所望の処理を行うUSBデバイス2とによって構成されている。
Next, a preferred embodiment of a USB communication device according to the present invention will be described with reference to the drawings. FIG. 1 is a basic configuration diagram of a USB communication apparatus that realizes switching of a communication speed mode by the function of the present invention. As shown in FIG. 1, the USB communication apparatus includes a
USBホスト1は、ハイスピードモードに対応するEHCI1a1の機能と、フルスピードモードに対応するOHCI/UHCI1a2の機能とを備えるインタフェース1aと、EHCI1a1及びOHCI/UHCI1a2の機能を実現させるUSBホストコントローラ(通信路切替手段)1bと、USBホストコントローラ1bを制御するクラスドライバ1cと、USBホスト1の様々なソフトウェアを実現させるUSBホストアプリケーション1dとを備えた構成になっている。
The
また、USB2.0に対応するUSBデバイス2は、USBホスト1からの指令によりハイスピードモードまたはフルスピードモードへの接続制御を行うUSBデバイスコントローラ2aと、USBデバイスコントローラ2aのレジスタをハイスピードモードまたはフルスピードモードへ設定するための制御を行うUSBデバイス制御ファームウェア2bと、USBデバイス2の様々なソフトウェアを実現させるUSBデバイスアプリケーション2cとを備えた構成となっている。
In addition, the
次に、本発明のUSB通信装置による通信速度モードの切り替えに関する理解を容易にするために、一般的に行われているUSBホストとUSBデバイスとのUSB接続(USB開始)及びUSB遮断(USB終了)の処理について説明する。図2は、ハイスピードモードでの接続シーケンスを示す。したがって、図1を参照しながら図2に示すハイスピードモードへの接続処理(つまり、USB開始処理)の流れを説明する。 Next, in order to facilitate understanding of switching of the communication speed mode by the USB communication apparatus of the present invention, USB connection (USB start) and USB blocking (USB end) between a USB host and a USB device, which are generally performed ) Will be described. FIG. 2 shows a connection sequence in the high speed mode. Therefore, the flow of the connection process (that is, the USB start process) to the high speed mode shown in FIG. 2 will be described with reference to FIG.
USBホスト1とUSBデバイス2が正常に接続されたとき、USBデバイス2がUSB2.0に対応していれば、USBデバイス2のUSBデバイスアプリケーション2cからUSBデバイス制御ファームウェア2bへUSB開始命令が出され、USBデバイス制御ファームウェア2bに「強制ハイスピード」のフラグが立てられる(ステップS1)。すると、SBデバイス制御ファームウェア2bは、USBデバイスコントローラ2aに対して「ハイスピード」のレジスタを設定する(ステップS2)。これによって、USBホスト1のEHCI1a1が動作して、USBホスト1のEHCI1a1とUSBデバイス2のUSBデバイスコントローラ2aとの間でハイスピードモードによる接続処理が開始される(ステップS3)。
When the
これによって、EHCI1a1とUSBホストコントローラ1bとの間、及びEHCI1a1とUSBデバイス2のUSBデバイスコントローラ2aとの間で、接続処理が開始された旨の情報を示すディスクリプタが取得/設定される(ステップS4)。そして、USBホスト1のEHCI1a1とUSBデバイス2のUSBデバイスコントローラ2aとの間でハイスピードモードによる接続処理が終了すると(ステップS5)、接続完了の通知が、EHCI1a1からUSBホストコントローラ1bへ送信され(ステップS6)、さらに、USBホストコントローラ1bからクラスドライバ1cへ送信される(ステップS7)。
As a result, a descriptor indicating information indicating that the connection process has been started is acquired / set between the EHCI 1a1 and the
また、USBデバイス2においては、ステップS5でハイスピードモードの接続処理が完了すると、USB開始処理完了の通知が、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ送信され(ステップS8)、さらに、USBデバイス制御ファームウェア2bからUSBデバイスアプリケーション2cへ送信される。このようにして、指定された通信速度(つまり、ハイスピードの通信速度)に強制的に設定される。
In the
図3は、一般的に行われているハイスピードモードの終了処理の流れを示すシーケンス図である。ハイスピードモードを終了する場合は、USBデバイス2のUSBデバイスアプリケーション2cからUSBデバイス制御ファームウェア2bへハイスピードモードの停止命令が送信され(ステップS11)、さらに、USBデバイス制御ファームウェア2bからUSBデバイスコントローラ2aへハイスピードモードの停止命令が送信される(ステップS12)。これによって、USBデバイスコントローラ2aは、USBホスト1のEHCI1a1との間で接続されていたハイスピードモードの遮断処理を開始する(ステップS13)。
FIG. 3 is a sequence diagram illustrating a flow of high-speed mode end processing that is generally performed. When the high speed mode is to be ended, a high speed mode stop command is transmitted from the
ハイスピードモードの遮断処理の実行は、EHCI1a1とUSBホストコントローラ1bとの間で行われ(ステップS14)、USBデバイス2のUSBデバイスコントローラ2aとUSBホスト1のEHCI1a1との間のハイスピードモードの遮断処理が完了すると(ステップS15)、遮断処理完了の通知が、EHCI1a1からUSBホストコントローラ1bへ送信され(ステップS16)、さらに、USBホストコントローラ1bからクラスドライバ1cへ送信される(ステップS17)。
Execution of the high-speed mode shut-off process is performed between the EHCI 1a1 and the
また、USBデバイス2においては、ステップS15でハイスピードモードの遮断処理が完了すると、USB終了処理完了の通知が、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ送信され(ステップS18)、さらに、USBデバイス制御ファームウェア2bからUSBデバイスアプリケーション2cへ送信される。このようにして、USBデバイスアプリケーション2cからの停止命令によってハイスピードモードを遮断してUSBデバイスコントローラ2aを停止させる。また、USBデバイスコントローラ2aが停止した際、USBバスは遮断状態となるためUSBホスト1にはステップS16、S17のような遮断完了の通知のイベントが発生する。
In the
次に、本発明の特徴である、ハイスピードモードにおいて通信エラーが発生したときにフルスピードモードへ切り替える処理の流れについて詳細に説明する。図4は、図1に示すUSB通信装置が本発明の機能によって実現する、ハイスピードモードからフルスピードモードへの切替処理の流れを示すシーケンス図である。 Next, the flow of processing for switching to the full speed mode when a communication error occurs in the high speed mode, which is a feature of the present invention, will be described in detail. FIG. 4 is a sequence diagram showing a flow of switching processing from the high speed mode to the full speed mode, which is realized by the function of the present invention by the USB communication apparatus shown in FIG.
図4に示すシーケンスのような切替処理を行うためには、あらかじめ、次のような設定を行うと共に次のような条件を決めておく必要がある。すなわち、図1に示すUSB通信装置が、ハイスピードモードからフルスピードモードへの切替処理を実現するためには、あらかじめ、USBデバイス2のUSBデバイス制御ファームウェア2bにおいて、次の5つの機能を作成しておく必要がある。
(1)強制的にフルスピードに設定できるようにUSBデバイスコントローラ2aのレジスタを設定するアプリケーションを作成する。
(2)USBデバイスコントローラ2aを停止するアプリケーションを作成する。
(3)USBデバイスコントローラ2aを開始するアプリケーションを作成する。
(4)USBデバイスコントローラ2aより通信のタイムアウトを取得できるアプリケーションを作成する。
(5)USBのリセットを行うアプリケーションを作成する。
In order to perform the switching process like the sequence shown in FIG. 4, it is necessary to make the following settings and determine the following conditions in advance. That is, in order for the USB communication apparatus shown in FIG. 1 to realize the switching process from the high speed mode to the full speed mode, the following five functions are created in advance in the USB
(1) Create an application that sets the registers of the
(2) Create an application for stopping the
(3) Create an application for starting the
(4) Create an application that can acquire a communication timeout from the
(5) Create an application for USB reset.
また、(1)のフルスピードに設定するUSBデバイスコントローラ2aのレジスタ設定は、(3)のUSBデバイスコントローラ2aの開始時に行われるようにしておく。さらに、USB開始時にはUSBデバイスコントローラ2aを初期化しておく必要がある。また、(2)のUSBデバイスコントローラ2aの停止と、(3)のUSBデバイスコントローラ2aの開始については、外部公開関数としてUSBホスト1側のUSBホストアプリケーション1dへ提供することにより、USBホストアプリケーション1dからUSBデバイス2側のUSBデバイスコントローラ2aの開始・停止を制御することができる。
The register setting of the
次に、図4に示すハイスピードモードからフルスピードモードへの切替処理の流れを説明する。 Next, the flow of switching processing from the high speed mode to the full speed mode shown in FIG. 4 will be described.
同図に示すように、USBホスト1からUSBデバイス2へデータを送信する前に、まず、USBホスト1からUSBデバイス2へデータサイズを送信する処理が行われる。従って、USBホスト1では、クラスドライバ1cからUSBホストコントローラ1bへデータサイズが送信され(ステップS21)、USBホストコントローラ1bからクラスドライバ1cへ送信完了の応答が返される(ステップS22)。
As shown in the figure, before transmitting data from the
さらに、USBホストコントローラ1bからハイスピードモードの機能を実現するEHCI1a1へデータサイズが送信され(ステップS23)、EHCI1a1からUSBホストコントローラ1bへ送信完了の応答が返される(ステップS24)。そして、EHCI1a1からUSBデバイス2のUSBデバイスコントローラ2aへデータサイズが転送される(ステップS25)。
Further, the data size is transmitted from the
次に、USBデバイス2では、USBデバイスコントローラ2aがUSBデバイス制御ファームウェア2bへイベントを通知し(ステップS26)、USBデバイス制御ファームウェア2bにデータサイズを受信させる(ステップS27)。これにより、USBデバイスアプリケーション2cは、USBデバイス制御ファームウェア2bへデータサイズの読取コマンドを送信し(ステップS28)、USBデバイス制御ファームウェア2bからデータサイズを取得する(ステップS29)。
Next, in the
その後、USBホスト1のクラスドライバ1cからUSBホストコントローラ1bへデータが送信され(ステップS30)、さらに、USBホストコントローラ1bからEHCI1a1へデータが送信され(ステップS31)、EHCI1a1からUSBデバイス2のUSBデバイスコントローラ2aへデータがコントロール転送される(ステップS32)。ここで、通信トラブルが発生して、データがUSBデバイスコントローラ2aに正常に転送されないため、USBデバイスコントローラ2aからEHCI1a1へエラーメッセージの応答が返される(ステップS33)。
Thereafter, data is transmitted from the
一方、USBデバイス2では、USBデバイスアプリケーション2cからUSBデバイス制御ファームウェア2bへデータの読取コマンドが送信されるので(ステップS34)、USBデバイス制御ファームウェア2bはUSBデバイスコントローラ2aへデータの読み取りに行くが(ステップS35)、USBデバイスコントローラ2aにはデータがないので、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへデータ無しの応答が返される(ステップS36)。
On the other hand, in the
さらに、EHCI1a1からUSBデバイス2のUSBデバイスコントローラ2aへデータの転送がリトライされる(ステップS37)。ところが、通信トラブルが継続して発生しているので、データはUSBデバイスコントローラ2aへ正常に転送されないため、USBデバイスコントローラ2aからEHCI1a1へ再びエラーメッセージの応答が返される(ステップS38)。
Furthermore, data transfer from the EHCI 1a1 to the
一方、USBデバイス2では、USBデバイス制御ファームウェア2bがUSBデバイスコントローラ2aへデータの読み取りに行くが(ステップS39)、USBデバイスコントローラ2aにはデータがないので、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへデータ無しの応答が返される(ステップS40)。
On the other hand, in the
このようにして、USBホスト1のEHCI1a1からUSBデバイス2のUSBデバイスコントローラ2aに対してデータ転送が何回もリトライされ、所定の時間が経過してUSBデバイス制御ファームウェア2bによってタイムアウトが検出されると(ステップS41)、USBデバイス制御ファームウェア2bはUSBデバイスコントローラ2aに対して通信回線のステータス(状態)を参照する(ステップS42)。しかし、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bに対して、リトライは既にタイムアウトになった旨の通知が送信されるので(ステップS43)、USBデバイス制御ファームウェア2bは、通信不良が発生したものとして、USBデバイスコントローラ2aに対して通信の入出力の停止を指示する(ステップS44)。
In this way, when the data transfer is retried many times from the EHCI 1a1 of the
一方、USBホスト1においては、ステップS33及びステップS38において、EHCI1a1が、USBデバイスコントローラ2aからエラーメッセージの応答を受けたため、EHCI1a1からUSBホストコントローラ1bへ転送エラーの通知が送信され(ステップS45)、さらに、USBホストコントローラ1bからクラスドライバ1cへ転送エラーの通知が送信される(ステップS46)。
On the other hand, in the
次に、USBデバイス2では、通信不良の発生が検出されたので、USBデバイス制御ファームウェア2bからUSBデバイスコントローラ2aへ、ハイスピードモードからフルスピードモードへの速度切り替えメッセージが送信され(ステップS47)、この速度切り替えメッセージはUSBデバイスコントローラ2aからUSBホスト1のEHCI1a1へ転送される(ステップS48)。なお、実際には、USBデバイス2のUSBデバイスコントローラ2aは、USBホスト1からのポーリングによって速度切り替えメッセージをEHCI1a1へ転送する。
Next, since the occurrence of a communication failure is detected in the
このようにして、速度切り替えメッセージがUSBホスト1のEHCI1a1へ転送されると、EHCI1a1からUSBホストコントローラ1bへ速度切り替え通知が送信され(ステップS49)、さらに、USBホストコントローラ1bからクラスドライバ1cへ速度切り替え通知が送信される(ステップS50)。これによって、USBデバイス2では、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ、速度切り替えメッセージの通知が完了した旨の情報が送信される(ステップS51)。そして、USBデバイス制御ファームウェア2bからUSBデバイスアプリケーション2cへ速度切り替えの通知が送信される(ステップS52)。このとき、USBデバイス2のUSBデバイスアプリケーション2cは未送信のデータを保持しておく。また、USBホスト1側においても、速度切り替えメッセージの応答を返す前に現在までの送信データは保持しておく。
Thus, when the speed switching message is transferred to the EHCI 1a1 of the
次に、USBホスト1においては、クラスドライバ1cからUSBホストコントローラ1bへ、速度切り替えメッセージの通知を受けた旨の通知応答メッセージが送信され(ステップS53)、USBホストコントローラ1bからクラスドライバ1cへ送信完了の通知が送信される(ステップS54)。さらに、USBホストコントローラ1bからEHCI1a1へ、速度切り替えメッセージの通知を受けた旨の通知応答メッセージが送信され(ステップS55)、EHCI1a1からUSBホストコントローラ1bへ送信完了の通知が送信される(ステップS56)。
Next, in the
そして、通知応答メッセージは、USBホスト1のEHCI1a1からUSBデバイス2のUSBデバイスコントローラ2aへ転送され(ステップS57)、さらに、その通知応答メッセージは、USBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ送信される(ステップS58)。
Then, the notification response message is transferred from the EHCI 1a1 of the
これによって、USBデバイス2のUSBデバイス制御ファームウェア2bからUSBデバイスコントローラ2aへ、ハイスピードモードの停止指令が送信されるので(ステップS59)、USBデバイス2のUSBデバイスコントローラ2aとUSBホスト1のEHCI1a1との間では、ハイスピードモードの通信が遮断される(ステップS60)。そして、ハイスピードモードの遮断OKの通知がUSBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ送信される(ステップS61)。
As a result, a high-speed mode stop command is transmitted from the USB
このようにして、ハイスピードモードの停止シーケンスにしたがってハイスピードモードが遮断され、フルスピードモードの開始シーケンスにしたがって、フルスピードモードのOHCI/UHCI1a2の機能が立ち上がる。そして、OHCI/UHCI1a2の機能が立ち上がると、USBデバイス2のUSBデバイス制御ファームウェア2bからUSBデバイスコントローラ2aへフルスピードモードの開始指令が送信されるので(ステップS62)、USBデバイス2のUSBデバイスコントローラ2aとUSBホスト1のOHCI/UHCI1a2はフルスピードモードの通信を接続する(ステップS63)。また、フルスピードモードの接続がOKである旨の通知がUSBデバイスコントローラ2aからUSBデバイス制御ファームウェア2bへ送信される(ステップS64)。
In this way, the high speed mode is interrupted according to the stop sequence of the high speed mode, and the function of the OHCI / UHCI 1a2 in the full speed mode is activated according to the start sequence of the full speed mode. When the function of the OHCI / UHCI 1a2 is activated, a full-speed mode start command is transmitted from the USB
これによって、USBホスト1では、USBホストコントローラ1bからクラスドライバ1cへフルスピードモードの通信開始通知が送信され(ステップS65)、USBデバイス2では、USBデバイスコントローラ1bからクラスドライバ1cへフルスピードモードの通信開始通知が送信される(ステップS66)。このようにして、ハイスピードモードにおいて通信品質が低下したときは、自動的にフルスピードモードへ切り替えることができる。
As a result, the
すなわち、本発明のUSB通信装置においては、USBデバイス2のUSBデバイス制御ファームウェア2bが、USBホスト1からUSBデバイス2への通信のタイムアウトを検出したら、ハイスピードモードによる通信を停止した上で、USBホスト1とUSBデバイス2に対してフルスピードモードへの切替通知を送信する。このとき、USBホスト1への切替通知はコントロール転送を利用する。つまり、ハイスピードモードが、通信エラーなどによってデータ転送のリトライがタイムアウトとなったら、USBホスト1からUSBデバイス2へベンダーリクエストを出し、それに応答する形でUSBデバイス2からUSBホスト1へ切替通知を送信してフルスピードモードへ切り替える。
That is, in the USB communication apparatus of the present invention, when the USB
また、本発明のUSB通信装置においては、必要に応じてハイスピードモードとフルスピードモードとを何度でも切り替えることができる。図5は、本発明のUSB通信装置においてハイスピードモードとフルスピードモードとを適宜に切り替える処理の流れを示すフローチャートである。 In the USB communication device of the present invention, the high speed mode and the full speed mode can be switched as many times as necessary. FIG. 5 is a flowchart showing a flow of processing for appropriately switching between the high speed mode and the full speed mode in the USB communication apparatus of the present invention.
図5において、USB通信装置のUSBホスト1とUSBデバイス2がハイスピードモードで接続されているとき(ステップS71)、USBデバイス2がUSBホスト1よりデータを受信する(ステップS72)。ここで、通信がタイムアウトになったか否かを判定し(ステップS73)、まだ、通信がタイムアウトになっていなければ(ステップS73でNo)、そのままUSBホスト1よりデータの受信を続けるが(ステップS72)、通信がタイムアウトになったら(ステップS73でYes)、通信速度をフルスピードモードに変更する(ステップS74)。
In FIG. 5, when the
ここで、通信速度がフルスピードモードの状態で通信がタイムアウトになったか否かを判定し(ステップS75)、もし、通信がタイムアウトになっていれば(ステップS75でYes)、これ以上は通信を継続することができないのでエラー処理を行う(ステップS76)。一方、ステップS75で通信がタイムアウトになっていなければ(ステップS75でNoの場合)、その通信がアイドル状態になるまでフルスピードモードで通信を続ける(ステップS77)。 Here, it is determined whether the communication has timed out while the communication speed is in the full speed mode (step S75). If the communication has timed out (Yes in step S75), the communication is not performed any more. Since it cannot be continued, error processing is performed (step S76). On the other hand, if the communication has not timed out in step S75 (No in step S75), the communication is continued in the full speed mode until the communication becomes idle (step S77).
そして、その通信がアイドル状態になったら通信速度を再びハイスピードモードに切り替える(ステップS78)。そして、アイドル時にテストパターンを送信してタイムアウトになったか否かにより、通信可能か否かを判定する(ステップS79)。ここで、ハイスピードモードでの通信が可能であれば(ステップS79でYes)、ステップS72に戻って、ハイスピードモードでUSBホスト1よりデータを受信し、前述の各ステップを繰り返す。また、ステップS79で、ハイスピードモードでの通信が不可能であれば(ステップS79でNo)、ステップS74に戻って、通信速度をフルスピードモードに変更し、前述の各ステップを繰り返す。このようにして、ハイスピードモードとフルスピードモードとを任意に切り替えることができる。
When the communication becomes idle, the communication speed is switched again to the high speed mode (step S78). Then, it is determined whether or not communication is possible depending on whether or not a test pattern has been transmitted during idle time and timed out (step S79). If communication in the high speed mode is possible (Yes in step S79), the process returns to step S72, receives data from the
本実施形態によれば、ハイスピードモードに切り替えて通信速度を優先させたり、フルスピードモードに切り替えて通信品質を優先させたりする選択を任意に行うことができる。例えば、ノイズが多くて通信品質が保証できないような環境で使用する場合は、ハイスピードモードからフルスピードモードへ選択的に通信を切り替えることにより、通信品質を一定レベル以上に安定化させることができる。 According to the present embodiment, it is possible to arbitrarily select to switch to the high speed mode to give priority to the communication speed, or to switch to the full speed mode to give priority to the communication quality. For example, when used in an environment where there is a lot of noise and communication quality cannot be guaranteed, communication quality can be stabilized above a certain level by selectively switching communication from high speed mode to full speed mode. .
1 USBホスト
1a インタフェース
1a1 EHCI
1a2 OHCI/UHCI
1b USBホストコントローラ
1c クラスドライバ
1d USBホストアプリケーション
2 USBデバイス
2a USBデバイスコントローラ
2b USBデバイス制御ファームウェア
2c USBデバイスアプリケーション
1 USB host 1a interface 1a1 EHCI
1a2 OHCI / UHCI
1b
Claims (7)
前記USBホスト装置と前記第2の通信速度で通信を行っているときに、通信不良の発生を検出する通信不良検出手段と、
前記通信不良検出手段により通信不良の発生が検出されると、前記USBホスト通信装置に対して、前記第1の通信速度への通信速度切り替え要求を生成する切り替え要求手段と、を備えるUSB通信装置。 When connected to a USB (Universal Serial Bus) host device, it is a USB communication device that performs communication at a first communication speed or a second communication speed higher than the first communication speed as a USB device. There,
Communication failure detection means for detecting occurrence of communication failure when communicating with the USB host device at the second communication speed;
A USB communication apparatus comprising: a switching request unit that generates a communication speed switching request to the first communication speed to the USB host communication apparatus when occurrence of a communication defect is detected by the communication defect detection unit. .
前記切り替え要求手段は、前記第2の通信速度への通信速度切り替え要求を生成することを特徴とする請求項2に記載のUSB通信装置。 After the communication speed with the USB host device is switched to the first communication speed based on the communication speed switching request, the communication at the first communication speed is in an idle state.
The USB communication device according to claim 2, wherein the switching request unit generates a communication speed switching request to the second communication speed.
前記第2の通信速度は、ハイスピードモードで通信を行ったときの通信速度であることを特徴とする請求項1から3のいずれかに記載のUSB通信装置。 The first communication speed is a communication speed when communication is performed in the full speed mode,
4. The USB communication device according to claim 1, wherein the second communication speed is a communication speed when communication is performed in a high speed mode. 5.
前記USBデバイス装置と第2の通信速度で通信を行っているときに、当該USBデバイス装置からの通信速度の切り替え要求を受け付ける手段と、
前記切り替え要求を受け付けると、前記第2の通信速度から前記第1の通信速度へ通信速度を切り換える切り替え手段と、を備えるUSB通信装置。 When connected to a USB (Universal Serial Bus) device apparatus, the USB communication apparatus performs communication at a first communication speed or a second communication speed higher than the first communication speed as a USB host. There,
Means for receiving a communication speed switching request from the USB device device when communicating with the USB device device at a second communication speed;
A USB communication device comprising: switching means for switching the communication speed from the second communication speed to the first communication speed when receiving the switching request.
前記USBホスト装置と前記第2の通信速度で通信を行っているときに、通信不良の発生を検出するステップと、
前記通信不良の発生が検出されると、前記USBホスト通信装置に対して、前記第1の通信速度への通信速度切り替え要求を生成するステップと、を含む通信速度切り替えのための方法。 When connected to a USB (Universal Serial Bus) host device, a USB communication device that performs communication at a first communication speed or a second communication speed higher than the first communication speed as a USB device. A method for switching communication speed,
Detecting the occurrence of communication failure when communicating with the USB host device at the second communication speed;
Generating a communication speed switching request to the first communication speed to the USB host communication device when occurrence of the communication failure is detected.
前記USBデバイス装置と第2の通信速度で通信を行っているときに、当該USBデバイス装置からの通信速度の切り替え要求を受け付けるステップと、
前記切り替え要求を受け付けると、前記第2の通信速度から前記第1の通信速度へ通信速度を切り換えるステップと、を含む通信速度切り替えのための方法。 When connected to a USB (Universal Serial Bus) device device, as a USB host, the USB communication device performs communication at either the first communication speed or the second communication speed higher than the first communication speed. A method for switching communication speed,
Receiving a communication speed switching request from the USB device device when communicating with the USB device device at a second communication speed;
Receiving the switch request, switching the communication speed from the second communication speed to the first communication speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366810A JP2007172160A (en) | 2005-12-20 | 2005-12-20 | Usb communication device, and method for switching communication speed |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366810A JP2007172160A (en) | 2005-12-20 | 2005-12-20 | Usb communication device, and method for switching communication speed |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007172160A true JP2007172160A (en) | 2007-07-05 |
Family
ID=38298662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005366810A Withdrawn JP2007172160A (en) | 2005-12-20 | 2005-12-20 | Usb communication device, and method for switching communication speed |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007172160A (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118674A (en) * | 2009-12-03 | 2011-06-16 | Brother Industries Ltd | Usb host device |
JP2012088971A (en) * | 2010-10-20 | 2012-05-10 | Canon Inc | Communication control device and control method therefor |
JP2012093926A (en) * | 2010-10-27 | 2012-05-17 | Alpine Electronics Inc | Communication speed control device and communication speed control method |
JP2013016096A (en) * | 2011-07-06 | 2013-01-24 | Renesas Electronics Corp | Controller and transfer speed control metho |
JP2013168122A (en) * | 2012-01-16 | 2013-08-29 | Renesas Electronics Corp | Usb 3.0 device and control method |
US8527669B2 (en) | 2010-08-20 | 2013-09-03 | Alpine Electronics, Inc. | Communication apparatus and method for communicating with an external device through USB interface using a high-speed or low-speed communication mode |
US8659768B2 (en) | 2010-08-19 | 2014-02-25 | Canon Kabushiki Kaisha | Job processing device, control method and control program therefor |
JP2016527742A (en) * | 2013-06-20 | 2016-09-08 | アップル インコーポレイテッド | System and method for recovering higher speed communication between devices |
CN106066842A (en) * | 2016-05-30 | 2016-11-02 | 上海华为技术有限公司 | A kind of method of switch mode, SOC(system on a chip) and base station |
WO2017049973A1 (en) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | Data transmission control method, host device, usb device and system |
CN106663079A (en) * | 2014-07-11 | 2017-05-10 | 标致·雪铁龙汽车公司 | Device for managing errors on a serial universal bus |
CN108881208A (en) * | 2018-06-11 | 2018-11-23 | 深圳市沃特沃德股份有限公司 | Usb protocol switching method and device based on onboard system |
CN109426644A (en) * | 2017-08-31 | 2019-03-05 | 西安中兴新软件有限责任公司 | A kind of rate adjusting method and device, equipment of USB data transmission |
US10237087B2 (en) | 2013-09-02 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method for controlling transmission speed and electronic device thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000152337A (en) * | 1998-11-09 | 2000-05-30 | Canon Inc | Radio communication terminal, radio communication method and storage medium |
JP2000295313A (en) * | 1999-04-06 | 2000-10-20 | Nec Corp | Method and device for communication |
JP2001222474A (en) * | 2000-02-07 | 2001-08-17 | Internatl Business Mach Corp <Ibm> | Signal output device, driver circuit, signal transmission system, and method for transmitting signal |
JP2002176460A (en) * | 2000-12-06 | 2002-06-21 | Sanyo Electric Co Ltd | Transmitter and communication system |
JP2004272406A (en) * | 2003-03-06 | 2004-09-30 | Meidensha Corp | Automatic adjustment method for synchronous transfer speed |
-
2005
- 2005-12-20 JP JP2005366810A patent/JP2007172160A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000152337A (en) * | 1998-11-09 | 2000-05-30 | Canon Inc | Radio communication terminal, radio communication method and storage medium |
JP2000295313A (en) * | 1999-04-06 | 2000-10-20 | Nec Corp | Method and device for communication |
JP2001222474A (en) * | 2000-02-07 | 2001-08-17 | Internatl Business Mach Corp <Ibm> | Signal output device, driver circuit, signal transmission system, and method for transmitting signal |
JP2002176460A (en) * | 2000-12-06 | 2002-06-21 | Sanyo Electric Co Ltd | Transmitter and communication system |
JP2004272406A (en) * | 2003-03-06 | 2004-09-30 | Meidensha Corp | Automatic adjustment method for synchronous transfer speed |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118674A (en) * | 2009-12-03 | 2011-06-16 | Brother Industries Ltd | Usb host device |
US8659768B2 (en) | 2010-08-19 | 2014-02-25 | Canon Kabushiki Kaisha | Job processing device, control method and control program therefor |
US8527669B2 (en) | 2010-08-20 | 2013-09-03 | Alpine Electronics, Inc. | Communication apparatus and method for communicating with an external device through USB interface using a high-speed or low-speed communication mode |
JP2012088971A (en) * | 2010-10-20 | 2012-05-10 | Canon Inc | Communication control device and control method therefor |
JP2012093926A (en) * | 2010-10-27 | 2012-05-17 | Alpine Electronics Inc | Communication speed control device and communication speed control method |
US8578065B2 (en) | 2010-10-27 | 2013-11-05 | Alpine Electronics, Inc. | Communication speed control apparatus and communication speed control method |
JP2013016096A (en) * | 2011-07-06 | 2013-01-24 | Renesas Electronics Corp | Controller and transfer speed control metho |
JP2013168122A (en) * | 2012-01-16 | 2013-08-29 | Renesas Electronics Corp | Usb 3.0 device and control method |
JP2016527742A (en) * | 2013-06-20 | 2016-09-08 | アップル インコーポレイテッド | System and method for recovering higher speed communication between devices |
US9740643B2 (en) | 2013-06-20 | 2017-08-22 | Apple Inc. | Systems and methods for recovering higher speed communication between devices |
US10237087B2 (en) | 2013-09-02 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method for controlling transmission speed and electronic device thereof |
CN106663079A (en) * | 2014-07-11 | 2017-05-10 | 标致·雪铁龙汽车公司 | Device for managing errors on a serial universal bus |
CN106663079B (en) * | 2014-07-11 | 2020-11-06 | 标致·雪铁龙汽车公司 | Management device for managing errors on universal serial bus |
WO2017049973A1 (en) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | Data transmission control method, host device, usb device and system |
CN106066842A (en) * | 2016-05-30 | 2016-11-02 | 上海华为技术有限公司 | A kind of method of switch mode, SOC(system on a chip) and base station |
CN109426644A (en) * | 2017-08-31 | 2019-03-05 | 西安中兴新软件有限责任公司 | A kind of rate adjusting method and device, equipment of USB data transmission |
CN108881208A (en) * | 2018-06-11 | 2018-11-23 | 深圳市沃特沃德股份有限公司 | Usb protocol switching method and device based on onboard system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007172160A (en) | Usb communication device, and method for switching communication speed | |
JP4475291B2 (en) | Image processing apparatus, workflow test method, and test program | |
JP2007109251A (en) | Upstream peripheral equipment serving as usb host | |
JP2012175174A (en) | Network communication apparatus, peripheral device, and network communication method | |
JP5178230B2 (en) | Information processing apparatus, information processing method, and program | |
JP2019144893A (en) | Information processing device, information processing system, and program | |
JP2008271075A (en) | Electronic device, electronic camera, and data transfer program | |
JP2003114859A (en) | Usb connector | |
JP2008293230A (en) | Data transfer device | |
JP2011082922A (en) | Power saving control device | |
US20100106869A1 (en) | USB Storage Device and Interface Circuit Thereof | |
JPH0511938A (en) | High-functional parallel port interface | |
JP2014143647A (en) | Information processing program and image forming apparatus | |
JP2003308286A (en) | Composite device system | |
JP6399279B2 (en) | Communication device | |
JP2005309511A (en) | Information processor, status acquisition method and program | |
JP4250047B2 (en) | Image forming apparatus | |
JP5645630B2 (en) | Information processing apparatus, stopping method, and program | |
JP2005175936A (en) | Usb compatible digital multifunction machine | |
JP3593882B2 (en) | Printing apparatus and interface control method | |
JP2008179058A (en) | Image processing device and control method of the same | |
JP2003309618A (en) | Communication apparatus and communication method | |
US20190163407A1 (en) | Storage device and storage system | |
JP2009059018A (en) | Information processing system, information processor and data transfer method for information processing system | |
JP6069995B2 (en) | Information processing system and information transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20081210 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110405 |
|
A761 | Written withdrawal of application |
Effective date: 20110527 Free format text: JAPANESE INTERMEDIATE CODE: A761 |