JP5700514B2 - 通信速度制御装置および通信速度制御方法 - Google Patents

通信速度制御装置および通信速度制御方法 Download PDF

Info

Publication number
JP5700514B2
JP5700514B2 JP2010240267A JP2010240267A JP5700514B2 JP 5700514 B2 JP5700514 B2 JP 5700514B2 JP 2010240267 A JP2010240267 A JP 2010240267A JP 2010240267 A JP2010240267 A JP 2010240267A JP 5700514 B2 JP5700514 B2 JP 5700514B2
Authority
JP
Japan
Prior art keywords
specific information
communication
mode
external device
speed
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
Application number
JP2010240267A
Other languages
English (en)
Other versions
JP2012093926A (ja
Inventor
隆彦 宮野
隆彦 宮野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2010240267A priority Critical patent/JP5700514B2/ja
Priority to US13/184,063 priority patent/US8578065B2/en
Publication of JP2012093926A publication Critical patent/JP2012093926A/ja
Application granted granted Critical
Publication of JP5700514B2 publication Critical patent/JP5700514B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、通信速度制御装置および通信速度制御方法に関し、特に、ホストコンピュータと外部デバイスとの間で行われるデータ通信の速度を制御する技術に関するものである。
従来、パーソナルコンピュータやナビゲーション装置などのホストコンピュータと、外部デバイスとしての各種の周辺機器とを接続してデータ通信を行うための規格として、USB(Universal Serial Bus)が普及している。例えばUSB2.0では、通信速度が早い順にハイスピードモード(以下、HSモードという)、フルスピードモード(以下、FSモードという)、ロースピードモード(以下、LSモードという)の3種類の通信速度が決められている。
USB2.0に対応したホストコンピュータ(以下、USBホストという)および外部デバイス(以下、USBデバイスという)は、これら3種類の通信速度の何れかでデータ通信を行うことができる。一般に、USBホストは、USBデバイスの接続を検出すると、バスをリセット状態(D+とD−という2つの信号線を両方ともローレベルとする状態)にした後、Chirpと呼ばれるハンドシェイク処理を実行し、通信速度を決定する。このとき、HSモード対応のUSBデバイスが接続された場合には通信速度はHSとなり、FSモード対応のUSBデバイスが接続された場合には通信速度がFSとなる。
通信速度の決定後、USBホストがUSBデバイスから初期化に必要な情報を取得し、USBデバイスを使用できるように処理を実行する。その後、USBホストおよびUSBデバイスはデータのやり取りを行う。USBのデータ転送方式には、コントロール転送、インタラプト転送、バルク転送、アイソクロナス転送の4種類がある。
コントロール転送は、USBデバイスの基本的な制御を行うための転送方式であり、USBデバイスを認識する際などに使用する。インタラプト転送は、データ量が多くないデータを周期的に転送するための方式であり、主にマウスやキーボードといったUSBデバイスと通信する際に使用する。バルク転送は、大量のデータを転送するための方式であり、主にハードディスクのような記憶装置のデータをやり取りする際に使用する。アイソクロナス転送は、データをリアルタイムに転送するための方式であり、主に音楽データや映像データをストリーミング再生する際に使用する。
なお、USB2.0の通常の仕様では、HSモードまたはFSモードのUSBデバイスとしてUSBホストに認識されると、リセットをかけるか、再接続するまでは、通信速度の変更は行われない。これに対して、HSモードとFSモードとを切り替えられるようにした技術が提案されている(例えば、特許文献1〜4参照)。
特許文献1には、転送するデータの容量や携帯電子機器の電池残量に応じてHSモードとFSモードとを切り替えることが開示されている。特許文献2には、ユーザが切り替えスイッチを操作することによって通信速度を切り替えることが開示されている。特許文献3には、通信のエラー率が所定値以上の場合にHSモードを禁止することが開示されている。特許文献4には、通信品質が劣化して通信不良の状態が一定時間以上続いた場合にHSモードからFSモードに切り替えることが開示されている。
また、通信エラーの発生が予想される不適合USBメモリの機種特定情報をUSBホストの記憶部にあらかじめ記憶しておき、USBホストがUSBメモリの接続を検出したときに、USBメモリに記憶されている機種特定情報を取得し、取得した機種特定情報と一致する機種特定情報が記憶部に記憶されていると判定した場合に報知動作を行う技術も提案されている(例えば、特許文献5参照)。
特開2006−330831号公報 特開2005−327247号公報 特開2005−182380号公報 特開2007−172160号公報 特開2009−193358号公報
ところで、USBホストに相性の悪いUSBデバイスを接続すると、HSモードが設定されている場合に、通信中のデータの波形が劣化し、通信エラーが発生することがある。コントロール転送、インタラプト転送、バルク転送の何れかの方式でデータ通信を行っている場合は、通信エラーを検出したときにハードウェアでリトライを行い、再度同様のデータ通信を実施することが可能である。
一方、音楽や映像のストリーミング再生時などに行われるアイソクロナス転送の場合は、リアルタイムな転送方式であるため、通信エラーが発生したときのリトライが不可能となっている。そのため、一度通信エラーが発生すると、その通信エラーが発生した部分のデータが欠落し、音切れや映像切れが発生してしまうという問題があった。
このような問題に対して、特許文献3,4に記載の技術を用いれば、エラー率が所定値以上になった場合、あるいは通信不良の状態が一定時間以上続いた場合に通信速度をHSモードからFSモードに切り替えることにより、通信品質を上げてデータの欠落を生じさせないようにすることが可能である。
しかしながら、特許文献3,4に記載の技術では、HSモードからFSモードに通信速度を切り替える前は、通信品質の悪い状態が続いているので、通信エラーが発生する。そのため、アイソクロナス転送中に通信エラーが発生した場合はデータの欠落が発生し、音切れや映像切れといった現象が発生してしまうという問題は解消できない。
また、特許文献5に記載の技術では、通信エラーの発生が予想される不適合USBメモリをUSBホストに接続すると、その時点で報知が行われる。しかしながら、報知が行われるのみで、HSモード対応のUSBデバイスが接続された場合には通信速度はHSモードに設定されるので、実際に通信をするとエラーが発生してしまう。そのため、アイソクロナス転送中に通信エラーが発生した場合はデータの欠落が発生し、音切れや映像切れの問題を解消することはできない。
本発明は、このような問題を解決するために成されたものであり、ホストコンピュータと外部デバイスとの間でデータ通信を行う際に、HSモード下での通信エラーに起因するデータの欠落が生じないようにすることを目的とする。
上記した課題を解決するために、本発明では、高速通信モードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスを特定するためのIDである特定情報をリスト記憶部に記憶しておく。そして、外部デバイスがホストコンピュータに接続された場合に、その外部デバイスの特定情報がリスト記憶部に記憶されている不適合外部デバイスの特定情報の何れかと一致するか否かを判定するとともに、ホストコンピュータと外部デバイスとの間で行われるデータ転送の方式がアイソクロナス転送を含むか否かを判定し、特定情報が一致すると判定され、かつ、データ転送の方式がアイソクロナス転送を含むと判定された場合にはデータ通信の速度モードを低速通信モードに設定するようにしている。
また、本発明の他の態様では、外部デバイスがホストコンピュータに接続されたときに、データ通信の速度モードを低速通信モードに設定し、その後で特定情報が一致すると判定された場合はデータ通信の速度モードを低速通信モードの設定に維持する一方、特定情報が一致しないと判定された場合はバスリセットを行い、データ通信の速度モードを再設定するようにしている。
上記のように構成した本発明によれば、ホストコンピュータに不適合外部デバイスが接続された場合には、実際にデータ通信を開始する前に、データ通信の速度モードが通信エラーの発生しにくい低速通信モードに設定される。そのため、ホストコンピュータと外部デバイスとの間でデータ通信を行う際に、高速通信モード下での通信エラーに起因するデータの欠落が生じないようにすることができる。これにより、例えば音楽や映像のストリーミング再生のためにアイソクロナス転送が行われる場合であっても、通信エラーに起因するデータの欠落を未然に防止でき、音切れや映像切れの発生を回避することができる。
第1の実施形態による通信速度制御装置を適用した通信システムの概略的な構成例を示す図である。 第1の実施形態によるUSBホストコントローラが備える機能構成例を示すブロック図である。 第1の実施形態によるUSBホストコントローラの動作例を示すフローチャートである。 第2の実施形態によるUSBホストコントローラが備える機能構成例を示すブロック図である。 第2の実施形態においてケーブル長を入力するダイアログ画面の例を示す図である。 第3の実施形態によるUSBホストコントローラが備える機能構成例を示すブロック図である。
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態による通信速度制御装置を適用した通信システムの概略的な構成例を示す図である。図1に示すように、本実施形態の通信システムは、USBデバイス10(特許請求の範囲の外部デバイスに相当)とUSBホスト20(特許請求の範囲のホストコンピュータに相当)とを備え、その両者をUSBケーブル30により接続可能に構成されている。
USBデバイス10は、特定情報記憶部11、USBデバイスコントローラ12およびUSBデバイスアプリケーション13を備えている。USBホスト20は、USBホストコントローラ21、リスト記憶部22およびUSBホストアプリケーション23を備えている。USBホスト20のUSBホストコントローラ21およびリスト記憶部22により本実施形態の通信速度制御装置が構成されている。
特定情報記憶部11は、USBデバイス10を特定するための特定情報を記憶している。特定情報は、ベンダーIDおよびプロダクトIDを含んで構成されるものである。ベンダーIDは、USBデバイス10を製造するベンダーに固有の値である。プロダクトIDは、USBデバイス10が持つ固有の値であり、ベンダー毎に管理されている。
USBデバイスコントローラ12は、USBホスト20からの指令によりHSモードまたはFSモードの何れかに通信速度を設定し、設定した通信速度でUSBホスト20との間でデータ通信を行う。例えば、USBデバイスコントローラ12は、USBホスト20からの要求に応じて、特定情報記憶部11から読み出した特定情報をUSBホスト20に送信する。また、USBデバイスコントローラ12は、USBデバイスアプリケーション13で生成されたデータをUSBホスト20に送信したり、USBホスト20から送られてくるデータを受信したりする。
USBデバイスアプリケーション13は、USBデバイス10の機能を実現させるアプリケーションソフトウェアの実行部である。例えば、USBデバイス10がUSBメモリのような記憶媒体である場合、USBデバイスアプリケーション13は、データを読み書きするための機能、データを転送するための機能をソフトウェアによって実現させる。また、USBデバイス10がスマートフォンである場合、USBデバイスアプリケーション13は、例えば、音楽や映像などのデータを再生するための機能をソフトウェアによって実現させる。
USBホストコントローラ21は、HSモードまたはFSモードの何れかに通信速度を設定し、設定した通信速度でUSBデバイス10との間でデータ通信を行う。例えば、USBホストコントローラ21は、USBデバイス10に対して特定情報の送信要求を行い、その応答としてUSBデバイス10から送られてくる特定情報を受信する。また、USBホストコントローラ21は、USBデバイスアプリケーション13で生成されたデータをUSBデバイス10から受信したり、USBホストアプリケーション23で生成されたデータをUSBデバイス10に送信したりする。
リスト記憶部22は、HSモードでデータ通信をした場合に通信エラーの発生が予想される1以上のUSBデバイス10(以下、不適合外部デバイスという)を特定するための特定情報をリストとして記憶する。不適合外部デバイスの特定情報も、特定情報記憶部11に記憶されている特定情報と同様に、ベンダーIDおよびプロダクトIDを含んで構成されている。このリスト記憶部22には、いくつかの不適合外部デバイスの特定情報が初期状態からあらかじめ記憶されている。また、後述するように、初期状態で記憶されているもの以外の不適合外部デバイスの特定情報が必要に応じて追加して記憶される。
USBホストアプリケーション23は、USBホスト20の様々な機能を実現させるアプリケーションソフトウェアまたはドライバソフトウェアの実行部である。これらのソフトウェアは、USBデバイス10が持つUSBデバイスアプリケーション13の実行に連携するために必要なものであり、例えば、USBデバイス10がUSBホスト20に最初に接続されたときに、そのUSBデバイス10からUSBホスト20に自動的にインストールされる。または、ユーザによる手動操作によって、USBデバイス10とは別に用意された記録媒体からUSBホスト20にインストールされる。
図2は、第1の実施形態によるUSBホストコントローラ21が備える機能構成例を示すブロック図である。図2に示すように、USBホストコントローラ21は、その機能構成として、接続検出部201、特定情報取得部202、デバイス判定部203、通信速度制御部204、データ通信部205、エラー監視部206および記憶制御部207を備えている。
接続検出部201は、USBデバイス10がUSBホスト20に接続されたことを検出する。特定情報取得部202は、USBデバイス10がUSBホスト20に接続されたことが接続検出部201により検出された場合に、USBデバイス10の特定情報を当該USBデバイス10から取得する。すなわち、特定情報取得部202は、通信速度制御部204によって強制的に設定されたFSモードでUSBデバイス10との間でコントロール転送を行い、USBデバイス10を初期化する。この初期化の際に、特定情報取得部202はUSBデバイス10に対して特定情報の送信要求を行い、USBデバイス10の特定情報をUSBデバイス10から取得する。
デバイス判定部203は、特定情報取得部202により取得されたUSBデバイス10の特定情報が、リスト記憶部22に記憶されている不適合外部デバイスの特定情報の何れかと一致するか否かを判定する。具体的には、デバイス判定部203は、特定情報に含まれるベンダーIDが一致するか否かを判定する。または、デバイス判定部203は、特定情報に含まれるベンダーIDおよびプロダクトIDの両方が一致するか否かを判定するようにしてもよい。
通信速度制御部204は、USBデバイス10との間で行うデータ通信の速度を制御する。USBデバイス10がUSBホスト20に接続された直後の初期状態では、通信速度制御部204は通信速度をFSモードに設定する。すなわち、通信速度制御部204は、USBデバイス10がUSBホスト20に接続されたときは、そのUSBデバイス10がHSモード対応かFSモード対応かによらず、データ通信の速度をFSモードに強制的に設定する。
また、通信速度制御部204は、USBデバイス10の特定情報が不適合外部デバイスの特定情報の何れかと一致するとデバイス判定部203により判定された場合に、通信速度をFSモードの設定に維持する。一方、USBデバイス10の特定情報が不適合外部デバイスの特定情報と一致しないとデバイス判定部203により判定された場合、通信速度制御部204は、いったんバスリセットしてハンドシェイク処理を実行し、通信速度を再設定する。このとき、USBデバイス10がHSモード対応の場合には通信速度はHSモードとなり、FSモード対応の場合には通信速度はFSモードとなる。
データ通信部205は、通信速度制御部204により設定された通信速度(HSモードまたはFSモードの何れか)で、USBデバイス10との間でデータ通信を行う。このとき、インタラプト転送、バルク転送、アイソクロナス転送の何れの方式でデータ通信を行うかは、どのようなUSBデバイス10が接続されているか、すなわち、実行されるUSBデバイスアプリケーション13がどのようなものかによって異なる。例えば、マウスやキーボードといったUSBデバイス10と通信する場合はインタラプト転送、USBメモリといったUSBデバイス10と通信する場合はバルク転送、スマートフォンなどのUSBデバイス10との間で音楽データや映像データをストリーミング再生する場合にはアイソクロナス転送によってデータ通信を行う。
エラー監視部206は、データ通信部205がHSモードでデータ通信を実行している際に、通信エラーの発生を監視する。記憶制御部207は、エラー監視部206により通信エラーの発生が検出された場合に、そのときUSBホスト20に接続されているUSBデバイス10について特定情報取得部202により取得された特定情報を、不適合外部デバイスの特定情報としてリスト記憶部22に追加して記憶させる。
ここでは、通信エラーの発生が検出された場合にUSBデバイス10を不適合外部デバイスとしてその特定情報をリスト記憶部22に記憶させているが、この例に限定されるものではない。例えば、コントロール転送、インタラプト転送、バルク転送が行われているときに通信エラーが発生した場合は、リトライが行われる。このリトライによってもデータ通信が正常に行われずにタイムアウトになった場合に、USBデバイス10を不適合外部デバイスとしてその特定情報をリスト記憶部22に記憶させるようにしてもよい。
または、所定時間内におけるエラー発生率を測定し、エラー発生率が所定値以上となった場合に、USBデバイス10を不適合外部デバイスとしてその特定情報をリスト記憶部22に記憶させるようにしてもよい。この例によれば、リトライが行われないアイソクロナス転送が行われている場合にも適用することが可能である。
図3は、上記のように構成したUSBホストコントローラ21の通信速度制御に関する動作例を示すフローチャートである。図3に示すフローチャートは、USBデバイス10がUSBホスト20に接続されたことが接続検出部201により検出されたときに開始する。
図3において、通信速度制御部204は、データ通信の速度をFSモードに設定する(ステップS1)。また、特定情報取得部202は、FSモードでUSBデバイス10との間でコントロール転送を行い、USBデバイス10を初期化することにより、USBデバイス10の特定情報をUSBデバイス10から取得する(ステップS2)。
次に、デバイス判定部203は、特定情報取得部202により取得されたUSBデバイス10の特定情報が、リスト記憶部22に記憶されている不適合外部デバイスの特定情報の何れかと一致するか否か(すなわち、USBデバイス10の特定情報がリスト記憶部22に記憶されているか否か)を判定する(ステップS3)。
ここで、USBデバイス10の特定情報がリスト記憶部22に記憶されていないとデバイス判定部203にて判定された場合は、図3の処理を終了する。この場合、通信速度制御部204は、データ通信の速度をFSモードの設定に維持することになる。
一方、USBデバイス10の特定情報がリスト記憶部22に記憶されていないとデバイス判定部203にて判定された場合、通信速度制御部204はいったんバスリセットし(ステップS4)、その後ハンドシェイク処理を行うことによってUSBデバイス10を接続し直し(ステップS5)、これによってデータ通信の速度を再設定する(ステップS6)。
以上詳しく説明したように、第1の実施形態では、HSモードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスの特定情報をリスト記憶部22に記憶しておく。そして、USBデバイス10がUSBホスト20に接続された場合に、そのUSBデバイス10の特定情報がリスト記憶部22に記憶されている不適合外部デバイスの特定情報の何れかと一致した場合には、データ通信の速度をFSモードに設定するようにしている。
このように構成した第1の実施形態によれば、USBホスト20に不適合外部デバイスが接続された場合には、通信エラーの発生しにくいFSモードに設定される。そのため、USBデバイス10とUSBホスト20との間でデータ通信を行う際に、HSモード下での通信エラーに起因するデータの欠落が生じないようにすることができる。これにより、例えば音楽や映像のストリーミング再生のためにアイソクロナス転送が行われる場合であっても、通信エラーに起因するデータの欠落を未然に防止することができ、音切れや映像切れの発生を回避することができる。
また、第1の実施形態では、HSモードで実際にデータ通信を実行している際に通信エラーの発生を検出した場合に、そのときUSBホスト20に接続されているUSBデバイス10の特定情報を、不適合外部デバイスの特定情報としてリスト記憶部22に追加して記憶させるようにしている。
このような構成により、あらかじめ不適合外部デバイスとして想定されていない(リスト記憶部22に初期状態で特定情報が記憶されていない)USBデバイス10であっても、HSモード下で通信エラーを発生させやすいUSBデバイス10であれば、一度USBホスト20に接続してHSモードでデータ通信を行った後は、不適合外部デバイスとして特定情報がリスト記憶部22に加えられることとなる。これにより、その後の接続時には必ずFSモードにてデータ通信を行うことができるようになり、通信エラーに起因するデータの欠落を防止することができる。
また、第1の実施形態では、USBデバイス10がUSBホスト20に接続されたときには通信速度をHSモードではなくFSモードに強制的に設定し、その後、USBデバイス10が不適合外部デバイスでないと判定された場合に通信速度を再設定するようにしている。これにより、USBデバイス10がUSBホスト20に接続された直後に特定情報取得部202がUSBデバイス10の初期化処理を実行するときには必ず、FSモードでコントロール転送をすることができるので、通信エラーを起こしてUSBデバイス10から特定情報を取得できなくなる不都合を確実に回避することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。第2の実施形態による通信速度制御装置を適用した通信システムの構成は、図1と同様である。図4は、第2の実施形態によるUSBホストコントローラ21が備える機能構成例を示すブロック図である。なお、この図4において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
図4に示すように、第2の実施形態においてUSBホストコントローラ21は、ダイアログ表示部211、ケーブル長入力部212およびケーブル長判定部213を更に備えている。また、第2の実施形態においてUSBホストコントローラ21は、通信速度制御部204の代わりに、機能が異なる通信速度制御部204’を備えている。
ダイアログ表示部211は、USBデバイス10の特定情報が、リスト記憶部22に記憶されている不適合外部デバイスの特定情報の何れかと一致するとデバイス判定部203により判定された場合に、USBデバイス10とUSBホスト20との間を繋ぐUSBケーブル30のケーブル長を入力するためのダイアログ画面をUSBホスト20のディスプレイ(図示せず)に表示させる。図5は、ダイアログ画面の一例を示す図である。
ケーブル長入力部212は、ユーザがダイアログ画面に対して行う操作を通じて、USBケーブル30の長さを特定するケーブル長情報の入力を受け付ける。ケーブル長判定部213は、ケーブル長入力部212により入力されたケーブル長情報により特定されるケーブル長が所定値(例えば、1.5m)以上か否かを判定する。
通信速度制御部204’は、USBデバイス10の特定情報が不適合外部デバイスの特定情報の何れかと一致するとデバイス判定部203により判定され、かつ、ケーブル長判定部213によりケーブル長が所定値以上であると判定された場合に、データ通信の速度をFSモードの設定に維持する。
一方、USBデバイス10の特定情報が不適合外部デバイスの特定情報と一致しないとデバイス判定部203により判定された場合、または、ユーザにより入力されたUSBケーブル30のケーブル長が所定値以上ではないとケーブル長判定部213により判定された場合に、通信速度制御部204’は、いったんバスリセットしてハンドシェイク処理を実行し、通信速度を再設定する。
USBホスト20に接続されたUSBデバイス10が不適合外部デバイスであっても、常に通信エラーが発生するとは限らない。すなわち、USBケーブル30が短いときには通信エラーは殆ど発生せず、USBケーブル30が長くなると通信エラーが発生しやすくなる場合がある。USBケーブル30が長いと、ケーブル内を通信しているデータが外来ノイズの影響を受けやすくなるからである。
以上のように構成した第2の実施形態によれば、USBホスト20に接続されたUSBデバイス10が不適合外部デバイスであっても、接続されるUSBケーブル30の長さが所定値以上の場合に限って、通信速度が強制的にFSモードに設定される。逆に、USBケーブル30の長さが所定値未満であれば、ハンドシェイク処理によってUSBデバイス10に対応した通信速度(HSモードまたはFSモード)に設定される。これにより、USBケーブル30が短くて通信エラーが発生しにくい場合にまで、通信速度の遅いFSモードに強制的に設定してしまうことを防ぐことができる。
なお、上記第2の実施形態では、USBデバイス10が不適合外部デバイスであり、かつ、USBケーブル30の長さが所定値以上である場合に通信速度を強制的にFSモードとする例について説明したが、これに限定されない。例えば、USBデバイス10が不適合外部デバイスであるか否かを問わず、USBケーブル30の長さが所定値以上である場合に通信速度を強制的にFSモードとするようにしてもよい。不適合外部デバイスでなくても、ケーブル長が長い場合には外来ノイズの影響を受けて通信エラーが生じやすくなることがあるからである。
(第3の実施形態)
次に、本発明の第3の実施形態を図面に基づいて説明する。第3の実施形態による通信速度制御装置を適用した通信システムの構成は、図1と同様である。図6は、第3の実施形態によるUSBホストコントローラ21が備える機能構成例を示すブロック図である。なお、この図6において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
図6に示すように、第3の実施形態においてUSBホストコントローラ21は、転送方式判定部221を更に備えている。また、第3の実施形態においてUSBホストコントローラ21は、通信速度制御部204の代わりに、機能が異なる通信速度制御部204”を備えている。
転送方式判定部221は、USBデバイス10とUSBホスト20との間でデータ通信部205により行われるデータ通信の方式がアイソクロナス転送か否かを判定する。上述したように、USBデバイス10とUSBホスト20との間で行われるデータ通信の方式は、どのようなUSBデバイス10が接続されているか、すなわち、実行されるUSBデバイスアプリケーション13がどのようなものかによって異なる。
そこで、転送方式判定部221は、実行されるUSBデバイスアプリケーション13またはこれと連携して動作するUSBホストアプリケーション23の種類をもとに、データ通信の方式が少なくともアイソクロナス転送を含むか否かを判定する。例えば、実行されるUSBデバイスアプリケーション13またはUSBホストアプリケーション23が音楽または映像のストリーミング再生を行う種類のものであれば、データ通信の方式はアイソクロナス転送を含むものであると判定する。
通信速度制御部204”は、USBデバイス10の特定情報が不適合外部デバイスの特定情報の何れかと一致するとデバイス判定部203により判定され、かつ、データ通信の方式がアイソクロナス転送を含むと転送方式判定部221により判定された場合に、データ通信の速度をFSモードの設定に維持する。
一方、USBデバイス10の特定情報が不適合外部デバイスの特定情報と一致しないとデバイス判定部203により判定された場合、または、データ通信の方式がアイソクロナス転送を含まないと転送方式判定部221により判定された場合に、通信速度制御部204”は、いったんバスリセットしてハンドシェイク処理を実行し、通信速度を再設定する。
データ通信の方式がコントロール転送、インタラプト転送、バルク転送の場合は、一度通信エラーが発生しても、リトライを行うことよってデータを正常に通信できる可能性がある。しかし、アイソクロナス転送の場合はリトライができない。そこで、第3の実施形態のように、アイソクロナス転送を含む場合に限って通信速度を強制的にFSモードに設定することにより、リトライができる転送方式だけの場合にまで、通信速度の遅いFSモードに強制的に設定してしまうことを防ぐことができる。
なお、コントロール転送、インタラプト転送、バルク転送の場合はリトライが可能であると言っても、通信エラーが頻発すると、タイムアウト時間内にリトライが完了できず通信ができない状態になってしまうこともある。そこで、データ通信の方式がコントロール転送、インタラプト転送、バルク転送のため通信速度がHSモードに設定された場合に、通信エラー発生後のリトライによってもデータ通信が正常に行われなかったときには、タイムアウトになる前に、通信速度をHSモードからFSモードに強制的に切り替えるようにしてもよい。タイムアウトになる前に通信速度を切り替えれば、次のリトライは成功する可能性があり、通信エラーによるデータの欠落を防止することができる。
なお、この第3の実施形態に上記第2の実施形態を組み合わせて適用してもよい。この場合、通信速度制御部は、USBデバイス10の特定情報が不適合外部デバイスの特定情報の何れかと一致すると判定され、ケーブル長が所定値以上であると判定され、かつ、データ通信の方式がアイソクロナス転送を含むものであると判定された場合に、データ通信の速度をFSモードの設定に維持する。それ以外の場合は、バスリセットおよびハンドシェイク処理を実行して通信速度を再設定する。
その他、上記第1〜第3の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 USBデバイス
20 USBホスト
21 USBホストコントローラ
22 リスト記憶部
201 接続検出部
202 特定情報取得部
203 デバイス判定部
204,204’,204” 通信速度制御部
205 データ通信部
206 エラー監視部
207 記憶制御部
211 ダイアログ表示部
212 ケーブル長入力部
213 ケーブル長判定部
221 転送方式判定部

Claims (4)

  1. 高速通信モードと低速通信モードとを有するデータ通信方式において、上記高速通信モードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスを特定するためのIDである特定情報のリストを記憶したリスト記憶部と、
    外部デバイスがホストコンピュータに接続された場合に、当該外部デバイスの特定情報を当該外部デバイスから取得する特定情報取得部と、
    上記特定情報取得部により取得された上記外部デバイスの特定情報が、上記リスト記憶部に記憶されている上記不適合外部デバイスの特定情報の何れかと一致するか否かを判定するデバイス判定部と、
    上記ホストコンピュータと上記外部デバイスとの間で行われるデータ転送の方式がアイソクロナス転送を含むか否かを判定する転送方式判定部と、
    上記デバイス判定部により特定情報が一致すると判定され、かつ、上記転送方式判定部により上記データ転送の方式が上記アイソクロナス転送を含むと判定された場合に、上記データ通信の速度モードを上記低速通信モードに設定する通信速度制御部とを備えたことを特徴とする通信速度制御装置。
  2. 高速通信モードと低速通信モードとを有するデータ通信方式において、上記高速通信モードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスを特定するためのIDである特定情報のリストを記憶したリスト記憶部と、
    外部デバイスがホストコンピュータに接続された場合に、当該外部デバイスの特定情報を当該外部デバイスから取得する特定情報取得部と、
    上記特定情報取得部により取得された上記外部デバイスの特定情報が、上記リスト記憶部に記憶されている上記不適合外部デバイスの特定情報の何れかと一致するか否かを判定するデバイス判定部と、
    上記外部デバイスが上記ホストコンピュータに接続されたときに、上記データ通信の速度モードを上記低速通信モードに設定し、その後で上記デバイス判定部により特定情報が一致すると判定された場合上記データ通信の速度モードを上記低速通信モードの設定に維持する一方、上記デバイス判定部により特定情報が一致しないと判定された場合はバスリセットを行い、上記データ通信の速度モードを再設定する通信速度制御部とを備えたことを特徴とする通信速度制御装置。
  3. 高速通信モードと低速通信モードとを有するデータ通信方式でデータ通信をする際、外部デバイスがホストコンピュータに接続された場合に、上記ホストコンピュータが上記外部デバイスを特定するためのIDである特定情報を上記外部デバイスから取得する第1のステップと、
    上記第1のステップで取得された上記外部デバイスの特定情報が、上記高速通信モードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスの特定情報のリストを記憶したリスト記憶部に記憶されているか否かを上記ホストコンピュータが判定する第2のステップと、
    上記ホストコンピュータと上記外部デバイスとの間で行われるデータ転送の方式がアイソクロナス転送を含むか否かを上記ホストコンピュータが判定する第3のステップと、
    上記第2のステップで特定情報が上記リスト記憶部に記憶されていると判定され、かつ、上記第3のステップで上記データ転送の方式が上記アイソクロナス転送を含むと判定された場合に、上記データ通信の速度モードを上記低速通信モードに設定する第4のステップとを有することを特徴とする通信速度制御方法。
  4. 高速通信モードと低速通信モードとを有するデータ通信方式でデータ通信をする際、外部デバイスがホストコンピュータに接続された場合に、上記ホストコンピュータがデータ通信の速度モードを上記低速通信モードに設定する第1のステップと、
    上記ホストコンピュータが上記外部デバイスを特定するためのIDである特定情報を上記外部デバイスから取得する第2のステップと、
    上記第2のステップで取得された上記外部デバイスの特定情報が、上記高速通信モードでデータ通信をした場合に通信エラーの発生が予想される不適合外部デバイスの特定情報のリストを記憶したリスト記憶部に記憶されているか否かを上記ホストコンピュータが判定する第3のステップと、
    上記第3のステップで特定情報が上記リスト記憶部に記憶されていると判定された場合は上記データ通信の速度モードを上記低速通信モードの設定に維持する一方、上記第3のステップで特定情報が上記リスト記憶部に記憶されていないと判定された場合はバスリセットを行い、上記データ通信の速度モードを再設定する第4のステップとを有することを特徴とする通信速度制御方法。
JP2010240267A 2010-10-27 2010-10-27 通信速度制御装置および通信速度制御方法 Active JP5700514B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010240267A JP5700514B2 (ja) 2010-10-27 2010-10-27 通信速度制御装置および通信速度制御方法
US13/184,063 US8578065B2 (en) 2010-10-27 2011-07-15 Communication speed control apparatus and communication speed control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010240267A JP5700514B2 (ja) 2010-10-27 2010-10-27 通信速度制御装置および通信速度制御方法

Publications (2)

Publication Number Publication Date
JP2012093926A JP2012093926A (ja) 2012-05-17
JP5700514B2 true JP5700514B2 (ja) 2015-04-15

Family

ID=45997931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010240267A Active JP5700514B2 (ja) 2010-10-27 2010-10-27 通信速度制御装置および通信速度制御方法

Country Status (2)

Country Link
US (1) US8578065B2 (ja)
JP (1) JP5700514B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981990B (zh) * 2012-11-09 2015-07-22 青岛海信移动通信技术股份有限公司 采用Android平台终端设备的数据传输方法及装置
US9984652B2 (en) 2013-08-22 2018-05-29 Intel Corporation Topology and bandwidth management for IO and inbound AV
US10237087B2 (en) 2013-09-02 2019-03-19 Samsung Electronics Co., Ltd. Method for controlling transmission speed and electronic device thereof
FR3023633B1 (fr) * 2014-07-11 2016-07-29 Peugeot Citroen Automobiles Sa Dispositif de gestion d'erreurs sur un bus universel serie
JP2019040446A (ja) * 2017-08-25 2019-03-14 東芝テック株式会社 接続回路
US10845080B2 (en) * 2018-05-21 2020-11-24 Johnson Controls Technology Company Heating, ventilation, and/or air conditioning network address control systems
CN109710552B (zh) * 2018-12-29 2021-01-15 深圳市联影医疗数据服务有限公司 总线传输质量评估方法、系统和计算机存储介质
JP7493369B2 (ja) * 2020-03-30 2024-05-31 キヤノン株式会社 通信装置、制御方法、及びプログラム
WO2023159415A1 (en) * 2022-02-24 2023-08-31 Qualcomm Incorporated Adaptive low-power signaling to enable link signal error recovery without increased link clock rates
DE112023001334T5 (de) * 2022-03-11 2024-12-24 Microchip Technology Incorporated Automatischer usb3-hub zur erkennung und änderung der verbindungsgeschwindigkeit

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036967A (ja) * 1998-07-21 2000-02-02 Sony Corp 画像処理システムおよびカメラシステム
US6625761B1 (en) * 2000-06-13 2003-09-23 Cypress Semiconductor Corp. Fault tolerant USB method and apparatus
US7031856B2 (en) * 2003-02-05 2006-04-18 Northrop Grumman Corporation Automatic wire dielectric analyzer
JP2005071273A (ja) 2003-08-27 2005-03-17 Canon Inc 電子機器及びそのインターフェース制御方法
US7254652B2 (en) * 2003-09-30 2007-08-07 International Business Machines Corporation Autonomic configuration of port speeds of components connected to an interconnection cable
JP2005174147A (ja) * 2003-12-12 2005-06-30 Canon Inc 通信制御装置および通信制御方法
JP2005182380A (ja) * 2003-12-18 2005-07-07 Canon Inc 記録装置、電子機器
JP2005182624A (ja) * 2003-12-22 2005-07-07 Sharp Corp 情報処理装置、情報処理システム、通信速度設定方法、通信速度設定プログラム、およびそのプログラムを記録した記録媒体
JP2005327247A (ja) * 2004-04-16 2005-11-24 Sony Corp データ記憶装置及び音声再生システム
JP4750379B2 (ja) * 2004-05-31 2011-08-17 キヤノン株式会社 電子機器
US7685328B2 (en) * 2004-09-09 2010-03-23 Stmicroelectronics, Inc. Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device
JP2006330831A (ja) * 2005-05-23 2006-12-07 Sharp Corp 携帯電子機器
JP2007172160A (ja) * 2005-12-20 2007-07-05 Seiko Epson Corp Usb通信装置、及び通信速度切り替えのための方法
JP4835323B2 (ja) * 2006-08-23 2011-12-14 セイコーエプソン株式会社 情報処理装置、印刷装置、情報処理方法及びプログラム
JP2009193358A (ja) * 2008-02-14 2009-08-27 Toshiba Tec Corp 情報処理装置
US20100082846A1 (en) 2008-10-01 2010-04-01 Kyung Hwan Kim Usb device and method for connecting the usb device with usb host

Also Published As

Publication number Publication date
US20120110220A1 (en) 2012-05-03
JP2012093926A (ja) 2012-05-17
US8578065B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
JP5700514B2 (ja) 通信速度制御装置および通信速度制御方法
CN102959502B (zh) 在系统中提供异步事件通知的方法
US9747237B2 (en) Methods and apparatus for reliable detection and enumeration of devices
US20060174049A1 (en) USB to SATA bridge system
US7124235B2 (en) USB apparatus with switchable host/hub functions and control method thereof
US20110022737A1 (en) Device control method and device selecting apparatus
US7945714B2 (en) Apparatus and method of tracing descriptors in host controller
JP2007134782A (ja) 通信装置及び通信制御方法
JP4343524B2 (ja) 制御装置およびデジタルビデオ装置
CN101447982A (zh) 存储模拟装置及其存取方法
US7853830B2 (en) Apparatus and method for providing error notification in a wireless virtual file system
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
CN114840460A (zh) 热插拔处理方法、存储介质、电子设备及处理系统
JP5823755B2 (ja) 記憶装置、およびプログラム
JP6035715B2 (ja) コンピュータシステム、情報処理システム、仮想メディア方法、および、プログラム
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
CN116189754A (zh) 固态硬盘测试验证方法、装置、计算机设备及存储介质
JP5206717B2 (ja) Usbホスト装置
JP5743484B2 (ja) 通信制御装置およびその制御方法
JP2009064118A (ja) Usbデバイスバックアップ装置及びそれに用いるusbデバイスバックアップ方法並びにそのプログラム
JP4499909B2 (ja) 多重化記憶制御装置
JP2011107944A (ja) ストレージ機器
JP2002055887A (ja) 伝送制御装置及び伝送制御方法、情報処理装置並びに情報記録媒体
JP2008299747A (ja) Usbホストシステム及び転送データの転送方法
JP4952710B2 (ja) コンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150212

R150 Certificate of patent or registration of utility model

Ref document number: 5700514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150