JP5743484B2 - 通信制御装置およびその制御方法 - Google Patents

通信制御装置およびその制御方法 Download PDF

Info

Publication number
JP5743484B2
JP5743484B2 JP2010235875A JP2010235875A JP5743484B2 JP 5743484 B2 JP5743484 B2 JP 5743484B2 JP 2010235875 A JP2010235875 A JP 2010235875A JP 2010235875 A JP2010235875 A JP 2010235875A JP 5743484 B2 JP5743484 B2 JP 5743484B2
Authority
JP
Japan
Prior art keywords
communication
bus
external device
control
controller
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.)
Expired - Fee Related
Application number
JP2010235875A
Other languages
English (en)
Other versions
JP2012088971A (ja
JP2012088971A5 (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2010235875A priority Critical patent/JP5743484B2/ja
Publication of JP2012088971A publication Critical patent/JP2012088971A/ja
Publication of JP2012088971A5 publication Critical patent/JP2012088971A5/ja
Application granted granted Critical
Publication of JP5743484B2 publication Critical patent/JP5743484B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、通信制御に関し、特に、独立した複数のデータバスを有するコネクタを介して周辺デバイスを接続する場合の通信制御技術に関するものである。
近年、次世代高速インタフェースとして最高5Gbpsのデータ転送を実現するユニバーサル・シリアル・バス(USB)3.0が開発されている。USB3.0は、非圧縮のリアルタイムデータを転送するHDMI(High Definition Multimedia Interface)に変わるインタフェースとしても注目されている。
一般的にUSBのホスト装置のバスアーキテクチャは、1つのホストコントローラから複数のコネクタに分岐する構成をとっている。そして、複数のデバイスが接続されている場合は、ホストコントローラが5Gbpsの帯域を接続された複数のデバイスに割り振り帯域を共有することで、当該複数のデバイスそれぞれへのデータ転送を実現している。そのため、複数のデバイスが同時にデータ転送をしている場合、各デバイスに割り振られるデータ転送帯域は少なくなる。そのため、リアルタイム性のあるデータ転送が要求されるデバイス(モニタ等)がデータ転送を行っている際に、別のデバイス(ストレージ等)がデータ転送を開始するとデータ転送に問題が発生し得る。具体的には、モニタ側のデータ転送の帯域が不足し、データの欠落によるモニタ表示の乱れが発生することがある。
そこで、例えば特許文献1では、リアルタイム転送が要求されるデータは即時に送信し、リアルタイム転送が要求されないデータは後で確実に送信することで、リアルタイム転送が要求されるデータ転送の欠落を防ぐ技術が提案されている。
特開2006−197417号公報
しかしながら、上記従来技術によればインタフェースのデータ転送路の帯域がリアルタイム転送の要求されるデータ転送の帯域に対して余裕がある場合は適用可能であるが、帯域幅に余裕がない場合、リアルタイム転送が要求されないデータ転送が困難になる。例えば、インタフェースのデータ転送路の全帯域が5Gbpsに対し、モニタ等のデバイスが5Gbpsのデータ転送帯域を必要とする場合、別のデバイス(ストレージ等)がデータ転送を行うことが出来ないことになる。
本発明は上述の問題点に鑑みなされたものであり、独立した複数のデータバスを有するコネクタを介して周辺デバイスを接続する場合のデータ転送をより好適に実行可能とする通信制御技術に関するものである。
上述の1以上の問題点を解決するため、本発明の通信制御装置は以下の構成を備える。すなわち、通信制御装置において、外部装置と接続するためのインタフェースであって、各々が、第1のバスコントローラにより制御される第1バスの端子と、第2のバスコントローラにより制御され前記第1バスとは独立した第2バスの端子と、を含む複数のインタフェースを有する接続手段と、前記複数のインタフェースの1つに外部装置が接続された場合、該外部装置が要求する通信条件を取得する取得手段と、前記第1バスおよび前記第2バスのうち何れか一方を介して前記外部装置との通信を確立するよう、前記第1のバスコントローラおよび前記第2のバスコントローラを制御する制御手段と、を有し、前記第1バスを介する通信は、前記第2バスを介する通信よりも通信速度が速く、前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含む場合、前記制御手段は、前記外部装置との通信が前記第1バスを占有するよう前記第1のバスコントローラを制御する
本発明によれば、独立した複数のデータバスを有するコネクタを介して周辺デバイスを接続する場合のデータ転送をより好適に実行可能とする通信制御技術を提供することができる。
USB3.0のバスアーキテクチャを説明する図である。 USB3.0のケーブルにおける信号線を示す図である。 USB3.0におけるペリフェラルデバイスの状態遷移図である。 第1実施形態に係るネゴシエーションを示す図である。 第1実施形態に係る通信制御装置のブロック図である。 接続シーケンスを示す図である(SSモード接続)。 第1実施形態に係る通信制御装置の動作フローチャートである。 接続シーケンスを示す図である(NSSモード接続)。 変形例に係る通信制御装置の動作フローチャートである。 アイソクロナス転送における転送パラメータを説明する図である。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る通信制御装置の第1実施形態として、ユニバーサル・シリアル・バス(USB)3.0仕様準拠のホストコントローラを有する通信制御装置500を例に挙げて以下に説明する。なお、以下の説明では主に本発明に特有の部分について説明する。なお、USB3.0仕様に関する一般的な詳細動作については、USB3.0仕様書(非特許文献1)を参照することにより理解されるであろう。
<USB3.0のアーキテクチャ>
USB3.0のバスアーキテクチャについて説明する。図1はUSB3.0のバスアーキテクチャを説明する図である。
ホスト装置100は、スーパースピード(SS:SuperSpeed)モード接続で使用されるホスト・コントローラ102(以下、SS102と呼ぶ)(第1のバスコントローラ)を備えている。また、非スーパースピード(NSS:Non-SuperSpeed)モード接続で使用されるホスト・コントローラ104(以下、NSS104と呼ぶ)(第2のバスコントローラ)を備えている。NSS104は、USB2.0仕様で規定されるHigh−Speed(HS)、Full−Speed(FS)、Low−Speed(LS)の各モードでのデータ転送を制御する。そして、SS102は、USB3.0仕様で新たに規定されたSuper−Speed(SS)モードでのデータ転送を制御する。なお、SS102およびNSS104の各コントローラ内には後述するリンク制御部が内蔵されている。また、バス106はSS専用バスであり、バス108はNSS専用バスである。なお、
デバイス装置120は、USB3.0ペリフェラルデバイスであり、SS(SuperSpeed)モード接続で使用されるデバイス・ファンクション・コントローラ122(以下、SSF102と呼ぶ)を備えている。また、NSS(Non-SuperSpeed)モード接続で使用されるデバイス・ファンクション・コントローラ124(以下、NSSF124と呼ぶ)を備えている。上述の各ホスト・コントローラと同様に、NSSF124は、USB2.0仕様で規定される各モードでのデータ転送を制御し、SSF122は、Super−Speed(SS)モードでのデータ転送を制御する。なお、SSF122およびNSSF124の各コントローラ内には後述するリンク制御部が内蔵されている。なお、ホスト・コントローラおよびデバイス・ファンクション・コントローラを総称してバスコントローラと呼ぶことにする。
ケーブル126はUSB3.0のケーブルであり、ケーブル126内には、SSモード用のデータ信号線とNSSモード用のデータ信号線が独立して存在している。上述したように、ホスト装置100はSS用のバス106(第1バス)とNSS用のバス108(第2バス)を独立して持っている。そのため、例えば、ホスト装置100は、コネクタ#3に接続された周辺デバイスとバス106でデータ転送中に、接続コネクタの1つであるコネクタ#1に接続された他の周辺デバイスとバス108でデータ転送することが可能である。
また、SS102、NSS104の各コントローラはそれぞれ複数のコネクタに接続しており、各コントローラに対し複数の周辺デバイスを接続しデータ転送を行うことも可能である。ただし、その場合、接続されたホスト・コントローラがもつ最大データ転送帯域(SS:5Gbps、NSS:480Mbps)を当該ホスト・コントローラに接続した複数の周辺デバイスで共有することになる。
図2はUSB3.0のケーブルにおける信号線を示す図である。200はUSB3.0ホスト側コネクタを示し、ホスト装置100のコネクタ#1〜#3のいずれかを示す。202はUSB3.0ペリフェラルデバイス側コネクタを示し、デバイス装置120のコネクタを示す。
信号線ペア206(D+、D−)はNSS(USB2.0)モード接続で使用する信号線ペアである。つまり、NSSモードでは、信号線ペア206を使い半二重通信が行われる。一方、信号線ペア208(SSTX+、SSTX−)はSSモード接続においてホスト装置からデバイス装置の転送に使用する信号線ペアである。また、信号線ペア210(SSRX+、SSRX−)はSSモード接続においてデバイス装置からホスト装置の転送に使用する信号線ペアである。つまり、SSモードでは、信号線ペア208および信号線ペア210を使い全二重通信が行われる。また、信号線204(VBUS)、信号線212(GND)はNSSモード接続、SSモード接続の双方で使用される信号線である。
図3はUSB3.0におけるペリフェラルデバイスの状態遷移図である。つまり、デバイス装置120が有する状態(ステート)および各状態間の遷移を示している。
状態300は、信号線204(VBUS)の信号が無い状態、すなわちデバイス装置120がホスト装置100と物理的に接続されていない状態を示している。
状態302は、デバイス装置120のSS信号線がRx.DetectまたはPollingの状態であることを示す。ここで、Rx.Detectとは、USB3.0ホスト側のSSリンクと物理的(電気的)に接続されているかを検出する状態である。Pollingとはリンクトレーニングを行っている状態を示す。具体的には、ホスト装置100とデバイス装置120のリンク間でハンドシェイクを行い、通信可能か否かを検出する状態である。
状態304は、ホスト装置100とデバイス装置120との間でSS接続が確立された状態を示す。状態306は、ホスト装置100とデバイス装置120との間でNSS(USB2.0)モード接続が確立され、SSリンクがRx.DetectまたはPollingの状態であることを示す。状態308は、ホスト装置100とデバイス装置120との間でNSS(USB2.0)モード接続が確立され、SSリンクが無効になっている状態を示す。
次に状態遷移の条件について説明する。遷移310は、VBUSが有効になった場合、すなわち、USBケーブルによりホスト装置100とデバイス装置120とが接続された場合の遷移を示す。遷移312は、SSのリンクがPollingからU0へ遷移した場合、すなわち、SSリンクでハンドシェイクをし、リンクがアクティブになった場合の遷移を示す。
遷移314、遷移316、遷移318はそれぞれ、Rx.Detectまたはリンクトレーニングがタイムアウトになった場合の遷移を示す。遷移320は、NSS(USB2.0)リセット信号を受信した場合の遷移を示す。遷移322はSSリンクがPollingからU0へ変化した場合、すなわち、SSリンクでハンドシェイクをし、リンクがアクティブになった場合の遷移を示す。
図3から理解されるように、一般的には、USB3.0に対応したホスト装置のコネクタに、USB3.0に対応したデバイス装置を接続した場合、SSバス106を介した接続(SSモード接続)が行われる。そして、USB3.0ホスト装置のコネクタに、USB2.0(あるいはUSB1.1)デバイス装置が接続された場合、NSSバス108を介した接続(NSSモード接続)が行われる。
図4は、USBのネゴシエーションを説明する図である。ペリフェラルデバイスをホストのUSBコネクタに挿入すると、ステップS402のSS接続シーケンスにおいて、ホストとペリフェラルデバイスは図3で説明したステートマシーンに従ってリンク間でハンドシェイクを行う。そして、接続可能状態(状態304もしくは状態308)に遷移する。なお、ステップS402の詳細シーケンスについては図6で後述する。
ステップS404において、ホストは、ペリフェラルデバイスの属性を取得するため、Get_Descriptor要求を送信する。ステップS406において、ペリフェラルデバイスは、USB3.0仕様書で定められた属性情報(Get_Descriptor情報)をホストに通知する。当該属性情報にはペリフェラルデバイスの機能を示す様々な情報が含まれる。ステップS408において、ホストは、USBクラスの情報やエンドポイント等の属性情報を取得し、RAM514に保持する。
<装置構成>
図5は、第1実施形態に係る通信制御装置500のブロック図である。通信制御装置500は、SSモード接続で使用されるホスト・コントローラ502(以下、SS502と呼ぶ)、NSSモード接続で使用されるホスト・コントローラ504(以下、NSS504と呼ぶ)を備えている。また、コネクタ522〜コネクタ526を備える。コントローラはそれぞれSSモード専用データバス510、NSS(USB2.0)モード専用データバス508に接続されている。
転送方式判定部518は前記属性情報からデバイス側とのデータ転送方式を判定する。接続制御部520はSSモード、NSSモードの各モードでの接続を制御する。転送速度算出部536は、コネクタ522〜コネクタ526に接続されたデバイスとのデータ転送において、前述した属性情報から転送速度を後述する算出方法で算出する。
記録装置インタフェース528は、例えばATAインタフェース等の外部記録装置と接続するためのインタフェースである。例えば、コネクタ522を介してデバイス534から読み出したデータをハードディスクドライブ(HDD)などの記録媒体530へ記録するためのものである。
ROM516は、CPU512が実行する各種の制御プログラム及び各種パラメータを記憶する。RAM514は、CPU512のプログラム領域及びワーク領域として使用される。接続されたデバイス(周辺装置)の属性情報が取得された場合、RAM514に保持される。CPU512は、制御プログラムを実行することにより、CPUバス506を介して以上の各部を制御し後述の処理を実行する。なお、ホスト500の制御は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
以下の説明においては、コネクタ526には、USB3.0に対応し、リアルタイム性のあるデータ転送を要求するデバイス(モニタ等)であるデバイス532が接続されるものとする。一方、コネクタ522には、USB3.0に対応し、リアルタイム性のあるデータ転送を要求しないデバイス(ハードディスク等)であるデバイス534が接続されるものとする。
<SS帯域の占有方法について>
以下では、2台のSSモード対応のデバイスを接続する際に、最初に接続したデバイスがリアルタイム転送を必要とするデバイスか否かの2つのユースケースに分けて説明する。なお、最初に接続するデバイスについては、USB3.0規格に従った接続処理を行う。つまり、SSモード接続に対応したデバイスについてはSSモードで接続する。
<ケース1:まず、リアルタイム転送を必要とするデバイスをSSモードで接続し、その後、SSモード対応の他のデバイスを追加で接続する場合。>
図6は、SSモードで接続する際のシーケンスを説明する図であり、図4のステップS402に相当する部分を詳細に記載したものである。
ステップS600では、ホスト500は、デバイス532がコネクタを介して接続されると、VBUSをONにする。ステップS602では、デバイス532はVBUS ONを検出し、ステップS604では、デバイス532は自身のSSリンクがReadyになるまで待つ。
ステップS606では、デバイス532は、自身のSSのリンクがReadyになると、その旨をホスト500に通知する。ステップS608では、ホスト500は、デバイス532からの通知を受けて、接続コネクタ内の端子を介してデバイス532とSSのリンクが電気的に接続したことを検出する。ステップS610では、ホスト500とデバイス532の双方で、SSリンク間でリンクの初期化処理を行い、ステップS612では、SSモード接続が確立する。
図7は、ケース1におけるSS帯域の占有方法を説明するフローチャートである。
ステップS700において、ホスト500とデバイス532は、図4および図6を参照して説明したネゴシエーションを行う。SSモードで接続した後、ホスト500は図4で説明したようにGet_Descriptor要求でデバイス532の属性情報を取得し、RAM514に保持する。この属性情報は、どのような方式で通信するか、具体的にはSSモードで通信するかNSSモードで通信するかを決定するための通信条件の一例である。
ステップS702において、ホスト500は、S700で接続されたデバイス532がリアルタイム転送を必要とするデバイスか否かを、保持したデバイス属性情報から判定する。リアルタイム転送を必要とするデバイスである場合(YES)の場合はステップS704に進み、リアルタイム転送を必要としないデバイスである場合(NO)はステップS712に進む。なお、ステップS712では、図9の処理が実行される。図9の処理については、ケース2の場合として後述する。
具体的には、例えば、Get_Descriptor要求により取得されたEndpoint Descriptorを利用することが出来る。その場合、Endpoint情報(bmAttributes)がアイソクロナス(0x05)である場合に、リアルタイム転送を必要とするデバイスとして判定する。
ケース1では、ステップS700においてリアルタイム転送を要するデバイス532が接続されているので、ステップS702の判定処理ではYESとなり、ステップS704に進む。
ステップ704では、ホスト500は転送速度算出部536の算出結果が所定の閾値を越えているか否かを判定する。閾値を超えている場合はステップS706に進み、超えていない場合はステップS712に進む。なお、ここでは当該所定の閾値をUSB2.0の最大転送速度(480Mbps)とする。なお、実効速度など最大転送速度以下の値を所定の閾値として使用してもよい。
なお、例えば、データ転送速度の算出はGet_Descriptorで取得した以下の情報(データ転送パラメータ)を使用する。
SuperSpeed Endpoint Companion情報の
・bMaxBurst:最大バースト数
・bmAttributes(bit 1:0[Mult]):エンドポイントがサポートする1サービス内の最大バースト数(Mult+1)
Standerd Endpoint Descriptor情報の
・bMaxPacketSize:最大パケットサイズ
・bInterval:データ転送のためにエンドポイントが処理される時間(125μs単位。2(bInterval-1)
ここでは、デバイス532から取得した各情報が
・bMaxBurst:16
・bmAttributes(Mult):2
・bMaxPacketSize:1024
・bInterval:1
である場合、転送速度算出パラメータは以下のとおりになる。
1パケットの最大サイズ(MPS):bMaxPacketSize=1024バイト
1バースト内の最大パケット数(BMPN):bMaxBurst=16パケット
1サービス内の最大バースト数(MBN):bmAttributes(Mult+1)=3バースト
インターバル期間(IP):1
1サービスインターバル(SI):125μs
図10は、各パラメータ間の関係を説明する図である。なお、SIあたりの転送速度(TSSI)は以下の式1で求められる。
TSSI=MPS×BMPN×MBN (式1)
上記パラメータより、TSSIは、49152バイト/125μsになる。よって、1秒あたりの転送速度(TS)は以下の式2で求められる。
TS=MPL/(1/SIIP) (式2)
上記パラメータより、ここでは、TSは3Gbpsになる。よって、デバイス532の転送速度は閾値を超えているので、ステップS706に進む。
ステップS706において、ホスト500は、他のデバイスが接続されたか判定する。他のデバイスが接続された(YES)場合は、ステップS708に進み、接続されていない(NO)の場合、ステップS710に進む。ステップS710では、現在接続されている全てのデバイスとのケーブル接続が切断されたかを判定する。YESの場合は接続処理を終了する。NOの場合はS706に戻り、前述した処理を繰り返す。
図8は、ステップS708の詳細シーケンスを示す図である。ここでは、デバイス534(リアルタイム性のあるデータ転送を要求しないデバイス)がコネクタ522に接続されたものとする。
ステップS800では、ホスト500は、デバイス534がコネクタを介して接続されると、VBUSをONにする。ステップS802では、デバイス534はVBUS ONを検出し、ステップS804では、デバイス534は自身のSSリンクがReadyになるまで待つ。
ステップS806では、デバイス534は、自身のSSのリンクがReadyになると、その旨をホスト500に通知する。ステップS808では、ホスト500は、接続制御部520を制御して、デバイス534との接続をNSS(USB2.0)モード接続にするために、デバイス534のSSリンクとのハンドシェイク(接続要求)に応答しないようにSS502を制御する。これにより、当該ハンドシェイクはタイムアウトすることになる。そのため、ステップS810では、デバイス534は、ホスト500がSSに未対応であると判定し、NSS(USB2.0)モードで接続するために、D+をプルアップする。ステップS812では、ホスト500は、D+プルアップにより、NSS(USB2.0)が電気的に接続したことを検出する。ステップS814では、ホスト500とデバイス534の双方で、NSSリンク間でリンクの初期化処理を行い、ステップS816では、NSSモード接続が確立する。
以上のように、リアルタイム転送を要求し所定の転送速度を要求するデバイスとの間で既にSSモード接続が確立している間は、新たに接続されたデバイスは強制的にNSS(USB2.0)モードで接続する。これにより、既に接続されているリアルタイム転送を要求するデバイスはSSモード接続の帯域を占有することが出来る。
<ケース2:まず、リアルタイム転送を必要としないデバイスをSSモードで接続し、その後、SSモード対応の他のデバイスを追加で接続する場合。>
図9は、ケース2におけるSS帯域の占有方法を説明するフローチャートである。ここでは、デバイス534(リアルタイム性のあるデータ転送を要求しないデバイス)がコネクタ522に接続され、ホスト500とSSモードで既に接続されているものとする。
ステップS900では、ホスト500は、現在接続されている全てのデバイスとのケーブル接続が切断されたかを判定する。YESの場合は接続処理を終了する。ステップS902では、ホスト500は、他のデバイスが新たに接続されたか判定する。NOの場合、ステップS900に戻り、YESの場合は、ステップS904に進む。ここでは新たにデバイス532(リアルタイム性のあるデータ転送を要求するデバイス)が接続されたものとする。
ステップS904では、ホスト500とデバイス532は、図4を参照して説明したネゴシエーションを行う。SSモードで接続した後、ホスト500は図4で説明したようにGet_Descriptor要求でデバイス532の属性情報を取得し、RAM514に保持する。
ステップS906では、ホスト500は、ステップS904で接続されたデバイス532がリアルタイム転送を必要とするデバイスか否かを、保持したデバイス属性情報から判定する。リアルタイム転送を必要とするデバイスである場合(YES)の場合はステップS908に進み、リアルタイム転送を必要としないデバイスである場合(NO)はステップS900に戻る。
具体的には、例えば、Get_Descriptor要求により取得されたEndpoint Descriptorを利用することが出来る。その場合、Endpoint情報(bmAttributes)がアイソクロナス(0x05)である場合に、リアルタイム転送を必要とするデバイスとして判定する。
ケース2では、デバイス532はリアルタイム転送を要するデバイスであるので、ステップS906の判定処理ではYESとなり、ステップS908に進む。
ステップ908では、ホスト500は、転送速度算出部536の算出結果が所定の閾値を越えているか否かを判定する。閾値を超えている場合はステップS910に進み、超えていない場合はステップS900に戻る。なお、転送速度算出方法は前述したステップS704と同様の方法で実現可能である。ここでは、デバイス532の転送速度は閾値を超えているので、ステップS910に進む。
ステップ910では、ホスト500は、ステップS904より前に接続されていたデバイス、即ちデバイス534に対するVBUSをOFFにし、ケーブルをつなげたままSSモード接続を切断する。
ステップ912では、ホスト500は、デバイス534とNSS(USB2.0)モードで再接続を行う。具体的な処理は、図8で説明したS800〜S816と同様である。
ステップS914では、ホスト500は、更なる別デバイスが接続されたか判定する。YESの場合は、ステップS916に進み、NOの場合はステップS918に進む。
ステップS918では現在接続されている全てのデバイスとのケーブル接続が切断されたかを判定する。YESの場合は接続処理を終了する。NOの場合はステップS914に戻る。ステップS916では、新規に接続された更なる別デバイスをNSS(USB2.0)モードで接続する。ステップS916の処理は図7で説明したS708と同様である。
以上のように、リアルタイム転送を要求しないデバイスが既にSSモードで接続されている状況において、リアルタイム転送を要求するデバイスを新たに接続する場合、既に接続しているデバイスをNSSモードで接続しなおすよう制御する。これにより、新たに接続したデバイスはSSモード接続の帯域を占有することが出来る。
以上ケース1および2について説明したように、第1実施形態によれば、リアルタイム転送を要求するデバイスにSSモード接続の帯域を占有させることが出来、また、NSSモード接続の帯域を有効利用することが可能になる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (12)

  1. 外部装置と接続するためのインタフェースであって、各々が、第1のバスコントローラにより制御される第1バスの端子と、第2のバスコントローラにより制御され前記第1バスとは独立した第2バスの端子と、を含む複数のインタフェースを有する接続手段と、
    前記複数のインタフェースの1つに外部装置が接続された場合、該外部装置が要求する通信条件を取得する取得手段と、
    前記第1バスおよび前記第2バスのうち何れか一方を介して前記外部装置との通信を確立するよう、前記第1のバスコントローラおよび前記第2のバスコントローラを制御する制御手段と、
    を有し、
    前記第1バスを介する通信は、前記第2バスを介する通信よりも通信速度が速く、
    前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含む場合、前記制御手段は、前記外部装置との通信が前記第1バスを占有するよう前記第1のバスコントローラを制御する
    ことを特徴とする通信制御装置。
  2. 前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含むか否かを判断する判断手段を更に有し、
    前記判断手段は、前記取得手段により取得した通信条件がアイソクロナス転送に関する情報を含む場合、前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含むと判断する
    ことを特徴とする請求項1に記載の通信制御装置。
  3. 前記取得手段は、前記第1バスを介して接続された前記外部装置から、該外部装置が要求する通信条件を取得する
    ことを特徴とする請求項1又は2に記載の通信制御装置。
  4. 前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含む外部装置との通信が前記第1バスを介して確立されている状態で、他の外部装置が前記複数のインタフェースの何れかに接続された場合、前記制御手段は、前記他の外部装置との通信を前記第2バスを介して確立するよう制御する
    ことを特徴とする請求項1乃至3の何れか1項に記載の通信制御装置。
  5. 前記制御手段は、前記取得手段により取得した通信条件がリアルタイム転送を要求するための情報を含む外部装置との通信を前記第1バスを介して確立している間、前記複数のインタフェースの何れかに接続された他の外部装置からの接続要求に応答しないよう前記第1のバスコントローラを制御する
    ことを特徴とする請求項1乃至4の何れか1項に記載の通信制御装置。
  6. 前記通信条件がリアルタイム転送を要求するための情報を含まない第1の外部装置との通信が前記第1バスを介して確立している状態で、前記通信条件がリアルタイム転送を要求するための情報を含む第2の外部装置が前記複数のインタフェースの何れかに接続された場合、前記制御手段は、前記第1の外部装置との通信を切断し、前記第2の外部装置との通信を前記第1バスを介して確立するよう制御する
    ことを特徴とする請求項1乃至5の何れか1項に記載の通信制御装置。
  7. 前記通信条件がリアルタイム転送を要求するための情報を含まない第1の外部装置との通信が前記第1バスを介して確立している状態で、前記通信条件がリアルタイム転送を要求するための情報を含む第2の外部装置が前記複数のインタフェースの何れかに接続された場合、前記制御手段は、前記第1の外部装置との通信を前記第2バスを介して確立しなおし、前記第2の外部装置との通信を前記第1バスを介して確立するよう制御する
    ことを特徴とする請求項1乃至5の何れか1項に記載の通信制御装置。
  8. 前記通信条件がリアルタイム転送を要求するための情報を含む場合、前記通信条件に含まれるデータ転送パラメータに基づいて前記外部装置の通信速度を算出する算出手段を更に有し、
    前記算出手段により算出された通信速度が所定の閾値を超えない第1の外部装置との通信が前記第1バスを介して確立している状態で、該第1の外部装置とは異なる第2の外部装置が前記複数のインタフェースの何れかに接続され該第2の外部装置との通信が前記第1バスを介して確立され、かつ、該第2の外部装置に対して前記算出手段により算出された通信速度が前記所定の閾値を超える場合、前記制御手段は、前記第1の外部装置との通信が前記第1バスを占有しないよう、前記第1の外部装置との通信を前記第2バスを介して確立しなおすよう制御する
    ことを特徴とする請求項1乃至の何れか1項に記載の通信制御装置。
  9. 前記所定の閾値は、前記第2バスの最大通信速度以下の値であることを特徴とする請求項8に記載の通信制御装置。
  10. 前記インタフェースは、ユニバーサル・シリアル・バス(USB)3.0仕様準拠の接続コネクタであり、
    前記第1のバスコントローラは、スーパースピード(SS)コントローラであり、
    前記第2のバスコントローラは、非スーパースピード(NSS)コントローラである
    ことを特徴とする請求項1乃至9の何れか1項に記載の通信制御装置。
  11. 外部装置と接続するためのインタフェースであって、各々が、第1のバスコントローラにより制御される第1バスの端子と、第2のバスコントローラにより制御され前記第1バスとは独立した第2バスの端子と、を含む複数のインタフェースを有する接続手段を有する通信制御装置の制御方法であって、
    前記複数のインタフェースの1つに外部装置が接続された場合、該外部装置が要求する通信条件を取得する取得工程と、
    前記第1バスおよび前記第2バスのうち何れか一方を介して前記外部装置との通信を確立するよう、前記第1のバスコントローラおよび前記第2のバスコントローラを制御する制御工程と、
    を有し、
    前記第1バスを介する通信は、前記第2バスを介する通信よりも通信速度が速く、
    前記取得工程で取得された通信条件がリアルタイム転送を要求するための情報を含む場合、前記制御工程では、前記外部装置との通信が前記第1バスを占有するよう前記第1のバスコントローラを制御する
    ことを特徴とする通信制御装置の制御方法。
  12. コンピュータを、請求項1乃至10の何れか1項に記載の通信制御装置の各手段として機能させるためのプログラム。
JP2010235875A 2010-10-20 2010-10-20 通信制御装置およびその制御方法 Expired - Fee Related JP5743484B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010235875A JP5743484B2 (ja) 2010-10-20 2010-10-20 通信制御装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010235875A JP5743484B2 (ja) 2010-10-20 2010-10-20 通信制御装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2012088971A JP2012088971A (ja) 2012-05-10
JP2012088971A5 JP2012088971A5 (ja) 2013-11-28
JP5743484B2 true JP5743484B2 (ja) 2015-07-01

Family

ID=46260520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010235875A Expired - Fee Related JP5743484B2 (ja) 2010-10-20 2010-10-20 通信制御装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP5743484B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5763519B2 (ja) * 2011-12-28 2015-08-12 ルネサスエレクトロニクス株式会社 Usbハブコントローラ、usbホストコントローラ、およびシステム
CN104272216A (zh) * 2012-05-11 2015-01-07 富士通株式会社 电子设备及其控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293049A (ja) * 1996-04-25 1997-11-11 Toshiba Corp コンピュータシステムおよびこのシステムで使用されるシリアルインターフェース
JP2000148668A (ja) * 1998-11-11 2000-05-30 Nec Niigata Ltd バス調停システム
JP2007172160A (ja) * 2005-12-20 2007-07-05 Seiko Epson Corp Usb通信装置、及び通信速度切り替えのための方法
JP2012063817A (ja) * 2010-09-14 2012-03-29 Ricoh Co Ltd 通信装置

Also Published As

Publication number Publication date
JP2012088971A (ja) 2012-05-10

Similar Documents

Publication Publication Date Title
JP5917069B2 (ja) 通信制御装置およびその制御方法
TWI393009B (zh) 資料共享及傳輸之系統及方法
JP5889904B2 (ja) Usbリソースの活用のためのデバイス、システム、方法およびコンピュータ可読記憶媒体
TWI286889B (en) Universal serial bus adaptive signal rate
EP2842293B1 (en) Usb 3.0 link layer timer adjustment to extend distance
CN111316253B (zh) 增加usb-c连接器的带宽的方法
US20060056401A1 (en) Peripheral sharing USB hub
US8683085B1 (en) USB interface configurable for host or device mode
US10380049B2 (en) Multi-host supported universal serial bus hub and automobile head unit using the same
JP5700514B2 (ja) 通信速度制御装置および通信速度制御方法
CN108008980B (zh) 启动usb3.0兼容装置的重列举的方法和设备
US20040059857A1 (en) Hot swapping
CN106066842A (zh) 一种切换模式的方法、片上系统及基站
US10275387B2 (en) Method and associated interface circuit for mitigating interference due to signaling of a bus
JP5743484B2 (ja) 通信制御装置およびその制御方法
US8296486B2 (en) Peripheral device enabling enhanced communication
TWI479325B (zh) 通用序列匯流排裝置、通訊方法及電腦程式產品
JP2012058887A (ja) デバイス機器
JP2012098885A (ja) データ転送方法
JP5492844B2 (ja) インターフェースの接続方法およびコンピュータ
US7873768B2 (en) Peripheral device enabling enhanced communication
TW201220068A (en) Apparatus for processing USB data
KR20090024419A (ko) Usb를 이용한 통신방법 및 통신장치
JP6958110B2 (ja) 情報処理装置及びプログラム
US20090234991A1 (en) Enhanced throughput communication with a peripheral device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150304

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150428

R151 Written notification of patent or utility model registration

Ref document number: 5743484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees