JP2010287035A - 通信制御方法及びインターフェース装置 - Google Patents
通信制御方法及びインターフェース装置 Download PDFInfo
- Publication number
- JP2010287035A JP2010287035A JP2009140205A JP2009140205A JP2010287035A JP 2010287035 A JP2010287035 A JP 2010287035A JP 2009140205 A JP2009140205 A JP 2009140205A JP 2009140205 A JP2009140205 A JP 2009140205A JP 2010287035 A JP2010287035 A JP 2010287035A
- Authority
- JP
- Japan
- Prior art keywords
- usb
- amplitude value
- data
- interface device
- differential
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】データ転送する信号の減衰を低減することができる通信制御方法及びインターフェース装置を提供すること。
【解決手段】USBホスト装置1のA/D変換回路20は、USBデバイス装置からの差動信号の振幅値を測定してデバイス差動振幅値Dd1を生成する。USBデバイス装置のマイクロコントローラは、デバイス差動振幅値Dd1に基づいて、HSドライバ回路の駆動電流を上げる。また、USBデバイス装置のA/D変換回路は、USBホスト装置1からの差動信号の振幅値を測定してホスト差動振幅値Dd2を生成する。USBホスト装置1のマイクロコントローラ8は、ホスト差動振幅値Dd2に基づいて、HSドライバ回路11の駆動電流を上げる。
【選択図】図2
【解決手段】USBホスト装置1のA/D変換回路20は、USBデバイス装置からの差動信号の振幅値を測定してデバイス差動振幅値Dd1を生成する。USBデバイス装置のマイクロコントローラは、デバイス差動振幅値Dd1に基づいて、HSドライバ回路の駆動電流を上げる。また、USBデバイス装置のA/D変換回路は、USBホスト装置1からの差動信号の振幅値を測定してホスト差動振幅値Dd2を生成する。USBホスト装置1のマイクロコントローラ8は、ホスト差動振幅値Dd2に基づいて、HSドライバ回路11の駆動電流を上げる。
【選択図】図2
Description
通信制御方法及びインターフェース装置に関するものである。
従来、ホストコンピュータと、キーボード、マウス、プリンタなどの各種コンピュータ周辺機器とを接続するためのインターフェース規格として、ユニバーサルシリアルバス(Universal Serial Bus:USB)が用いられている。このUSBは、コンピュータ周辺機器に関するプラグ&プレイ機能、ホットプラグ・プラグアウト機能、コネクタケーブルの共通化などの特徴を有している。
近年、従来の1.5Mbpsでデータ転送を行うロウスピード(Low Speed)モード、及び、12Mbpsでデータ転送を行うフルスピード(Full Speed)モードに加え、新たに480Mbpsで高速なデータ転送を可能にするハイスピード(High Speed)モードを設けたUSB2.0の規格が策定されている。USB2.0では、このようなハイスピードモードを備えているため、プリンタ、オーディオ、カメラなどにおけるデータ転送のみならず、ハードディスクドライブや光ディスクドライブ(CD−ROM,DVD)などのストレージ機器におけるデータ転送も実現できるようになる(例えば、特許文献1参照)。
しかしながら、終端抵抗やドライバ電流のずれやUSBケーブルが長くなると、データ転送する信号が減衰してしまう。特に480Mbpsで高速にデータ転送を行うハイスピードモードでは、データ転送する信号が大きく減衰してしまう。このため、USB2.0に対応した各種コンピュータ周辺機器をホストコンピュータに接続しても、ハイスピードモードのデータ転送ができない場合があった。
この通信制御方法及びインターフェース装置は、データ転送する信号の減衰を低減することを目的とする。
この通信制御方法は、インターフェース装置がシリアルバスを介してデータ転送を行う通信制御方法であって、一方のインターフェース装置がドライバ回路を介してデータを他方のインターフェース装置に送信する工程と、前記他方のインターフェース装置が前記データを受信し、受信した前記データの振幅値を測定する工程と、前記他方のインターフェース装置が測定した前記データの振幅値に応じて、前記ドライバ回路の駆動電流を制御して前記データの振幅値を変更する工程とを有するようにした。
開示された通信制御方法及びインターフェース装置は、データ転送する信号の減衰を低減することができる。
以下、実施形態を図1〜図5に従って説明する。
図1は、USBホスト装置1、USBデバイス装置2のシステム構成を示し、シリアルインターフェースの一つであるUSB2.0に準拠したデータ転送を行うネットワークシステムを概略的に示すブロック図である。ネットワークシステムは、USBホスト装置1とUSBデバイス装置2がUSBケーブル5を介して接続されている。例えば、USBホスト装置1はパーソナルコンピュータ、USBデバイス装置2はキーボード、マウス、プリンタなどの各種コンピュータ周辺機器が考えられる。
図1は、USBホスト装置1、USBデバイス装置2のシステム構成を示し、シリアルインターフェースの一つであるUSB2.0に準拠したデータ転送を行うネットワークシステムを概略的に示すブロック図である。ネットワークシステムは、USBホスト装置1とUSBデバイス装置2がUSBケーブル5を介して接続されている。例えば、USBホスト装置1はパーソナルコンピュータ、USBデバイス装置2はキーボード、マウス、プリンタなどの各種コンピュータ周辺機器が考えられる。
USBケーブル5は、第1データ線DPと第2データ線DMからなるツイストペア信号線と、第1電源線L1と第2電源線L2からなる非ツイスト電源線を有している。
ツイストペア信号線を構成する第1データ線DPと第2データ線DMは、相補信号線である。そして、USBホスト装置1からUSBデバイス装置2に出力される信号は、USBホスト装置1にて相補信号(以下、差動信号という)に変換され、それぞれ対応する第1データ線DPまたは第2データ線DMを介して、USBデバイス装置2に出力される。同様に、USBデバイス装置2からUSBホスト装置1に出力される信号は、USBデバイス装置2にて差動信号に変換されて、それぞれ対応する第1データ線DPまたは第2データ線DMを介して、USBホスト装置1に出力される。
ツイストペア信号線を構成する第1データ線DPと第2データ線DMは、相補信号線である。そして、USBホスト装置1からUSBデバイス装置2に出力される信号は、USBホスト装置1にて相補信号(以下、差動信号という)に変換され、それぞれ対応する第1データ線DPまたは第2データ線DMを介して、USBデバイス装置2に出力される。同様に、USBデバイス装置2からUSBホスト装置1に出力される信号は、USBデバイス装置2にて差動信号に変換されて、それぞれ対応する第1データ線DPまたは第2データ線DMを介して、USBホスト装置1に出力される。
また、非ツイスト電源線を構成する第1電源線L1は、電源VBUSがUSBホスト装置1から印加される。また、第2電源線L2は、USBホスト装置1を介してグランドに接続されている。
USB2.0では、1.5Mbpsでデータ転送を行うロウスピード(Low Speed)モード、12bpsでデータ転送を行うフルスピード(Full Speed)モード、480Mbpsでデータ転送を行うハイスピード(Hi Speed)モードの3種類の転送モードが設けられている。
上記のデータ転送を行うため、図2に示すように、USBホスト装置1は、インターフェース回路6、制御回路7、マイクロコントローラ8を含んでいる。
インターフェース回路6は、制御回路7で処理されたデータを第1及び第2データ線DP,DMを介して前記USBデバイス装置2に送信するための差動信号に変換する。また、インターフェース回路6は、第1及び第2データ線DP,DMを介して受信するUSBデバイス装置2からの差動信号を制御回路7で処理するためのデータに変換する。
インターフェース回路6は、制御回路7で処理されたデータを第1及び第2データ線DP,DMを介して前記USBデバイス装置2に送信するための差動信号に変換する。また、インターフェース回路6は、第1及び第2データ線DP,DMを介して受信するUSBデバイス装置2からの差動信号を制御回路7で処理するためのデータに変換する。
インターフェース回路6は、USB2.0に規定されたHSドライバ回路11、LS/FSドライバ回路12、HSレシーバ回路13、LS/FSレシーバ回路14を有している。また、インターフェース回路6は、ノイズ検出回路(Transmission Envelope Detector)15、切断検出回路(Disconnection Envelope Detector)16、シングル・エンデット・レシーバ(Single Ended Receiver)17,18、終端抵抗Rs、プルダウン抵抗Rpdを有している。さらに、本実施形態では、インターフェース回路6はA/D変換回路20を含んでいる。
HSドライバ回路11はハイスピードモード用のデータドライバであって、ハイスピードモードにおいて、制御回路7からHS送信データD1、マイクロコントローラ8から駆動電流値Drが入力される。HS送信データD1は、ハイスピードモードにおいて、HSドライバ回路11で差動信号に変換されて第1及び第2データ線DP,DMを介してUSBデバイス装置2に送信されるデータである。
駆動電流値Drは、HSドライバ回路11の駆動電流を制御し、USBホスト装置1からの差動信号の振幅値を制御するデータである。本実施形態では、駆動電流値Drが大きいほど、HSドライバ回路11は、駆動電流を増大させて出力する差動信号の振幅値を大きくする。反対に、駆動電流値Drが小さいほど、HSドライバ回路11は、駆動電流を減少させて出力する差動信号の振幅値を小さくする。
LS/FSドライバ回路12はロウ・フルスピードモード用のデータドライバであって、ロウ・フルスピードモードにおいて、制御回路7からLS/FS送信データD2が入力される。LS/FSドライバ回路12は、その入力されたLS/FS送信データD2を差動信号に変換してそれぞれ終端抵抗Rsを介してUSBケーブル5に出力する。詳述すると、終端抵抗Rsを介してそれぞれ出力された差動信号は、USBケーブル5の対応する第1データ線DP、第2データ線DMを介してUSBデバイス装置2に出力される。
尚、LS/FSドライバ回路12は、ハイスピードモードにおいては、第1及び第2データ線DP,DMにそれぞれLレベルの信号をそれぞれ出力することで、第1及び第2データ線DP,DMを終端抵抗Rsで終端させている。なお、終端抵抗Rsの抵抗値は、USB2.0に規定されている「45Ω」になっている。
HSレシーバ回路13はハイスピードモード用のデータレシーバであって、ハイスピードモードにおいて、第1及び第2データ線DP,DMを介してUSBデバイス装置2からの差動信号を入力する。HSレシーバ回路13は、その入力された差動信号を制御回路7に対応したHS受信データD3に変換して制御回路7に出力する。
LS/FSレシーバ回路14はロウ・フルスピードモード用のデータレシーバであって、ロウ・フルスピードモードにおいて、第1及び第2データ線DP,DMを介してUSBデバイス装置2からの差動信号を入力する。LS/FSレシーバ回路14は、その入力された差動信号を制御回路7に対応したLS/FS受信データD4に変換して制御回路7に出力する。
ノイズ検出回路15は、USBデバイス装置2から第1及び第2データ線DP,DMを介して入力される差動信号とノイズとを判別する。切断検出回路16は、USBホスト装置1とUSBデバイス装置2との切断を検出する。
シングル・エンデット・レシーバ17,18は、それぞれ第1及び第2データ線DP,DMから信号が入力される。シングル・エンデット・レシーバ17,18は、共にLレベルの信号が入力されると、リセット状態を検出する。
A/D変換回路20は、USBデバイス装置2から第1及び第2データ線DP,DMを介して差動信号が入力される。A/D変換回路20は、入力された差動信号の振幅値を測定し、その測定した差動信号の振幅値のデータであるデバイス差動振幅値Dd1を制御回路7に出力する。
プルダウン抵抗Rpdは第1及び第2データ線DP,DMとグランドの間に接続され、第1及び第2データ線DP,DMをプルダウンしている。プルダウン抵抗Rpdの抵抗値は、USB2.0に規定されている「15kΩ」になっている。
制御回路7は、USB2.0に準拠したデータ転送のための種々の処理を行う。詳しくは、送信時には、送信データにUSBホスト装置1とUSBデバイス装置2とを同期させるためのSYNC(synchronization)データ、フレームの始まりを示すSOF(Start Of Frame)パケット、パケットの終わりを示すEOP(End Of Packet)などを付加する処理や、同じ論理値のデータが続いた場合にUSBホスト装置1とUSBデバイス装置2とを同期させるためのビットスタッフィング処理などを行う。一方、受信時には、受信データのSYNCデータ、SOFパケット、EOPを検出/削除する処理や、ビットスタッフィング処理されたデータを復元するビットアンスタッフィング処理などを行う。
制御回路7は、ハイスピードモードにおいて、HSドライバ回路11にHS送信データD1を出力し、HSレシーバ回路13からHS受信データD3を入力する。一方、制御回路7は、ロウ・フルスピードモードにおいて、LS/FSドライバ回路12にLS/FS送信データD2を出力し、LS/FSレシーバ回路14からLS/FS受信データD4を入力する。
制御回路7は、バスの調停、エラー処理や、接続されるUSBデバイス装置2が3種類の転送モードのどの転送モードに対応しているかを判定する処理などを行う。
ここで、USBデバイス装置2がどの転送モードに対応しているか判定する処理中において、USBホスト装置1とUSBデバイス装置2との間で行われる信号のやりとりの転送速度(第2の転送速度)は、480Mbpsのハイスピードモード及び12Mbpsのフルスピードモードでデータ転送する転送速度(第1の転送速度)より遅くなっている。
ここで、USBデバイス装置2がどの転送モードに対応しているか判定する処理中において、USBホスト装置1とUSBデバイス装置2との間で行われる信号のやりとりの転送速度(第2の転送速度)は、480Mbpsのハイスピードモード及び12Mbpsのフルスピードモードでデータ転送する転送速度(第1の転送速度)より遅くなっている。
制御回路7は、USBデバイス装置2がどの転送モードに対応するかを判定する処理中において、A/D変換回路20を介して入力されたUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定されたハイスピードモードを示す振幅値Vk1より小さい場合、後述するUSBデバイス装置2に対して同USBデバイス装置2のHSドライバ回路11aの駆動電流を上げるように制御する。
具体的には、転送モード判定処理中において、制御回路7は、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が減衰していると判定すると、USB2.0に規定されたコントロール転送によって、USBデバイス装置2のHSドライバ回路11aの駆動電流をその時のデバイス差動振幅値Dd1に基づいて上げるように、USBデバイス装置2に対してHSドライバ回路11aの駆動電流を上げるための信号を出力する。
なお、コントロール転送は、USB2.0に規定された標準デバイスリクエスト(標準リクエスト)、論理クラスによって特定された内容を持つもの(クラスリクエスト)、ベンダによって任意に決められたもの(ベンダーリクエスト)がある。本実施形態では、上記のようなUSBホスト装置1からUSBデバイス装置2への要求をベンダーリクエストとして予め設定し、その予め設定されたベンダーリクエストのコントロール転送を行っている。
また、制御回路7は、ハイスピードモードでのデータ転送処理中において、HSレシーバ回路13から入力されるHS受信データD3の時間当たりの転送エラー量が予め設定された時間当たりの転送エラー量E1以上の場合、USBデバイス装置2からの差動信号の振幅値(デバイス差動振幅値Dd1)が減衰し過ぎて転送エラーが生じたとして、まず、A/D変換回路20を介してUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1を入力する。なお、転送エラー量は、タイムアウト、パケットIDエラー、CRCエラーなどが発生した数をいう。
制御回路7は、ハイスピードモードでのデータ転送処理中において、そのデバイス差動振幅値Dd1が予め設定された振幅値Vk2以上か否かを判定する。つまり、制御回路7は、第1及び第2データ線DP,DMに出力される差動信号のデバイス差動振幅値Dd1が減衰してハイスピード転送を行うことができるか否かを判定する。
制御回路7は、ハイスピードモードでのデータ転送処理中において、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が減衰してハイスピード転送を行うことができないと判定すると、後述するUSBデバイス装置2に対して同USBデバイス装置2のHSドライバ回路11aの駆動電流を上げるように制御する。
詳しくは、制御回路7は、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が減衰していると判定すると、USB2.0に規定されたコントロール転送によって、USBデバイス装置2のHSドライバ回路11aの駆動電流をその時のデバイス差動振幅値Dd1に基づいて上げるように、USBデバイス装置2に対してHSドライバ回路11aの駆動電流を上げるための信号を出力する。
また、制御回路7は、ハイスピードモードでのデータ転送処理中において、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2以上の場合(デバイス差動振幅値Dd1が減衰していない場合)、USBデバイス装置2に対して、HSドライバ回路11を介して、USBホスト装置1からUSBデバイス装置2に出力した差動信号のホスト差動振幅値Dd2のデータ要求するHS送信データD1を出力する。
そして、制御回路7は、要求に応答してUSBデバイス装置2から、USBホスト装置1からの差動信号のホスト差動振幅値Dd2の信号をHS受信データD3として受信すると、そのホスト差動振幅値Dd2をマイクロコントローラ8に出力する。
マイクロコントローラ8は、制御回路7からホスト差動振幅値Dd2が入力される。マイクロコントローラ8は、ホスト差動振幅値Dd2を入力すると、そのホスト差動振幅値Dd2に応じて、HSドライバ回路11の駆動電流を変更するための駆動電流値DrをHSドライバ回路11に出力する。
すなわち、マイクロコントローラ8は、HSドライバ回路11から出力される差動信号の振幅値(ホスト差動振幅値Dd2)に応じて、HSドライバ回路11の駆動電流を大きくして差動信号のホスト差動振幅値Dd2を予め設定された振幅値Vk2以上になるように制御している。つまり、マイクロコントローラ8は、差動信号のホスト差動振幅値Dd2が低くて予め設定された振幅値Vk2との差が大きいほど、駆動電流値Drを大きくしてHSドライバ回路11の駆動電流の増加量を増大させている。反対に、マイクロコントローラ8は、差動信号のホスト差動振幅値Dd2が予め設定された振幅値Vk2より低く、且つ、その差が小さいほど、駆動電流値Drの増加量を小さくしてHSドライバ回路11の駆動電流の増加量を減少させている。
一方、USBデバイス装置2は、図3に示すように、インターフェース回路31、制御回路32、マイクロコントローラ33を有している。
インターフェース回路31は、USBホスト装置1のインターフェース回路6の構成から、プルダウン抵抗Rpdを無くし、プルアップ抵抗Rpu及びスイッチSW1を加えた構成になっている。このため、その他の構成は、USBホスト装置1のインターフェース回路6の符号に対してサフィックス「a」を付け、その説明を省略する。
インターフェース回路31は、USBホスト装置1のインターフェース回路6の構成から、プルダウン抵抗Rpdを無くし、プルアップ抵抗Rpu及びスイッチSW1を加えた構成になっている。このため、その他の構成は、USBホスト装置1のインターフェース回路6の符号に対してサフィックス「a」を付け、その説明を省略する。
プルアップ抵抗Rpu及びスイッチSW1の直列回路は、第1データ線DPと電源VBUSとの間に接続されている。USBデバイス装置2がUSBケーブル5を介してUSBホスト装置1に接続されると、制御回路32はスイッチSW1をオンさせて第1データ線DPを電源VBUSにプルアップする。そして、USBデバイス装置2がハイスピードモードになると、制御回路32はスイッチSW1をオフさせて第1データ線DPとプルアップ抵抗Rpuとを切断する。
制御回路32は、USB2.0に準拠したデータ転送のための種々の処理を行う。しかし、USBホスト装置1の制御回路7と異なり、制御回路32は、バスの調停、エラー処理や、接続されるUSBデバイス装置2がどの転送モードに対応しているかを判定する処理を行わない。
マイクロコントローラ33は、上記したUSBホスト装置1のマイクロコントローラ8の構成が同じになっている。
上述したようにUSB2.0は3種類の転送モードが規定されているため、USBホスト装置1は、接続されたUSBデバイス装置2がどの転送モードに対応しているかを判定する必要がある。そこで、USBデバイス装置2がUSBケーブル5を介してUSBホスト装置1に接続されると、USBホスト装置1は、USB2.0に規定されたUSBデバイス装置2との信号のやりとりを行い、USBデバイス装置2がどの転送モードに対応しているかを判定している。
上述したようにUSB2.0は3種類の転送モードが規定されているため、USBホスト装置1は、接続されたUSBデバイス装置2がどの転送モードに対応しているかを判定する必要がある。そこで、USBデバイス装置2がUSBケーブル5を介してUSBホスト装置1に接続されると、USBホスト装置1は、USB2.0に規定されたUSBデバイス装置2との信号のやりとりを行い、USBデバイス装置2がどの転送モードに対応しているかを判定している。
次に、USBホスト装置1にハイスピードモードに対応したUSBデバイス装置2が接続された場合について、USBケーブル5の第1及び第2データ線DP,DMの電位を示した図4、及び、図5のフローチャートに従って説明する。
まず、時刻t1において、USBデバイス装置2がUSBケーブル5を介してUSBホスト装置1に接続されると(ステップS1)、USBホスト装置1からUSBデバイス装置2に電源VBUSが供給される。USBデバイス装置2は、電源VBUSが供給されると、第1データ線DPを電源VBUSにプルアップする。
具体的には、USBデバイス装置2の制御回路32がスイッチSW1をオンして第1データ線DPにプルアップ抵抗Rpuが接続される。これにより、第1データ線DPが電源VBUSにプルアップされる。そして、USBホスト装置1の制御回路7は、電源VBUSにプルアップされた第1データ線DPの電圧値をA/D変換回路20にて検出することで、USBデバイス装置2がUSBケーブル5を介して接続されたことを判断する。
USBデバイス装置2がUSBケーブル5を介して接続されたことを判断すると(時刻t2)、USBホスト装置1の制御回路7は、USBケーブル5にバスリセット信号(SE0)を出力してバスリセットする(ステップS2)。バスリセット信号(SE0)は、第1及び第2データ線DP,DMをLレベルにする信号をいう。そして、USBデバイス装置2の制御回路32は、シングル・エンデット・レシーバ17a,18aを介してこのバスリセット信号(SE0)を検出して、バスリセットを認識してリセット状態に遷移する。
リセット状態に遷移すると(時刻t3)、USBデバイス装置2の制御回路32は、HSドライバ回路11aを介してチャープK信号をUSBホスト装置1に出力する。チャープK信号(ChirpK)は、第1データ線DPをLレベル、第2データ線DMをHレベルにする信号をいう。
USBデバイス装置2からチャープK信号が出力されると、USBホスト装置1のA/D変換回路20は、USBデバイス装置2から入力されるチャープK信号のデバイス差動振幅値Dd1を測定する(ステップS3)。A/D変換回路20は、測定したUSBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1を制御回路7に出力する。制御回路7は、そのチャープK信号のデバイス差動振幅値Dd1を制御回路7に内蔵されたメモリに記憶する。
次に、USBホスト装置1の制御回路7は、ステップ3において測定したチャープK信号のデバイス差動振幅値Dd1が予め設定されたハイスピードモードを示す振幅値Vk1以上か否かを判定する(ステップ4)。
USBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1がハイスピードモードを示す振幅値Vk1以上と判断すると(ステップ4でYES)、USBホスト装置1の制御回路7は、USBデバイス装置2がハイスピードモード対応のUSBデバイス装置と判断し、ステップS5に移り、ハイスピードモードの設定処理を実行する。
ハイスピードモード設定処理は、USBホスト装置1の制御回路7は、チャープK信号及びチャープJ信号を交互に3回ずつHSドライバ回路11を介してUSBデバイス装置2に出力する。なお、チャープJ信号(ChirpJ)は、第1データ線DPをHレベル、第2データ線DMをLレベルにする信号をいう。
このとき、USBデバイス装置2のA/D変換回路20aは、USBホスト装置1から入力されるチャープK信号及びチャープJ信号のホスト差動振幅値Dd2を測定し、その測定したホスト差動振幅値Dd2を制御回路32に出力する。制御回路32は、そのチャープK信号及びチャープJ信号のホスト差動振幅値Dd2を制御回路32に内蔵されたメモリに記憶する。
そして、USBホスト装置1から交互に3回ずつ出力されるチャープK信号及びチャープJ信号をHSレシーバ回路13aを介して入力すると(時刻t5)、USBデバイス装置2の制御回路32は、スイッチSW1をオフさせて第1データ線DPとプルアップ抵抗Rpuとを切断する。次にUSBデバイス装置2の制御回路32は、LS/FSドライバ回路12aを介してLレベルの信号を第1及び第2データ線DP,DMにそれぞれ出力して第1及び第2データ線DP,DMを終端抵抗Rsで終端させる。
一方、USBホスト装置1の制御回路7は、LS/FSドライバ回路12からLレベルの信号を第1及び第2データ線DP,DMにそれぞれ出力して第1及び第2データ線DP,DMを終端抵抗Rsで終端させる。
第1及び第2データ線DP,DMの両端が終端抵抗Rsで終端すると、USBホスト装置1の制御回路7は、HSドライバ回路11を介してUSBデバイス装置2にチャープK信号及びチャープJ信号を交互に一定回数出力する。このとき、USBホスト装置1のHSドライバ回路11から出力されるチャープK信号及びチャープJ信号は、USBホスト装置1及びUSBデバイス装置2の終端抵抗Rsで第1及び第2データ線DP,DMを終端することで、図4に示すようにその電圧値が低下している。
そして、USBデバイス装置2のA/D変換回路20aは、USBホスト装置1から入力されるこのチャープK信号及びチャープJ信号のホスト差動振幅値Dd2を測定し、その測定したホスト差動振幅値Dd2を制御回路32に出力する。制御回路32は、そのチャープK信号及びチャープJ信号のホスト差動振幅値Dd2を制御回路32に内蔵されたメモリに記憶する。
従って、制御回路32に内蔵されたメモリには、第1及び第2データ線DP,DMの両端を終端抵抗Rsで終端する前後におけるチャープK信号及びチャープJ信号のホスト差動振幅値Dd2が記憶される。
そして、第1及び第2データ線DP,DMの両端を終端抵抗Rsで終端するとともに、第1及び第2データ線DP,DMの両端を終端抵抗Rsで終端する前後におけるチャープK信号及びチャープJ信号のホスト差動振幅値Dd2を記憶すると、ハイスピードモード転送処理を完了し、時刻t6においてUSBホスト装置1及びUSBデバイス装置2はハイスピード転送を開始する(ステップS6)。
尚、ステップ4において、USBホスト装置1の制御回路7がUSBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1がハイスピードモードを示す振幅値Vk1未満と判定したとき(ステップ4でNO)、USBホスト装置1の制御回路7は、USBデバイス装置2のHSドライバ回路11aの駆動電流を調整した回数が予め設定された回数C1以上か否かを判定するようになっている(ステップS7)。
この時点では、HSドライバ回路11aの駆動電流を調整した回数は「0」なので(ステップS7でNO)、USBホスト装置1の制御回路7は、ステップS3においてメモリに記憶したUSBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1を読み出し、USB2.0に規定されたコントロール転送によって、USBデバイス装置2のHSドライバ回路11aの駆動電流をデバイス差動振幅値Dd1に基づいて変更する(ステップS8)。
詳しくは、コントロール転送は、USBホスト装置1が、セットアップトランザクション、データトランザクション、ステータストランザクションの順で出力し、USBデバイス装置2のコントロール、又は、USBデバイス装置2の情報収集をすることができる。
具体的には、まず、セットアップトランザクションにおいて、ベンダーリクエストのコントロール転送を行うため、USBホスト装置1の制御回路7は、ベンダーリクエストを選択する「2」のリクエストタイプフィールド、及び、予め設定されたUSBデバイス装置2のHSドライバ回路11aの駆動電流を変更するためのデバイスリクエストを含むパケットをLS/FSドライバ回路12を介してUSBデバイス装置2に出力する。このパケットをLS/FSレシーバ回路14aを介して入力すると、USBデバイス装置2の制御回路32は、USBデバイス装置2のHSドライバ回路11aの駆動電流を変更するためのデバイスリクエストを認識する。
次に、データトランザクションにおいて、USBホスト装置1の制御回路7は、ステップ3において測定されたUSBデバイス装置2からのチャープKのデバイス差動振幅値Dd1を含む予め設定したフォーマットのパケットを、LS/FSドライバ回路12を介してUSBデバイス装置2に出力する。このパケットをLS/FSレシーバ回路14aを介して入力すると、USBデバイス装置2の制御回路32は、ステップ3において測定されたUSBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1をマイクロコントローラ33に出力する。
マイクロコントローラ33は、ステップ3において測定されたUSBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1に応じた駆動電流値DrをHSドライバ回路11aに出力し、HSドライバ回路11aの駆動電流を変更する。
続いて、ステータストランザクションにおいて、USBデバイス装置2の制御回路32は、HSドライバ回路11aの駆動電流の変更が成功したか否かを示すパケットを、LS/FSドライバ回路12aを介してUSBホスト装置1に出力する。本実施形態では、HSドライバ回路11aの駆動電流の変更が成功したか否かを示すパケットは、USB2.0に規定されているACKなどのハンドシェイクパケットを使用している。
ステップS8において、USBデバイス装置2のHSドライバ回路11aの駆動電流をデバイス差動振幅値Dd1に基づいて変更すると、ステップS2に移り、前記と同様な処理を実行する。つまり、USBデバイス装置2がハイスピードモード対応のデバイスであるにも拘わらず、チャープK信号が第1及び第2データ線DP,DMで大きく減衰してチャープK信号のデバイス差動振幅値Dd1がハイスピードモードを示す振幅値Vk1未満になったものと判断し、USBデバイス装置2のHSドライバ回路11aの駆動能力を上げてリトライを行う。
そして、USBデバイス装置2のHSドライバ回路11aの駆動能力を上げてリトライを行って、USBデバイス装置2からのチャープK信号のデバイス差動振幅値Dd1がハイスピードモードを示す振幅値Vk1以上になると(ステップS4でYES)、USBホスト装置1の制御回路7は、USBデバイス装置2がハイスピードモード対応のデバイスと判断し、ステップS5に移り、ハイスピードモードの設定処理を実行する。
一方、リトライする回数が、即ち、HSドライバ回路11aの駆動電流を調整した回数が予め設定された回数C1以上になると(ステップS7でYES)、USBホスト装置1の制御回路7は、USBデバイス装置2がハイスピードモード対応のデバイスではないと判断し、HSドライバ回路11aの駆動電流の調整を中止する。このため、USBホスト装置1の制御回路7は、バスリセット信号をUSBケーブル5に出力してバスリセットする。そして、USBホスト装置1の制御回路7は処理を終了し、USBホスト装置1とUSBデバイス装置2との間でフルスピード転送を開始するための処理に移行するようになっている。
そして、USBホスト装置1とUSBデバイス装置2との間において、ハイスピードモードでデータ転送が行われているとき(ステップS6)、USBホスト装置1の制御回路7は、時間当たりの転送エラー量を監視して予め設定された時間当たりの転送エラー量E1以上か否かを判定する(ステップS9)。時間当たりの転送エラー量が予め設定された時間あたりの転送エラー量E1未満の場合(ステップS9でNO)、引き続き、USBホスト装置1及びUSBデバイス装置2はハイスピード転送を継続する。
すなわち、USBホスト装置1の制御回路7は、転送エラーが予め設定された時間当たりの転送エラー量より少なく正常にハイスピード転送を行われているため、このままハイスピード転送を継続している。
反対に、時間当たりの転送エラー量が予め設定された時間あたりの転送エラー量E1以上の場合(ステップS9でYES)、USBホスト装置1の制御回路7は、差動信号が第1及び第2データ線DP,DMで大きく減衰して正常にハイスピード転送ができなくなってきていると判断して、USBホスト装置1及びUSBデバイス装置2のHSドライバ回路11,11aの駆動電流を調整した回数が予め設定された回数C2未満か否かを判定する(ステップS10)。
この時点では、HSドライバ回路11,11aの駆動電流を調整した回数が「0」なので(ステップS10でYES)、USBホスト装置1の制御回路7は、A/D変換回路20を介してUSBデバイス装置2から入力される差動信号のデバイス差動振幅値Dd1を測定する(ステップS11)。
続いて、USBホスト装置1の制御回路7は、測定したUSBデバイス装置2から入力される差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2以上か否かを判定する(ステップS12)。そして、USBデバイス装置2から入力される差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2未満の場合(ステップ12でNO)、USBホスト装置1の制御回路7は、何らかの原因で差動信号が大きく減衰して差動信号のデバイス差動振幅値Dd1が振幅値Vk2未満になって転送エラーが生じていると判断し、USB2.0の規定されたコントロール転送によって、USBデバイス装置2のHSドライバ回路11aの駆動電流を変更する処理を実行する(ステップS13)。
具体的には、まず、セットアップトランザクションにおいて、ベンダーリクエストのコントロール転送を行うため、USBホスト装置1の制御回路7は、ベンダーリクエストを選択する「2」のリクエストタイプフィールド、及び、予め設定されたUSBデバイス装置2のHSドライバ回路11aの駆動電流を変更するためのデバイスリクエストを含むパケットをUSBデバイス装置2に出力する。このパケットをHSレシーバ回路13aを介して入力すると、USBデバイス装置2の制御回路32は、USBデバイス装置2のHSドライバ回路11aの駆動電流を変更するためのデバイスリクエストを認識する。
次に、データトランザクションにおいて、USBホスト装置1の制御回路7は、ステップ11において測定されたUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1を含む予め設定したフォーマットのパケットを、HSドライバ回路11を介してUSBデバイス装置2に出力する。このパケットをHSレシーバ回路13aを介して入力すると、USBデバイス装置2の制御回路32は、ステップ11において測定されたUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1をマイクロコントローラ33に出力する。
マイクロコントローラ33は、ステップ11において測定されたUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1に応じた駆動電流値DrをHSドライバ回路11aに出力する。HSドライバ回路11aは、マイクロコントローラ33からの駆動電流値Drに応じて駆動電流を上げる(ステップS13)。
そして、USBホスト装置1の制御回路7はステップS6に移行し、USBホスト装置1及びUSBデバイス装置2との間でハイスピード転送を継続する。
すなわち、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2より小さい場合には、HSドライバ回路11aの駆動電流を上げることで、正常なデータ転送を行うことができる可能性がある。そこで、USBホスト装置1の制御回路7は、HSドライバ回路11aの駆動電流を調整して上げている。
すなわち、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2より小さい場合には、HSドライバ回路11aの駆動電流を上げることで、正常なデータ転送を行うことができる可能性がある。そこで、USBホスト装置1の制御回路7は、HSドライバ回路11aの駆動電流を調整して上げている。
一方、ステップS11において、測定したUSBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2以上の場合(ステップS12でYES)、USBホスト装置1の制御回路7は、USB2.0に規定されたコントロール転送を用いて、上記のUSBデバイス装置2にUSBホスト装置1からの差動信号のホスト差動振幅値Dd2を要求する(ステップS14)。
詳述すると、まず、セットアップトランザクションにおいて、ベンダーリクエストのコントロール転送を行うため、USBホスト装置1の制御回路7は、ベンダーリクエストを選択する「2」のリクエストタイプフィールド、及び、予め設定されたUSBホスト装置1からの差動信号のホスト差動振幅値Dd2を要求するためのデバイスリクエストを含むパケットをUSBデバイス装置2に出力する。このパケットをHSレシーバ回路13aを介して入力すると、USBデバイス装置2の制御回路32は、USBホスト装置1からの差動信号のホスト差動振幅値Dd2を要求するためのデバイスリクエストを認識する。
次に、データトランザクションにおいて、USBデバイス装置2の制御回路32は、メモリに記憶されたUSBホスト装置1からの差動信号のホスト差動振幅値Dd2を含む予め設定したフォーマットのパケットを、HSドライバ回路11aを介してUSBホスト装置1に出力する。USBホスト装置1の制御回路7は、上記のパケットをHSレシーバ回路13を介して入力する。
換言すると、USBホスト装置1の制御回路7は、ステップS11においてUSBデバイス装置2のHSドライバ回路11aから出力される差動信号のデバイス差動振幅値Dd1は正常であって問題がないと判定した。このため、USBホスト装置1の制御回路7は、USBホスト装置1からUSBデバイス装置2に送信する差動信号が大きく減衰してその差動信号のデバイス差動振幅値Dd1が振幅値Vk2未満になって転送エラーが生じていると判断し、USBホスト装置1のHSドライバ回路11の駆動電流の調整を行う処理に移行する。
そして、USBホスト装置1からの差動信号のホスト差動振幅値Dd2をUSBデバイス装置2に要求してから予め設定された時間経過した後、USBホスト装置1の制御回路7は、要求したデータを受信したか否かを判定する(ステップS15)。
そして、要求したデータを予め設定された時間以内に受信した場合(ステップS15でYES)、USBホスト装置1の制御回路7は、入力したUSBホスト装置1からの差動信号のホスト差動振幅値Dd2をマイクロコントローラ8に出力する。マイクロコントローラ8は、USBホスト装置1からの差動信号のホスト差動振幅値Dd2を入力すると、このホスト差動振幅値Dd2に応じた駆動電流値DrをHSドライバ回路11に出力する。HSドライバ回路11は、マイクロコントローラ8からの駆動電流値Drに応じて駆動電流を上げる(ステップS16)。
そして、USBホスト装置1の制御回路7は、ステップS6に移行し、USBホスト装置1及びUSBデバイス装置2との間でハイスピード転送を継続する。すなわち、USBホスト装置1からの差動信号のホスト差動振幅値Dd2が何らかの原因で振幅値Vk2より小さくなった場合には、HSドライバ回路11の駆動電流を上げることで、正常なデータ転送を行うことができることから、USBホスト装置1の制御回路7は、HSドライバ回路11の駆動電流を調整して上げている。
一方、予め設定された時間以内に要求したデータを受信することができないと(ステップS15でNO)、USBホスト装置1の制御回路7は、最小値のホスト差動振幅値Dd2をマイクロコントローラ8に出力する。マイクロコントローラ8は、最小値のホスト差動振幅値Dd2を入力すると、HSドライバ回路11の駆動電流を規格範囲の最大値まで上げる駆動電流値DrをHSドライバ回路11に出力する。HSドライバ回路11は、マイクロコントローラ8からの駆動電流値Drに応じて駆動電流を規格範囲の最大値まで上げる(ステップS17)。そして、USBホスト装置1及びUSBデバイス装置2は、ステップS10に移行する。
つまり、ベンダーリクエストのコントロール転送において、USBホスト装置1の制御回路7は、予め設定された時間経過しても要求したデータを受信することができないと、HSドライバ回路11を介してパケットをUSBデバイス装置2に正常にデータ転送することができなかったと判定する。USBホスト装置1の制御回路7は、正常なデータ転送をするためにHSドライバ回路11の駆動電流をどれだけ上げれば良いか認識することができないと判断して、HSドライバ回路11の駆動電流を規格範囲の最大値まで一回上げてから、HSドライバ回路11の駆動電流の調整を再度行うようになっている。
尚、ステップS10において、HSドライバ回路11,11aの駆動電流を調整した回数が予め設定された回数C2以上になると(ステップS10でNO)、USBホスト装置1の制御回路7は、HSドライバ回路11,11aの駆動電流の調整を中止する。このため、USBホスト装置1の制御回路7は、バスリセット信号をUSBケーブル5に出力してバスリセットする。そして、USBホスト装置1の制御回路7は処理を終了し、USBホスト装置1とUSBデバイス装置2との間でフルスピード転送を開始するための処理に移行する。
換言すると、HSドライバ回路11,11aの駆動電流を予め設定された回数C2調整しても、転送エラーが予め設定された転送エラー量E1より少なくならなかった。USBホスト装置1の制御回路7は、USBホスト装置1とUSBデバイス装置2との間でデータ転送を正常に行うことができないため、ハイスピード転送をあきらめてフルスピード転送を開始する。
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)USBホスト装置1に、A/D変換回路20を設け、そのA/D変換回路20にて、USBデバイス装置2から第1及び第2データ線DP,DMに出力される差動信号のデバイス差動振幅値Dd1を測定するようにした。
(1)USBホスト装置1に、A/D変換回路20を設け、そのA/D変換回路20にて、USBデバイス装置2から第1及び第2データ線DP,DMに出力される差動信号のデバイス差動振幅値Dd1を測定するようにした。
また、USBホスト装置1の制御回路7は、デバイス差動振幅値Dd1がハイスピードモードでデータ転送できないほど減衰したとき、USBデバイス装置2から出力される差動信号のデバイス差動振幅値Dd1が、ハイスピードモードでデータ転送できるように予め設定された振幅値以上になるように、USBデバイス装置2に対してHSドライバ回路11aの駆動電流を上げるための信号を出力するようにした。
そして、USBデバイス装置2のマイクロコントローラ33が、測定したUSBホスト装置1からの駆動電流を上げるための信号に応答して、差動信号のデバイス差動振幅値Dd1をハイスピードモードでデータ転送できるように調整して予め設定された振幅値以上にすることができ、USBホスト装置1とUSBデバイス装置2との間でハイスピード転送を行うことができる。
従って、終端抵抗RsやHSドライバ回路11,11aの駆動電流のずれが原因で差動信号が減衰している場合でも、差動信号の振幅値(デバイス差動振幅値Dd1)が予め設定された振幅値以上にすることができ、USBホスト装置1とUSBデバイス装置2との間でハイスピード転送を行うことができる。
(2)また、USBデバイス装置2に、A/D変換回路20aを設け、そのA/D変換回路20aにて、USBホスト装置1から第1及び第2データ線DP,DMに出力される差動信号のホスト差動振幅値Dd2を測定するようにした。また、USBデバイス装置2の制御回路32は、USBホスト装置1から出力した差動信号のホスト差動振幅値Dd2のデータ要求があったとき、USBホスト装置1に対してホスト差動振幅値Dd2のデータを出力するようにした。
そして、USBホスト装置1のマイクロコントローラ8は、USBデバイス装置2からのホスト差動振幅値Dd2に基づいて、USBホスト装置1から出力される差動信号のホスト差動振幅値Dd2をハイスピードモードでデータ転送できるように、調整するようにした。
従って、終端抵抗RsやHSドライバ回路11の駆動電流のずれが原因で差動信号が減衰している場合でも、差動信号の振幅値(ホスト差動振幅値Dd2)が予め設定された振幅値以上にすることができ、USBホスト装置1とUSBデバイス装置2との間でハイスピード転送を行うことができる。
(3)USBホスト装置1に接続されるUSBデバイス装置2の転送モードを判定する処理において、A/D変換回路20,20aが、第1及び第2データ線DP,DMを介して入力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を測定するようにした。つまり、ハイスピード転送及びフルスピード転送より遅い転送速度において、A/D変換回路20,20aが第1及び第2データ線DP,DMを介して入力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を測定することができる。従って、A/D変換回路20,20aは、簡単な回路構成で第1及び第2データ線DP,DMを介して入力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を容易に測定することができる。
尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態において、HSドライバ回路11,11aの駆動電流を変更することで、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を上げていた。これに限らず、終端抵抗Rsの抵抗値を変更することで、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を上げてもよい。
・本実施形態において、HSドライバ回路11,11aの駆動電流を変更することで、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を上げていた。これに限らず、終端抵抗Rsの抵抗値を変更することで、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)を上げてもよい。
例えば、終端抵抗Rsは、抵抗とスイッチよりなる直列回路が並列に複数接続されて構成され、駆動電流値Drに応じて、その抵抗値を変更する。終端抵抗Rsは、入力された駆動電流値Drに応じて、スイッチをオン・オフすることでその抵抗値を変更している。
つまり、終端抵抗Rsは、駆動電流値Drが大きいほど、スイッチをオンする数が多くなって並列接続する抵抗の数が多くなる。これにより、終端抵抗Rsの抵抗値が小さくなる。終端抵抗Rsは、駆動電流値Drが小さいほど、スイッチをオンする数が少なくなって並列接続する抵抗の数が少なくなる。これにより、終端抵抗Rsの抵抗値が大きくなる。
さらに、HSドライバ回路11,11aの駆動電流を変更してから終端抵抗Rsの抵抗値を変更するような構成や、終端抵抗Rsの抵抗値を変更してからHSドライバ回路11,11aの駆動電流を変更するような構成にしてもよい。従って、HSドライバ回路11,11aの駆動電流を変更する場合と比較して、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)をより上げることができる。この結果、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1,ホスト差動振幅値Dd2)が大きく減衰してもハイスピード転送を行うことができる。
・本実施形態では、A/D変換回路20が、USBデバイス装置2から第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定してデバイス差動振幅値Dd1を生成していた。また、A/D変換回路20aが、USBホスト装置1から第1及び第2データ線DP,DMに出力される差動信号の振幅値(ホスト差動振幅値Dd2)を測定して対応するホスト差動振幅値Dd2を生成していた。
これに限らず、USB2.0の規定されたノイズ検出回路15a、切断検出回路16a、シングル・エンデット・レシーバ17a,18aや、新たに追加したコンパレータ回路の閾値により、第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定し、その測定結果に基づいて制御回路7がデバイス差動振幅値Dd1を生成してもよい。また、USB2・0の規定されたノイズ検出回路15、切断検出回路16、シングル・エンデット・レシーバ17,18や、新たに追加したコンパレータ回路の閾値により、第1及び第2データ線DP,DMに出力される差動信号の振幅値(ホスト差動振幅値Dd2)を測定し、その測定結果に基づいて制御回路32がホスト差動振幅値Dd2を生成してもよい。
従って、USBホスト装置1及びUSBデバイス装置2は、A/D変換回路20,20aの回路分、回路規模を縮小することができる。
・本実施形態では、A/D変換回路20は、USBデバイス装置2から第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定してデバイス差動振幅値Dd1を生成していた。また、A/D変換回路20aは、USBホスト装置1から第1及び第2データ線DP,DMに出力される差動信号の振幅値(ホスト差動振幅値Dd2)を測定してホスト差動振幅値Dd2を生成していた。
・本実施形態では、A/D変換回路20は、USBデバイス装置2から第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定してデバイス差動振幅値Dd1を生成していた。また、A/D変換回路20aは、USBホスト装置1から第1及び第2データ線DP,DMに出力される差動信号の振幅値(ホスト差動振幅値Dd2)を測定してホスト差動振幅値Dd2を生成していた。
これに限らず、A/D変換回路20は、HSドライバ回路11から第1及び第2データ線DP,DMに出力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定する。マイクロコントローラ8は、その測定結果に基づいてHSドライバ回路11の駆動能力を変更してもよい。また、A/D変換回路20aは、HSドライバ回路11aから第1及び第2データ線DP,DMに出力される差動信号の振幅値(ホスト差動振幅値Dd2)を測定する。マイクロコントローラ33は、その測定結果に基づいてHSドライバ回路11aの駆動能力を変更してもよい。
・本実施形態では、ハイスピードモードでのデータ転送処理中において、時間あたりの転送エラー量が予め設定された転送エラー量E1以上になり、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1が予め設定された振幅値Vk2未満の場合、USBホスト装置1の制御回路7は、A/D変換回路20を介してUSBデバイス装置2から入力される差動信号の振幅値(デバイス差動振幅値Dd1)を測定していた。
これに限らず、USBホスト装置1の制御回路7は、USBデバイス装置2からの差動信号の振幅値(デバイス差動振幅値Dd1)を測定することが容易なデータ(例えば、「0」、「1」の変化をなるべく少なくしたパターンのデータ)を送信するよう、USBデバイス装置2に要求してもよい。これにより、A/D変換回路20は、簡単な回路構成でUSBデバイス装置2からの差動信号の振幅値(デバイス差動振幅値Dd1)を容易に測定することができる。
・本実施形態では、ハイスピードモードでのデータ転送処理中において、時間あたりの転送エラー量が予め設定された転送エラー量E1以上になると、USBデバイス装置2からの差動信号の振幅値(デバイス差動振幅値Dd1)が予め設定された振幅値Vk2以上の場合、マイクロコントローラ8は、USBホスト装置1のHSドライバ回路11aの駆動能力を変更していた。
これに限らず、ハイスピードモードでのデータ転送処理中において、時間あたりの転送エラー量が予め設定された転送エラー量E1以上になると、まず、マイクロコントローラ8は、USBホスト装置1のHSドライバ回路11aの駆動能力を変更してもよい。
・本実施形態では、ハイスピードモードでのデータ転送処理中において、時間あたりの転送エラー量の検出前に、USBホスト装置1からの差動信号の振幅値(ホスト差動振幅値Dd2)、及び、USBデバイス装置2からの差動信号の振幅値(デバイス差動振幅値Dd1)を測定していた。
これに限らず、時間あたりの転送エラー量の検出後に、USBデバイス装置2からの差動信号のデバイス差動振幅値Dd1、及び、USBホスト装置1からの差動信号のホスト差動振幅値Dd2を測定してもよい。これにより、マイクロコントローラ8は、デバイス差動振幅値Dd1及びホスト差動振幅値Dd2の最新の測定値に基づいて、HSドライバ回路11,11aの駆動能力を変更することができる。
1 USBホストのインターフェース装置(USBホスト装置)
2 USBデバイスのインターフェース装置(USBデバイス装置)
5 シリアルバス(USBケーブル)
8,33 制御部(マイクロコントローラ)
11,11a ドライバ回路(HSドライバ回路)
20,20a 測定部(A/D変換回路)
Rs 終端抵抗
Dd1,Dd2 振幅値(デバイス差動振幅値,ホスト差動振幅値)
2 USBデバイスのインターフェース装置(USBデバイス装置)
5 シリアルバス(USBケーブル)
8,33 制御部(マイクロコントローラ)
11,11a ドライバ回路(HSドライバ回路)
20,20a 測定部(A/D変換回路)
Rs 終端抵抗
Dd1,Dd2 振幅値(デバイス差動振幅値,ホスト差動振幅値)
Claims (7)
- インターフェース装置がシリアルバスを介してデータ転送を行う通信制御方法であって、
一方のインターフェース装置がドライバ回路を介してデータを他方のインターフェース装置に送信する工程と、
前記他方のインターフェース装置が前記データを受信し、受信した前記データの振幅値を測定する工程と、
前記他方のインターフェース装置が測定した前記データの振幅値に応じて、前記ドライバ回路の駆動電流を制御して前記データの振幅値を変更する工程と
を有することを特徴とする通信制御方法。 - インターフェース装置が終端抵抗で終端されたシリアルバスを介してデータ転送を行う通信制御方法であって、
一方のインターフェース装置がデータを他方のインターフェース装置に送信する工程と、
前記他方のインターフェース装置が前記データを受信し、受信した前記データの振幅値を測定する工程と、
前記他方のインターフェース装置が測定した前記データの振幅値に応じて、前記シリアルバスを終端する終端抵抗の抵抗値を制御して前記データの振幅値を変更する工程と
を有することを特徴とする通信制御方法。 - 請求項1又は2に記載の通信制御方法であって、
第1の転送速度と、該第1の転送速度よりも遅い第2の転送速度とでデータ転送を行い、
第2の転送速度でデータ転送を行う期間に、前記他方のインターフェース装置が前記一方のインターフェース装置からの前記データの振幅値を測定することを特徴とする通信制御方法。 - 請求項1〜3のいずれか1つに記載の通信制御方法であって、
前記シリアルバスはUSBであることを特徴とする通信制御方法。 - 請求項4に記載の通信制御方法であって、
前記第2の転送速度で前記データの送受信を行う期間は、
USBホストの前記インターフェース装置がUSBデバイスの前記インターフェース装置の接続を検出する期間であり、
前記シリアルバスを介して受信した前記データは、
チャープ信号であることを特徴とする通信制御方法。 - シリアルバスを介してデータ転送を行うインターフェース装置であって、
他のインターフェース装置に送信データを出力するとともに、その送信データの振幅値を駆動電流にて制御するドライバ回路と、
前記他のインターフェース装置から前記シリアルバスを介して受信した受信データの振幅値を測定する測定部と、
前記他のインターフェース装置の測定部が測定した前記送信データの振幅値に応じて、前記ドライバ回路の駆動電流を制御する制御部と
を有することを特徴とするインターフェース装置。 - USBを介してデータ転送を行うインターフェース装置であって、
他のインターフェース装置に送信データを出力するとともに、その送信データの振幅値を駆動電流又は前記USBを終端する終端抵抗の抵抗値にて制御するドライバ回路と、
前記他のインターフェース装置から前記USBを介して受信したチャープ信号の振幅値を測定する測定部と、
前記他のインターフェース装置の測定部が測定した前記チャープ信号の振幅値を記憶し、前記チャープ信号の振幅値が低下してフルスピード転送を開始すると、又は、ハイスピード転送において送信データの振幅値が低下すると、その記憶した前記他のインターフェース装置の測定部が測定した前記チャープ信号の振幅値に応じて、前記ドライバ回路の駆動電流又は前記USBを終端する終端抵抗の抵抗値を制御する制御部と
を有することを特徴とするインターフェース装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009140205A JP2010287035A (ja) | 2009-06-11 | 2009-06-11 | 通信制御方法及びインターフェース装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009140205A JP2010287035A (ja) | 2009-06-11 | 2009-06-11 | 通信制御方法及びインターフェース装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010287035A true JP2010287035A (ja) | 2010-12-24 |
Family
ID=43542686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009140205A Pending JP2010287035A (ja) | 2009-06-11 | 2009-06-11 | 通信制御方法及びインターフェース装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010287035A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042976A2 (ko) * | 2011-09-21 | 2013-03-28 | 포항공과대학교 산학협력단 | 유에스비 주변 장치 및 그의 송신 전력 감소 방법 |
CN105247499A (zh) * | 2013-06-20 | 2016-01-13 | 苹果公司 | 恢复设备间高速通信的系统和方法 |
JP2016511568A (ja) * | 2013-01-24 | 2016-04-14 | 日本テキサス・インスツルメンツ株式会社 | 信号コンディショナー |
US10419247B2 (en) | 2017-08-29 | 2019-09-17 | Seiko Epson Corporation | Transmission circuit, integrated circuit device and electronic device |
CN113971147A (zh) * | 2020-07-22 | 2022-01-25 | 精工爱普生株式会社 | 电路装置、电子设备以及移动体 |
-
2009
- 2009-06-11 JP JP2009140205A patent/JP2010287035A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103827768B (zh) * | 2011-09-21 | 2016-08-17 | 浦项工科大学校产学协力团 | Usb外围设备以及其的传输功率降低方法 |
KR101268852B1 (ko) | 2011-09-21 | 2013-05-29 | 포항공과대학교 산학협력단 | 유에스비 주변 장치 및 그의 송신 전력 감소 방법 |
WO2013042976A3 (ko) * | 2011-09-21 | 2013-06-13 | 포항공과대학교 산학협력단 | 유에스비 주변 장치 및 그의 송신 전력 감소 방법 |
CN103827768A (zh) * | 2011-09-21 | 2014-05-28 | 浦项工科大学校产学协力团 | Usb外围设备以及其的传输功率降低方法 |
JP2014532215A (ja) * | 2011-09-21 | 2014-12-04 | ポステック アカデミー‐インダストリー ファウンデーション | ユーエスビー周辺装置およびその送信電力低減方法 |
US9423861B2 (en) | 2011-09-21 | 2016-08-23 | Postech Academy-Industry Foundation | USB peripheral apparatus and transmission power reduction method thereof |
WO2013042976A2 (ko) * | 2011-09-21 | 2013-03-28 | 포항공과대학교 산학협력단 | 유에스비 주변 장치 및 그의 송신 전력 감소 방법 |
JP2016511568A (ja) * | 2013-01-24 | 2016-04-14 | 日本テキサス・インスツルメンツ株式会社 | 信号コンディショナー |
CN105247499A (zh) * | 2013-06-20 | 2016-01-13 | 苹果公司 | 恢复设备间高速通信的系统和方法 |
JP2016527742A (ja) * | 2013-06-20 | 2016-09-08 | アップル インコーポレイテッド | デバイス間でのより高速の通信を回復するためのシステム及び方法 |
US10419247B2 (en) | 2017-08-29 | 2019-09-17 | Seiko Epson Corporation | Transmission circuit, integrated circuit device and electronic device |
CN113971147A (zh) * | 2020-07-22 | 2022-01-25 | 精工爱普生株式会社 | 电路装置、电子设备以及移动体 |
US20220027304A1 (en) * | 2020-07-22 | 2022-01-27 | Seiko Epson Corporation | Circuit device, electronic apparatus, and vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8176227B2 (en) | Method and system for high-speed detection handshake in universal serial bus based data communication system | |
JP5055489B2 (ja) | 通信バス用双方向単線式割り込みライン | |
US11704274B2 (en) | System, apparatus and method for extended communication modes for a multi-drop interconnect | |
CN106462526B (zh) | 用于多主总线协议的方法及装置 | |
US20120290761A1 (en) | USB Converter and Related Method | |
JP2007193796A (ja) | Usb装置及びusb装置を含むデータ処理システム | |
US20050080935A1 (en) | Device-side controller, host-side controller, communication controller, USB system, and packet communications method | |
CA2880979C (en) | Usb 3.0 link layer timer adjustment to extend distance | |
US20110087914A1 (en) | I2c buffer clock delay detection method | |
JP2010287035A (ja) | 通信制御方法及びインターフェース装置 | |
WO2005013085A2 (en) | Usb extender | |
CN109714235B (zh) | 一种无极性rs485通信接口及实现无极性rs485通信的方法 | |
US20210390074A1 (en) | Interface device and method of operating the same | |
US20130254440A1 (en) | Devices and methods for transmitting usb termination signals over extension media | |
JP4071117B2 (ja) | 送受信回路及び送受信方法並びに送受信装置 | |
JP3655211B2 (ja) | 送受信回路及び送受信方法 | |
EP2972919B1 (en) | Devices and methods for enabling usb communication over extension media | |
JP2011215855A (ja) | Usbデバイス制御回路、及びusbデバイスの制御方法 | |
TWI741417B (zh) | 積體電路匯流排即時偵測連接狀態的裝置及方法 | |
WO2021150653A1 (en) | Eusb2 to usb 2.0 data transmission with surplus sync bits | |
US20140258584A1 (en) | Bus relay apparatus, integrated circuit apparatus, cable, connector, electronic appliance, and bus relay method | |
JP2006227867A (ja) | Usbデバイスおよびusbホスト | |
EP2043304B1 (en) | Method for optimizing the amplitude of a communication signal | |
EP2936760B1 (en) | Devices and methods for transmitting usb termination signals over extension media | |
US20120119789A1 (en) | Peak Detector Extension System |