(58)【調査した分野】(Int.Cl.,DB名)
外部接続用アップポートコネクタに接続可能な第1のアップポート端子と、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第1のダウンポート端子と接続され、第1の転送方式でデータを転送する第1のハブコントローラと、
前記外部接続用アップポートコネクタに接続可能な第2のアップポート端子と、前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第2のダウンポート端子と接続され、前記第1の転送方式よりも転送速度が遅い第2の転送方式でデータを転送する第2のハブコントローラと、
前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、
前記第1および第2のハブコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する、
USBハブコントローラ。
前記ポート情報格納部は、前記第1のアップポート端子および前記第1のハブコントローラを介して、または前記第2のアップポート端子および前記第2のハブコントローラを介して、前記外部接続用アップポートコネクタに接続される機器から前記ポート情報を取得する、請求項1に記載のUSBハブコントローラ。
前記第1のハブコントローラは、USBデバイス機器が接続された際に当該USBデバイス機器が前記スーパースピードモードに対応しているか否かを検出し、前記USBデバイス機器が前記スーパースピードモードに対応している場合、前記スーパースピードモードでデータを転送する、請求項4に記載のUSBハブコントローラ。
前記第2のハブコントローラは、USBデバイス機器が接続された際に当該USBデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応しているか否かを検出し、前記USBデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応している場合、前記USBデバイス機器が対応しているモードでデータを転送する、請求項4に記載のUSBハブコントローラ。
前記外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との間の配線、および前記外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との間の配線は、固定された配線を用いて配線されている、請求項7または8に記載のシステム。
前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続を制御するルート制御部と、
前記ルート制御部から出力された制御信号に応じて、前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続を切り替える切り替え回路と、を更に備え、
前記ポート情報格納部は前記ポート情報を前記ルート制御部から取得する、
請求項7または8に記載のシステム。
複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第1のダウンポート端子と、所定のシステムと接続可能なホストインタフェースと接続され、第1の転送方式でデータを転送する第1のホストコントローラと、
前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第2のダウンポート端子と、前記ホストインタフェースと接続され、前記第1の転送方式よりも転送速度が遅い第2の転送方式でデータを転送する第2のホストコントローラと、
前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、
前記第1および第2のホストコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する、
USBホストコントローラ。
前記ポート情報格納部は、前記ホストインタフェースおよび前記第1のホストコントローラを介して、または前記ホストインタフェースおよび前記第2のホストコントローラを介して、前記ポート情報を取得する、請求項11に記載のUSBホストコントローラ。
前記第1のホストコントローラは、USBデバイス機器が接続された際に当該USBデバイス機器が前記スーパースピードモードに対応しているか否かを検出し、前記USBデバイス機器が前記スーパースピードモードに対応している場合、前記スーパースピードモードでデータを転送する、請求項14に記載のUSBホストコントローラ。
前記第2のホストコントローラは、USBデバイス機器が接続された際に当該USBデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応しているか否かを検出し、前記USBデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応している場合、前記USBデバイス機器が対応しているモードでデータを転送する、請求項14に記載のUSBホストコントローラ。
前記外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との間の配線、および前記外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との間の配線は、固定された配線を用いて配線されている、請求項17または18に記載のシステム。
前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続を制御するルート制御部と、
前記ルート制御部から出力された制御信号に応じて、前記複数の外部接続用ダウンポートコネクタと前記複数の第1のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第2のダウンポート端子との接続を切り替える切り替え回路と、を更に備え、
前記ポート情報格納部は前記ポート情報を前記ルート制御部から取得する、
請求項17または18に記載のシステム。
【発明を実施するための形態】
【0019】
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、実施の形態1にかかるUSBハブコントローラを示すブロック図である。
図1に示すUSBハブコントローラ10は、第1のハブコントローラ11、第2のハブコントローラ12、ポート情報格納部13、第1のアップポート端子14、第2のアップポート端子15、メモリインタフェース16、複数の第1のダウンポート端子17_1〜17_N、および複数の第2のダウンポート端子18_1〜18_Nを備える。ここで、Nは2以上の整数であり、第1および第2のダウンポート端子のそれぞれの数に対応している。
【0020】
第1のハブコントローラ11は、例えばUSB3.0規格に準拠したハブコントローラであり、上流側に位置するUSBホストコントローラ(不図示)と下流側に位置するUSBデバイス機器(不図示)との間に設けられる。第1のハブコントローラ11は、上流側において第1のアップポート端子14と接続され、下流側において複数の第1のダウンポート端子17_1〜17_Nと接続されている。また、第1のハブコントローラ11は、第1のアップポート端子14を介して転送されてきたデータを第1のダウンポート端子17_1〜17_Nに転送し、第1のダウンポート端子17_1〜17_Nを介して転送されてきたデータを第1のアップポート端子14に転送する。
【0021】
このとき、第1のハブコントローラ11は、第1のアップポート端子14を介して転送されてきたデータを複数の第1のダウンポート端子17_1〜17_Nのいずれか一つに転送するルーティング処理を実施する。また、第1のハブコントローラ11は、第1の転送方式でデータを転送する。ここで、第1の転送方式は、例えばUSB3.0規格で規定されているスーパースピードモード(SSモード:転送速度5Gbps)である。
【0022】
また、第1のハブコントローラ11は、USBデバイス機器の接続の検出、接続されたUSBデバイス機器の転送速度の検出(つまり、転送速度がSSモードに対応しているか否かの検出)、接続されたUSBデバイス機器への電源の供給などを実施する。
【0023】
第2のハブコントローラ12は、例えばUSB2.0規格に準拠したハブコントローラであり、上流側に位置するUSBホストコントローラ(不図示)と下流側に位置するUSBデバイス機器(不図示)との間に設けられる。第2のハブコントローラ12は、上流側において第2のアップポート端子15と接続され、下流側において複数の第2のダウンポート端子18_1〜18_Nと接続されている。つまり、第2のハブコントローラ12は、第1のハブコントローラ11と並列に設けられている。また、第2のハブコントローラ12は、第2のアップポート端子15を介して転送されてきたデータを第2のダウンポート端子18_1〜18_Nに転送し、第2のダウンポート端子18_1〜18_Nを介して転送されてきたデータを第2のアップポート端子15に転送する。
【0024】
このとき、第2のハブコントローラ12は、第2のアップポート端子15を介して転送されてきたデータを第2のダウンポート端子18_1〜18_Nへブロードキャスト転送する、あるいは転送スピードに依存して第2のダウンポート端子18_1〜18_Nのいずれか一つに転送するルーティング処理を実施する。また、第2のハブコントローラ12は、第1の転送方式よりも転送速度が遅い第2の転送方式でデータを転送する。ここで、第2の転送方式は、例えばUSB2.0規格で規定されているハイスピードモード(HSモード:480Mbps)、フルスピードモード(FSモード:12Mbps)、ロースピードモード(LSモード:1.5Mbps)である。
【0025】
また、第2のハブコントローラ12は、USBデバイス機器の接続の検出や、接続されたUSBデバイス機器への電源の供給などを実施する。また、第2のハブコントローラ12は、接続されたUSBデバイス機器の転送速度を検出し、接続されたUSBデバイス機器の転送速度に対応するように、第2のアップポート端子15と第2のダウンポート端子18_1〜18_Nとの間の転送速度を変換する。つまり、第2のハブコントローラ12は、接続されたUSBデバイス機器がHSモードに対応している場合はHSモードでデータを転送し、接続されたUSBデバイス機器がHSモードに対応していない場合は、HSモードよりも転送速度が遅いFSモードやLSモードでデータを転送する。
【0026】
第1のアップポート端子14は、外部接続用アップポートコネクタに接続可能に構成されている。また、第2のアップポート端子15は、外部接続用アップポートコネクタに接続可能に構成されている。複数の第1のダウンポート端子17_1〜17_Nは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。複数の第2のダウンポート端子18_1〜18_Nは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。
【0027】
ここで、
図1に示す第1のハブコントローラ11、第2のハブコントローラ12、ポート情報格納部13、第1のアップポート端子14、第2のアップポート端子15、メモリインタフェース16、複数の第1のダウンポート端子17_1〜17_N、および複数の第2のダウンポート端子18_1〜18_Nは、例えば1つの半導体チップに搭載することができる。つまり、USBハブコントローラ10は1つの半導体チップで構成することができる。この場合、第1のアップポート端子14、第2のアップポート端子15、メモリインタフェース16、複数の第1のダウンポート端子17_1〜17_N、および複数の第2のダウンポート端子18_1〜18_Nは半導体チップの端子であり、外部に設けられた配線と接続される。
【0028】
図2は、
図1に示したUSBハブコントローラ10を搭載したシステム20(例えば、USBハブ)の一例を示すブロック図である。つまり、
図2に示すシステム20は、外部接続用アップポートコネクタ22および外部接続用ダウンポートコネクタ23_1〜23_4を備える実装基板25に、半導体チップであるUSBハブコントローラ10を実装することで構成することができる。
【0029】
USBハブコントローラ10が備える第1のアップポート端子14および第2のアップポート端子15は、外部接続用アップポートコネクタ22に接続されている。ここで、外部接続用アップポートコネクタ22は、システム20の上流側に位置するUSBホストコントローラ等と接続されるコネクタである。
【0030】
また、第1のダウンポート端子17_1(端子番号#1)は外部接続用ダウンポートコネクタ23_1(コネクタ番号#1)に接続され、第1のダウンポート端子17_3(端子番号#3)は外部接続用ダウンポートコネクタ23_2(コネクタ番号#2)に接続され、第1のダウンポート端子17_N(端子番号#N)は外部接続用ダウンポートコネクタ23_3(コネクタ番号#3)に接続されている。なお、第1のダウンポート端子17_2(端子番号#2)は外部接続用ダウンポートコネクタと接続されていない。
【0031】
また、第2のダウンポート端子18_1(端子番号#1)は外部接続用ダウンポートコネクタ23_1(コネクタ番号#1)に接続され、第2のダウンポート端子18_2(端子番号#2)は外部接続用ダウンポートコネクタ23_2(コネクタ番号#2)に接続され、第2のダウンポート端子18_3(端子番号#3)は外部接続用ダウンポートコネクタ23_4(コネクタ番号#4)に接続され、第2のダウンポート端子18_N(端子番号#N)は外部接続用ダウンポートコネクタ23_3(コネクタ番号#3)に接続されている。
【0032】
なお、
図2に示した第1のダウンポート端子17_1〜17_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続、および第2のダウンポート端子18_1〜18_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続は一例であり、これらの接続関係は任意に決定することができる。また、これらの接続は固定された配線を用いて配線されている。
【0033】
例えば、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続は、システム20に設けられた外部接続用ダウンポートコネクタの数や位置を考慮して決定することができる。また、USB3.0規格で規定されているSSモードでは転送速度が速いため、第1のダウンポート端子と外部接続用ダウンポートコネクタとの距離は短いほうが好ましい。よって、この点を考慮して第1のダウンポート端子と外部接続用ダウンポートコネクタとの接続を決定してもよい。
【0034】
また、
図2では外部接続用ダウンポートコネクタ23_1〜23_4の数が4つの場合について説明したが、外部接続用ダウンポートコネクタは複数であればよく、例えば5つ以上備えていてもよい。
【0035】
本実施の形態にかかるUSBハブコントローラ10は、ポート情報格納部13を有する。ポート情報格納部13は、第1のダウンポート端子17_1〜17_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続、および第2のダウンポート端子18_1〜18_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続に関するポート情報を格納することができる。
【0036】
図3は、ポート情報格納部13に格納されているポート情報の一例を示す表である。
図3に示すように、ポート情報格納部13は、外部接続用ダウンポートコネクタ23_1〜23_4の番号(#1〜#N)、第1のダウンポート端子17_1〜17_Nの番号(#1〜#N)、および第2のダウンポート端子18_1〜18_Nの番号(#1〜#N)の対応関係を示すテーブルをポート情報として格納することができる。
【0037】
図3に示す表において、外部接続用ダウンポートコネクタ番号#1は、第1のダウンポート端子番号#1と第2のダウンポート端子番号#1にそれぞれ対応しており、これは外部接続用ダウンポートコネクタ23_1(コネクタ番号#1)に、第1のダウンポート端子17_1(端子番号#1)および第2のダウンポート端子18_1(端子番号#1)がそれぞれ接続されていることを示している。
【0038】
また、外部接続用ダウンポートコネクタ番号#2は、第1のダウンポート端子番号#3と第2のダウンポート端子番号#2にそれぞれ対応しており、これは外部接続用ダウンポートコネクタ23_2(コネクタ番号#2)に、第1のダウンポート端子17_3(端子番号#3)および第2のダウンポート端子18_2(端子番号#2)がそれぞれ接続されていることを示している。
【0039】
また、外部接続用ダウンポートコネクタ番号#3は、第1のダウンポート端子番号#Nと第2のダウンポート端子番号#Nにそれぞれ対応しており、これは外部接続用ダウンポートコネクタ23_3(コネクタ番号#3)に、第1のダウンポート端子17_N(端子番号#N)および第2のダウンポート端子18_N(端子番号#N)がそれぞれ接続されていることを示している。
【0040】
また、外部接続用ダウンポートコネクタ番号#4は、第1のダウンポート端子番号"0"と第2のダウンポート端子番号#3にそれぞれ対応している。ここで、第1のダウンポート端子番号が"0"である場合は、外部接続用ダウンポートコネクタが第1のダウンポート端子のいずれとも接続されていないことを示している。よってこの場合は、外部接続用ダウンポートコネクタ23_4(コネクタ番号#4)は、第2のダウンポート端子18_3(端子番号#3)のみと接続されている。
【0041】
外部接続用ダウンポートコネクタ番号が#5〜#Nでは、第1のダウンポート端子番号および第2のダウンポート端子番号が共に"0"である。よって、外部接続用ダウンポートコネクタ番号#5〜#Nに対応する外部接続用ダウンポートコネクタは、第1のダウンポート端子および第2のダウンポート端子と接続されていない。
【0042】
ポート情報格納部13は、
図3に示すようなポート情報を、外部(例えば、実装基板25)に設けられたメモリ21からメモリインタフェース16を介して取得することができる。つまり、USBハブコントローラ(半導体チップ)10を実装基板25に実装する際に、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてメモリ21に格納し、メモリ21とメモリインタフェース16とを接続する。これにより、ポート情報格納部13はメモリ21に格納されているポート情報を取得することができる。メモリ21には、例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ等の不揮発性メモリを用いることができる。
【0043】
このポート情報は、USBハブコントローラ(半導体チップ)10の実装形態(つまり、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係)によりそれぞれ異なるため、メモリ21にはそれぞれの実装形態に応じたポート情報が格納される。
【0044】
第1のハブコントローラ11および第2のハブコントローラ12はそれぞれ、ポート情報格納部13に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第1のハブコントローラ11および第2のハブコントローラ12は、ポート情報格納部13に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【0045】
例えば、
図2に示すUSBハブコントローラ10が備える第1のダウンポート端子17_1〜17_Nは、外部接続用ダウンポートコネクタ23_1〜23_4のうちの3つと接続されている。よって、第1のハブコントローラ11は、USB3.0規格のSSモードに対応した外部接続用ダウンポートコネクタの総数が3つであることを、システムソフトウェアに対して通知することができる。一方、第2のダウンポート端子18_1〜18_Nは、外部接続用ダウンポートコネクタ23_1〜23_4の全てと接続されている。よって、第2のハブコントローラ12は、USB2.0規格の転送モードに対応した外部接続用ダウンポートコネクタの総数が4つであることを、システムソフトウェアに対して通知することができる。
【0046】
また、例えば、第1のハブコントローラ11が外部接続用ダウンポートコネクタ23_2にデータを転送する場合、第1のハブコントローラ11は、ポート情報格納部13に格納されているポート情報を参照して、外部接続用ダウンポートコネクタ23_2と接続されている第1のダウンポート端子17_3にデータを転送する。このように、第1のハブコントローラ11は、ポート情報格納部13に格納されているポート情報を参照することでパケットのルーティング処理を実施することができる。なお、第2のハブコントローラ12についても同様である。
【0047】
また、例えば、第1のダウンポート端子17_3と第2のダウンポート端子18_2の両方に接続されている外部接続用ダウンポートコネクタ23_2にUSBデバイス機器が接続された場合、第1のハブコントローラ11は、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モードに対応しているか判断する。また、第2のハブコントローラ12は、接続されたUSBデバイス機器がUSB2.0規格で規定された転送モードに対応しているか判断する。そして、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モード(SSモード)に対応している場合、第1のハブコントローラ11は、第1のダウンポート端子17_3および外部接続用ダウンポートコネクタ23_2を介して、USB3.0規格で規定された転送モードでUSBデバイス機器と通信をする。一方、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モードに対応していないがUSB2.0規格で規定された転送モードに対応している場合、第2のハブコントローラ12は、第2のダウンポート端子18_2および外部接続用ダウンポートコネクタ23_2を介して、USB2.0規格で規定された転送モードでUSBデバイス機器と通信をする。
【0048】
背景技術で説明したように、USB3.0規格が策定されたことにより、転送速度が5Gbpsであるスーパースピードモード(SSモード)が新たに追加された。これに伴い、USBインタフェースとして、従来のUSB2.0規格で用いられている転送速度(HSモード、FSモード、LSモード)と、新たに追加されたUSB3.0規格で用いられている転送速度(SSモード)とが共存しているインタフェースが必要とされていた。このため、複数のダウンポート端子を有するUSBハブコントローラでは、USB3.0規格に準拠したハブコントローラとUSB2.0規格に準拠したハブコントローラとを並列に設ける必要があった。
【0049】
しかしながら、USB3.0規格に準拠したハブコントローラとUSB2.0規格に準拠したハブコントローラとを備えるUSBハブコントローラを搭載するシステム(実装基板)によっては、システムが必要とするUSB3.0規格のダウンポート端子の数と、USB2.0規格のダウンポート端子の数が異なる場合があった。また、USBハブコントローラを搭載するシステムによっては、USB2.0規格のダウンポート端子のみに接続される外部接続用ダウンポートコネクタと、USB3.0規格のダウンポート端子とUSB2.0規格のダウンポート端子の両方に接続される外部接続用ダウンポートコネクタとが混在するなど、USBハブコントローラを搭載するシステムに応じてシステム構成が異なっていた。よって、USBハブコントローラを搭載するシステムに応じて、USB3.0規格のダウンポート端子とUSB2.0規格のダウンポート端子を適切に管理する必要があった。
【0050】
そこで本実施の形態にかかるUSBハブコントローラ10では、第1のダウンポート端子17_1〜17_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続、および第2のダウンポート端子18_1〜18_Nと外部接続用ダウンポートコネクタ23_1〜23_4との接続に関するポート情報を格納することができるポート情報格納部13を設けている。このように、ポート情報格納部13を設けることで、第1のハブコントローラ11および第2のハブコントローラ12は、USBハブコントローラ(半導体チップ)10の実装形態(第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係)に応じたポート情報を取得することができる。そして、第1のハブコントローラ11および第2のハブコントローラ12は、このポート情報に基づいてデータ転送処理を実施することができる。よって、規格が異なる第1のハブコントローラ11および第2のハブコントローラ12が混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【0051】
また、本実施の形態では、ポート情報格納部13は、実装基板25に設けられたメモリ21からポート情報を取得している。よって、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を変更する場合、メモリ21に格納されているポート情報を書き換えるのみでポート情報格納部13のポート情報を変更することができる。したがって、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を柔軟に変更することができる。換言すると、USBハブコントローラ(半導体チップ)10の構成を変更することなく、USBハブコントローラ(半導体チップ)10の実装形態を変更することができる。
【0052】
例えば、USBハブコントローラを搭載した様々なシステムを提供するベンダーは、本実施の形態にかかるUSBハブコントローラ10を用いることで、同一のUSBハブコントローラを用いて様々なシステムを提供することができる。
【0053】
以上で説明した本実施の形態にかかる発明により、規格が異なるハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるUSBハブコントローラおよびUSBハブコントローラを含むシステムを提供することができる。
【0054】
<実施の形態2>
次に、本発明の実施の形態2について説明する。
図4は、本実施の形態にかかるUSBホストコントローラを示すブロック図である。
図4に示すUSBホストコントローラ30は、第1のホストコントローラ31、第2のホストコントローラ32、ポート情報格納部33、ホストインタフェース34、メモリインタフェース36、複数の第1のダウンポート端子37_1〜37_N、および複数の第2のダウンポート端子38_1〜38_Nを備える。ここで、Nは2以上の整数であり、第1および第2のダウンポート端子のそれぞれの数に対応している。
【0055】
第1のホストコントローラ31は、例えばUSB3.0規格に準拠したホストコントローラである。第1のホストコントローラ31は、上流側においてホストインタフェース34と接続され、下流側において複数の第1のダウンポート端子37_1〜37_Nと接続されている。ホストインタフェース34は上流側においてバスと接続可能に構成されている。ここで、例えば、ホストインタフェース34はPCIバスインタフェースであり、ホストインタフェース34はPCIバスと接続され、このPCIバスを介して所定のシステムと接続される。また、例えば、第1のホストコントローラ31は、xHCI(eXtensible Host Controller Interface)を備えている。
【0056】
第1のホストコントローラ31は、ホストインタフェース34を介して転送されてきたデータを第1のダウンポート端子37_1〜37_Nに転送し、第1のダウンポート端子37_1〜37_Nを介して転送されてきたデータをホストインタフェース34に転送する。このとき、第1のホストコントローラ31は、ホストインタフェース34を介して転送されてきたデータを複数の第1のダウンポート端子37_1〜37_Nのいずれか一つに転送するルーティング処理を実施する。また、第1のホストコントローラ31は、第1の転送方式でデータを転送する。ここで、第1の転送方式は、例えばUSB3.0規格で規定されているスーパースピードモード(SSモード:転送速度5Gbps)である。
【0057】
また、第1のホストコントローラ31は、USBデバイス機器の接続の検出、接続されたUSBデバイス機器の転送速度の検出(つまり、転送速度がSSモードに対応しているか否かの検出)、USBデバイス機器固有の番号を付与するエニュメレーション処理、接続されたUSBデバイス機器への電源の供給などを実施する。
【0058】
第2のホストコントローラ32は、例えばUSB2.0規格に準拠したホストコントローラである。第2のホストコントローラ32は、上流側においてホストインタフェース34と接続され、下流側において複数の第1のダウンポート端子38_1〜38_Nと接続されている。例えば、第2のホストコントローラ32は、EHCIと並列にOHCI(Open Host Controller Interface)を備えている。また、第2のホストコントローラ32は、xHCI(eXtensible Host Controller Interface)を備えていてもよい。
【0059】
第2のホストコントローラ32は、ホストインタフェース34を介して転送されてきたデータを第2のダウンポート端子38_1〜38_Nに転送し、第2のダウンポート端子38_1〜38_Nを介して転送されてきたデータをホストインタフェース34に転送する。このとき、第2のホストコントローラ32は、ホストインタフェース34を介して転送されてきたデータを複数の第2のダウンポート端子38_1〜38_Nへブロードキャスト転送する、あるいは複数の第2のダウンポート端子38_1〜38_Nのいずれか一つに転送するルーティング処理を実施する。また、第2のホストコントローラ32は、第1の転送方式よりも転送速度が遅い第2の転送方式でデータを転送する。ここで、第2の転送方式は、例えばUSB2.0規格で規定されているハイスピードモード(HSモード:480Mbps)、フルスピードモード(FSモード:12Mbps)、ロースピードモード(LSモード:1.5Mbps)である。なお、上記のEHCIはHSモード用のインタフェースであり、OHCIはFSモード用およびLSモード用のインタフェースである。
【0060】
また、第2のホストコントローラ32は、USBデバイス機器の接続の検出、USBデバイス機器固有の番号を付与するエニュメレーション処理、接続されたUSBデバイス機器への電源の供給などを実施する。また、第2のホストコントローラ32は、接続されたUSBデバイス機器の転送速度を検出し、接続されたUSBデバイス機器の転送速度に対応するように、ホストインタフェース34と第2のダウンポート端子38_1〜38_Nとの間の転送速度を変換する。つまり、第2のホストコントローラ32は、接続されたUSBデバイス機器がHSモードに対応している場合はHSモードでデータを転送し、接続されたUSBデバイス機器がHSモードに対応していない場合は、HSモードよりも転送速度が遅いFSモードやLSモードでデータを転送する。
【0061】
ホストインタフェース34は上流側においてバスと接続可能に構成されている。複数の第1のダウンポート端子37_1〜37_Nは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。複数の第2のダウンポート端子38_1〜38_Nは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。
【0062】
ここで、
図4に示す第1のホストコントローラ31、第2のホストコントローラ32、ポート情報格納部33、ホストインタフェース34、メモリインタフェース36、複数の第1のダウンポート端子37_1〜37_N、および複数の第2のダウンポート端子38_1〜38_Nは、例えば1つの半導体チップに搭載することができる。つまり、USBホストコントローラ30は1つの半導体チップで構成することができる。この場合、ホストインタフェース34、メモリインタフェース36、複数の第1のダウンポート端子37_1〜37_N、および複数の第2のダウンポート端子38_1〜38_Nは半導体チップの端子であり、外部に設けられた配線と接続される。
【0063】
図5は、
図4に示したUSBホストコントローラ30を搭載したシステム40の一例を示すブロック図である。ここで、システム40は、例えばパーソナルコンピュータや携帯端末機器などである。
図5に示すシステム40は、外部接続用ダウンポートコネクタ43_1〜43_4を備える実装基板45に、半導体チップであるUSBホストコントローラ30を実装することで構成することができる。なお、例えば、ホストインタフェース34は、実装基板45に設けられたバス(不図示)を介して所定のシステム(CPU等)と接続されている。
【0064】
第1のダウンポート端子37_1(端子番号#1)は外部接続用ダウンポートコネクタ43_1(コネクタ番号#1)に接続され、第1のダウンポート端子37_3(端子番号#3)は外部接続用ダウンポートコネクタ43_2(コネクタ番号#2)に接続され、第1のダウンポート端子37_N(端子番号#N)は外部接続用ダウンポートコネクタ43_3(コネクタ番号#3)に接続されている。なお、第1のダウンポート端子37_2(端子番号#2)は外部接続用ダウンポートコネクタと接続されていない。
【0065】
また、第2のダウンポート端子38_1(端子番号#1)は外部接続用ダウンポートコネクタ43_1(コネクタ番号#1)に接続され、第2のダウンポート端子38_2(端子番号#2)は外部接続用ダウンポートコネクタ43_2(コネクタ番号#2)に接続され、第2のダウンポート端子38_3(端子番号#3)は外部接続用ダウンポートコネクタ43_4(コネクタ番号#4)に接続され、第2のダウンポート端子38_N(端子番号#N)は外部接続用ダウンポートコネクタ43_3(コネクタ番号#3)に接続されている。
【0066】
なお、
図5に示した第1のダウンポート端子37_1〜37_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続、および第2のダウンポート端子38_1〜38_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続は一例であり、これらの接続関係は任意に決定することができる。また、これらの接続は固定された配線を用いて配線されている。
【0067】
例えば、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続は、システム40に設けられた外部接続用ダウンポートコネクタの数や位置を考慮して決定することができる。また、USB3.0規格で規定されているSSモードでは転送速度が速いため、第1のダウンポート端子と外部接続用ダウンポートコネクタとの距離は短いほうが好ましい。よって、この点を考慮して第1のダウンポート端子と外部接続用ダウンポートコネクタとの接続を決定してもよい。
【0068】
また、
図5では外部接続用ダウンポートコネクタ43_1〜43_4の数が4つの場合について説明したが、外部接続用ダウンポートコネクタは複数であればよく、例えば5つ以上備えていてもよい。
【0069】
本実施の形態にかかるUSBホストコントローラ30は、ポート情報格納部33を有する。ポート情報格納部33は、第1のダウンポート端子37_1〜37_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続、および第2のダウンポート端子38_1〜38_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続に関するポート情報を格納することができる。
【0070】
なお、ポート情報格納部33に格納されているポート情報の一例については、
図3の場合(実施の形態1参照)と同様であるので重複した説明は省略する。
【0071】
ポート情報格納部33は、
図3に示すようなポート情報を、外部(例えば、実装基板45)に設けられたメモリ41からメモリインタフェース36を介して取得することができる。つまり、USBホストコントローラ(半導体チップ)30を実装基板45に実装する際に、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてメモリ41に格納し、メモリ41とメモリインタフェース36とを接続する。これにより、ポート情報格納部33はメモリ41に格納されているポート情報を取得することができる。メモリ41には、例えばEEPROM、フラッシュメモリ等の不揮発性メモリを用いることができる。
【0072】
このポート情報は、USBホストコントローラ(半導体チップ)30の実装形態(つまり、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係)によりそれぞれ異なるため、メモリ41にはそれぞれの実装形態に応じたポート情報が格納される。
【0073】
第1のホストコントローラ31および第2のホストコントローラ32はそれぞれ、ポート情報格納部33に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第1のホストコントローラ31および第2のホストコントローラ32は、ポート情報格納部33に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、USBデバイス機器固有の番号を付与するエニュメレーション処理を実施したり、パケットのルーティング処理を実施したりする。
【0074】
例えば、
図5に示すUSBホストコントローラ30が備える第1のダウンポート端子37_1〜37_Nは、外部接続用ダウンポートコネクタ43_1〜43_4のうちの3つと接続されている。よって、第1のホストコントローラ31は、USB3.0規格のSSモードに対応した外部接続用ダウンポートコネクタの総数が3つであることを、システムソフトウェアに対して通知することができる。一方、第2のダウンポート端子38_1〜38_Nは、外部接続用ダウンポートコネクタ43_1〜43_4の全てと接続されている。よって、第2のホストコントローラ32は、USB2.0規格の転送モードに対応した外部接続用ダウンポートコネクタの総数が4つであることを、システムソフトウェアに対して通知することができる。
【0075】
また、例えば、第1のホストコントローラ31が外部接続用ダウンポートコネクタ43_2にデータを転送する場合、第1のホストコントローラ31は、ポート情報格納部33に格納されているポート情報を参照して、外部接続用ダウンポートコネクタ43_2と接続されている第1のダウンポート端子37_3にデータを転送する。このように、第1のホストコントローラ31は、ポート情報格納部33に格納されているポート情報を参照することで、パケットのルーティング処理を実施することができる。なお、第2のホストコントローラ32についても同様である。
【0076】
また、例えば、第1のダウンポート端子37_3と第2のダウンポート端子38_2の両方に接続されている外部接続用ダウンポートコネクタ43_2にUSBデバイス機器が接続された場合、第1のホストコントローラ31は、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モードに対応しているか判断する。また、第2のホストコントローラ32は、接続されたUSBデバイス機器がUSB2.0規格で規定された転送モードに対応しているか判断する。そして、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モード(SSモード)に対応している場合、第1のホストコントローラ31は、第1のダウンポート端子37_3および外部接続用ダウンポートコネクタ43_2を介して、USB3.0規格で規定された転送モードでUSBデバイス機器と通信をする。一方、接続されたUSBデバイス機器がUSB3.0規格で規定された転送モードに対応していないがUSB2.0規格で規定された転送モードに対応している場合、第2のホストコントローラ32は、第2のダウンポート端子38_2および外部接続用ダウンポートコネクタ43_2を介して、USB2.0規格で規定された転送モードでUSBデバイス機器と通信をする。
【0077】
背景技術で説明したように、USB3.0規格が策定されたことにより、転送速度が5Gbpsであるスーパースピードモード(SSモード)が新たに追加された。これに伴い、USBインタフェースとして、従来のUSB2.0規格で用いられている転送速度(HSモード、FSモード、LSモード)と、新たに追加されたUSB3.0規格で用いられている転送速度(SSモード)とが共存しているインタフェースが必要とされていた。このため、複数のダウンポート端子を有するUSBホストコントローラでは、USB3.0規格に準拠したホストコントローラとUSB2.0規格に準拠したホストコントローラとを並列に設ける必要があった。
【0078】
しかしながら、USB3.0規格に準拠したホストコントローラとUSB2.0規格に準拠したホストコントローラとを備えるUSBホストコントローラを搭載するシステム(実装基板)によっては、システムが必要とするUSB3.0規格のダウンポート端子の数と、USB2.0規格のダウンポート端子の数が異なる場合があった。また、USBホストコントローラを搭載するシステムによっては、USB2.0規格のダウンポート端子のみに接続される外部接続用ダウンポートコネクタと、USB3.0規格のダウンポート端子とUSB2.0規格のダウンポート端子の両方に接続される外部接続用ダウンポートコネクタとが混在するなど、USBホストコントローラを搭載するシステムに応じてシステム構成が異なっていた。よって、USBホストコントローラを搭載するシステムに応じて、USB3.0規格のダウンポート端子とUSB2.0規格のダウンポート端子を適切に管理する必要があった。
【0079】
そこで本実施の形態にかかるUSBホストコントローラ30では、第1のダウンポート端子37_1〜37_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続、および第2のダウンポート端子38_1〜38_Nと外部接続用ダウンポートコネクタ43_1〜43_4との接続に関するポート情報を格納することができるポート情報格納部33を設けている。このように、ポート情報格納部33を設けることで、第1のホストコントローラ31および第2のホストコントローラ32は、USBホストコントローラ(半導体チップ)30の実装形態(第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係)に応じたポート情報を取得することができる。そして、第1のホストコントローラ31および第2のホストコントローラ32は、このポート情報に基づいてデータ転送処理を実施することができる。よって、規格が異なる第1のホストコントローラ31および第2のホストコントローラ32が混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【0080】
また、本実施の形態では、ポート情報格納部33は、実装基板45に設けられたメモリ41からポート情報を取得している。よって、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を変更する場合、メモリ41に格納されているポート情報を書き換えるのみでポート情報格納部33のポート情報を変更することができる。したがって、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を柔軟に変更することができる。換言すると、USBホストコントローラ(半導体チップ)30の構成を変更することなく、USBホストコントローラ(半導体チップ)30の実装形態を変更することができる。
【0081】
例えば、USBホストコントローラを搭載した様々なシステムを提供するベンダーは、本実施の形態にかかるUSBホストコントローラ30を用いることで、同一のUSBホストコントローラを用いて様々なシステムを提供することができる。
【0082】
以上で説明した本実施の形態にかかる発明により、規格が異なるホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるUSBホストコントローラおよびUSBホストコントローラを含むシステムを提供することができる。
【0083】
<実施の形態3>
次に、本発明の実施の形態3について説明する。
図6は、本実施の形態にかかるUSBハブコントローラを示すブロック図である。また、
図7は、本実施の形態にかかるUSBハブコントローラを搭載したシステムを示すブロック図である。本実施の形態にかかるUSBハブコントローラおよびUSBハブコントローラを搭載したシステムは、実施の形態1(
図1参照)にかかるUSBハブコントローラおよびUSBハブコントローラを搭載したシステム(
図2参照)と比べて、メモリインタフェース16およびメモリ21を備えていない点が異なる。これ以外は実施の形態1にかかるUSBハブコントローラ(
図1参照)およびUSBハブコントローラを搭載したシステム(
図2参照)と同様であるので、重複した説明は省略する。
【0084】
図6に示すように、本実施の形態にかかるUSBハブコントローラ50は、第1のハブコントローラ51、第2のハブコントローラ52、ポート情報格納部53、第1のアップポート端子54、第2のアップポート端子55、複数の第1のダウンポート端子57_1〜57_N、および複数の第2のダウンポート端子58_1〜58_Nを備える。ここで、Nは2以上の整数であり、第1および第2のダウンポート端子のそれぞれの数に対応している。
【0085】
なお、
図6に示す第1のハブコントローラ51、第2のハブコントローラ52、第1のアップポート端子54、第2のアップポート端子55、複数の第1のダウンポート端子57_1〜57_N、および複数の第2のダウンポート端子58_1〜58_Nはそれぞれ、
図1に示した第1のハブコントローラ11、第2のハブコントローラ12、第1のアップポート端子14、第2のアップポート端子15、メモリインタフェース16、複数の第1のダウンポート端子17_1〜17_N、および複数の第2のダウンポート端子18_1〜18_Nと同様であるので重複した説明は省略する。
【0086】
図7は、
図6に示したUSBハブコントローラ50を搭載したシステム60(例えば、USBハブ)の一例を示すブロック図である。つまり、
図7に示すシステム60は、外部接続用アップポートコネクタ62および外部接続用ダウンポートコネクタ63_1〜63_4を備える実装基板65に、半導体チップであるUSBハブコントローラ50を実装することで構成することができる。
【0087】
なお、
図7に示す外部接続用アップポートコネクタ62および外部接続用ダウンポートコネクタ63_1〜63_4はそれぞれ、
図2に示した外部接続用アップポートコネクタ22および外部接続用ダウンポートコネクタ23_1〜23_4と同様であるので、重複した説明は省略する。
【0088】
USBハブコントローラ50が備えるポート情報格納部53は、第1のダウンポート端子57_1〜57_Nと外部接続用ダウンポートコネクタ63_1〜63_4との接続、および第2のダウンポート端子58_1〜58_Nと外部接続用ダウンポートコネクタ63_1〜63_4との接続に関するポート情報を格納することができる。
【0089】
なお、ポート情報格納部53に格納されているポート情報の一例については、
図3の場合(実施の形態1参照)と同様であるので重複した説明は省略する。
【0090】
本実施の形態において、ポート情報格納部53は、
図3に示すようなポート情報を、第1のアップポート端子54および第1のハブコントローラ51を介して、または第2のアップポート端子55および第2のハブコントローラ52を介して取得する。つまり、USBハブコントローラ(半導体チップ)50を実装基板65に実装した後、システムソフトウェアやシステムファームウェアを用いて、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてポート情報格納部53に書き込むことができる。このとき、ポート情報は、上流側から、外部接続用アップポートコネクタ62、第1のアップポート端子54、および第1のハブコントローラ51を経由して、または外部接続用アップポートコネクタ62、第2のアップポート端子55、および第2のハブコントローラ52を経由して、ポート情報格納部53に供給される。
【0091】
例えば、USBハブコントローラ50を搭載したシステム60を構築したユーザがシステムソフトウェアやシステムファームウェアを書き換えることで、ポート情報格納部53のポート情報を書き換えることができる。
【0092】
なお、ポート情報格納部53のこれ以外の構成および動作は実施の形態1で説明したポート情報格納部13と同様であるので、重複した説明は省略する。
【0093】
本実施の形態にかかるUSBハブコントローラにおいても、実施の形態1にかかるUSBハブコントローラと同様の効果を奏することができる。すなわち、規格が異なるハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるUSBハブコントローラおよびUSBハブコントローラを含むシステムを提供することができる。
【0094】
特に、本実施の形態にかかるUSBハブコントローラ50では、ポート情報格納部53が、第1のアップポート端子54および第1のハブコントローラ51を介して、または第2のアップポート端子55および第2のハブコントローラ52を介して、ポート情報を取得している。よって、ポート情報格納部53が外部に設けられたメモリと通信をするためのメモリインタフェースを設ける必要がないため、装置構成を簡略化することができる。また、USBハブコントローラ50を含むシステム60においても、ポート情報を格納したメモリや、当該メモリとUSBハブコントローラ50のメモリインタフェースとを結ぶ配線を設ける必要がなく、装置構成を簡略化することができる。
【0095】
<実施の形態4>
次に、本発明の実施の形態4について説明する。
図8は、本実施の形態にかかるUSBホストコントローラを示すブロック図である。また、
図9は、本実施の形態にかかるUSBホストコントローラを搭載したシステムを示すブロック図である。本実施の形態にかかるUSBホストコントローラおよびUSBホストコントローラを搭載したシステムは、実施の形態2(
図4参照)にかかるUSBホストコントローラおよびUSBホストコントローラを搭載したシステム(
図5参照)と比べて、メモリインタフェース36およびメモリ41を備えていない点が異なる。これ以外は実施の形態2にかかるUSBホストコントローラ(
図4参照)およびUSBホストコントローラを搭載したシステム(
図5参照)と同様であるので、重複した説明は省略する。
【0096】
図8に示すように、本実施の形態にかかるUSBホストコントローラ70は、第1のホストコントローラ71、第2のホストコントローラ72、ポート情報格納部73、ホストインタフェース74、複数の第1のダウンポート端子77_1〜77_N、および複数の第2のダウンポート端子78_1〜78_Nを備える。ここで、Nは2以上の整数であり、第1および第2のダウンポート端子のそれぞれの数に対応している。
【0097】
なお、
図8に示す第1のホストコントローラ71、第2のホストコントローラ72、ホストインタフェース74、複数の第1のダウンポート端子77_1〜77_N、および複数の第2のダウンポート端子78_1〜78_Nはそれぞれ、
図4に示した第1のホストコントローラ31、第2のホストコントローラ32、ホストインタフェース34、複数の第1のダウンポート端子37_1〜37_N、および複数の第2のダウンポート端子38_1〜38_Nと同様であるので重複した説明は省略する。
【0098】
図9は、
図8に示したUSBホストコントローラ70を搭載したシステム80の一例を示すブロック図である。つまり、
図9に示すシステム80は、外部接続用ダウンポートコネクタ83_1〜83_4を備える実装基板85に、半導体チップであるUSBホストコントローラ70を実装することで構成することができる。
【0099】
なお、
図9に示す外部接続用ダウンポートコネクタ83_1〜83_4はそれぞれ、
図5に示した外部接続用ダウンポートコネクタ43_1〜43_4と同様であるので、重複した説明は省略する。
【0100】
USBホストコントローラ70が備えるポート情報格納部73は、第1のダウンポート端子77_1〜77_Nと外部接続用ダウンポートコネクタ83_1〜83_4との接続、および第2のダウンポート端子78_1〜78_Nと外部接続用ダウンポートコネクタ83_1〜83_4との接続に関するポート情報を格納することができる。
【0101】
なお、ポート情報格納部73に格納されているポート情報の一例については、
図3の場合(実施の形態1参照)と同様であるので重複した説明は省略する。
【0102】
本実施の形態において、ポート情報格納部73は、
図3に示すようなポート情報を、ホストインタフェース74および第1のホストコントローラ71を介して、またはホストインタフェース74および第2のホストコントローラ72を介して取得する。つまり、USBホストコントローラ(半導体チップ)70を実装基板85に実装した後、システムソフトウェアやシステムファームウェアを用いて、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてポート情報格納部73に書き込むことができる。このとき、ポート情報は、上流側(例えば、PC等)から、ホストインタフェース74および第1のホストコントローラ71を経由して、またはホストインタフェース74および第2のホストコントローラ72を経由して、ポート情報格納部73に供給される。
【0103】
例えば、USBホストコントローラ70を搭載したシステム80を構築したユーザがシステムソフトウェアやシステムファームウェアを書き換えることで、ポート情報格納部73のポート情報を書き換えることができる。
【0104】
なお、ポート情報格納部73のこれ以外の構成および動作は実施の形態2で説明したポート情報格納部33と同様であるので、重複した説明は省略する。
【0105】
本実施の形態にかかるUSBホストコントローラにおいても、実施の形態2にかかるUSBホストコントローラと同様の効果を奏することができる。すなわち、規格が異なるホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるUSBホストコントローラおよびUSBホストコントローラを含むシステムを提供することができる。
【0106】
特に、本実施の形態にかかるUSBホストコントローラ70では、ポート情報格納部73が、ホストインタフェース74および第1のホストコントローラ71を介して、またはホストインタフェース74および第2のホストコントローラ72を介して、ポート情報を取得している。よって、ポート情報格納部73が外部に設けられたメモリと通信をするためのメモリインタフェースを設ける必要がないため、装置構成を簡略化することができる。また、USBホストコントローラ70を含むシステム80においても、ポート情報を格納したメモリや、当該メモリとUSBホストコントローラ70のメモリインタフェースとを結ぶ配線を設ける必要がなく、装置構成を簡略化することができる。
【0107】
<実施の形態5>
次に、本発明の実施の形態5について説明する。
図10は、本実施の形態にかかるUSBハブコントローラを含むシステムを示すブロック図である。
図10に示すシステム90(例えば、USBハブ)は、実施の形態1にかかるUSBハブコントローラ10を含み構成されている。なお、本実施の形態で用いているUSBハブコントローラ10の構成および動作については、実施の形態1で説明したUSBハブコントローラ10と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
【0108】
図10に示すシステム90は、USBハブコントローラ10、ルート制御部91、外部接続用アップポートコネクタ92、外部接続用ダウンポートコネクタ93_1〜93_4、および切り替え回路94を備える。システム90は、ルート制御部91、外部接続用アップポートコネクタ92、外部接続用ダウンポートコネクタ93_1〜93_4、および切り替え回路94を備える実装基板95に、半導体チップであるUSBハブコントローラ10を実装することで構成することができる。
【0109】
USBハブコントローラ10が備える第1のアップポート端子14および第2のアップポート端子15は、外部接続用アップポートコネクタ92に接続されている。ここで、外部接続用アップポートコネクタ92は、システム90の上流側に位置するUSBホストコントローラ等と接続されるコネクタである。
【0110】
切り替え回路94は、複数の外部接続用ダウンポートコネクタ93_1〜93_4と複数の第1のダウンポート端子17_1〜17_Nとの接続、および複数の外部接続用ダウンポートコネクタ93_1〜93_4と複数の第2のダウンポート端子18_1〜18_Nとの接続を切り替えることができる。
【0111】
例えば、切り替え回路94は、第1のダウンポート端子17_1と各々の外部接続用ダウンポートコネクタ93_1〜93_4との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第1のダウンポート端子17_1と外部接続用ダウンポートコネクタ93_1〜93_4との接続・非接続を切り替えることができる。例えば、第1のダウンポート端子17_1と外部接続用ダウンポートコネクタ93_1とを接続する場合は、第1のダウンポート端子17_1と外部接続用ダウンポートコネクタ93_1との間にあるスイッチ素子をオン状態とし、これ以外のスイッチ素子(つまり、第1のダウンポート端子17_1と外部接続用ダウンポートコネクタ93_2〜93_4との間にあるスイッチ素子)はオフ状態とする。第1のダウンポート端子17_2〜17_Nについても同様である。
【0112】
なお、第1のダウンポート端子17_1〜17_Nのそれぞれは、1つの外部接続用ダウンポートコネクタとのみ接続される。つまり、1つの第1のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第1のダウンポート端子17_1を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第1のダウンポート端子17_1と各々の外部接続用ダウンポートコネクタ93_1〜93_4との間にある全てのスイッチ素子をオフ状態とする。
【0113】
同様に、切り替え回路94は、第2のダウンポート端子18_1と各々の外部接続用ダウンポートコネクタ93_1〜93_4との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第2のダウンポート端子18_1と外部接続用ダウンポートコネクタ93_1〜93_4との接続・非接続を切り替えることができる。第2のダウンポート端子18_2〜18_Nについても同様である。
【0114】
なお、第2のダウンポート端子18_1〜18_Nのそれぞれは、1つの外部接続用ダウンポートコネクタとのみ接続される。つまり、1つの第2のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第2のダウンポート端子18_1を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第2のダウンポート端子18_1と各々の外部接続用ダウンポートコネクタ93_1〜93_4との間にある全てのスイッチ素子をオフ状態とする。
【0115】
ルート制御部91は、複数の外部接続用ダウンポートコネクタ93_1〜93_4と複数の第1のダウンポート端子17_1〜17_Nとの接続、および複数の外部接続用ダウンポートコネクタ93_1〜93_4と複数の第2のダウンポート端子18_1〜18_Nとの接続を制御する。例えば、ルート制御部91は、設定用の機器から供給されたポート情報に基づいて切り替え回路94を制御することで、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替えることができる。ポート情報は、例えば端子96を介してルート制御部91に供給される。
【0116】
また、ルート制御部91は、メモリインタフェース16を介してポート情報格納部13にポート情報を供給する。ポート情報格納部13は、第1のハブコントローラ11および第2のハブコントローラ12にポート情報を供給する。これにより、第1のハブコントローラ11および第2のハブコントローラ12は、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続状態を把握することができる。なお、ポート情報格納部13に格納されているポート情報の一例については、
図3の場合(実施の形態1参照)と同様であるので重複した説明は省略する。
【0117】
第1のハブコントローラ11および第2のハブコントローラ12はそれぞれ、ポート情報格納部13に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第1のハブコントローラ11および第2のハブコントローラ12は、ポート情報格納部13に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【0118】
なお、本実施の形態にかかるUSBハブコントローラを含むシステムでは、例えば
図11に示すように、ルート制御部91を実装基板95の外に設け、メモリインタフェース16を省略してもよい。この場合、本実施の形態にかかるUSBハブコントローラを含むシステム90'は、実施の形態3にかかるUSBハブコントローラ50を含み構成される。
【0119】
図11に示すシステム90'では、ルート制御部は、切り替え回路94を制御するための信号を、端子97を介して切り替え回路94に供給する。また、ルート制御部は、外部接続用アップポートコネクタ92、第1のアップポート端子54、および第1のハブコントローラ51を介して、または外部接続用アップポートコネクタ92、第2のアップポート端子55、および第2のハブコントローラ52を介して、ポート情報をポート情報格納部53に供給する。
【0120】
本実施の形態にかかるUSBハブコントローラを含むシステムでは、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替え回路94を用いて柔軟に切り替えることができる。また、ポート情報格納部に切り替え回路94の接続状態に対応したポート情報を格納することができる。よって、実装基板95にUSBハブコントローラ10、50を実装した後であっても、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を容易に変更することができる。
【0121】
<実施の形態6>
次に、本発明の実施の形態6について説明する。
図12は、本実施の形態にかかるUSBホストコントローラを含むシステムを示すブロック図である。
図12に示すシステム100は、実施の形態2にかかるUSBホストコントローラ30を含み構成されている。なお、本実施の形態で用いているUSBホストコントローラ30の構成および動作については、実施の形態2で説明したUSBホストコントローラ30と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
【0122】
図12に示すシステム100は、USBホストコントローラ30、ルート制御部101、外部接続用ダウンポートコネクタ103_1〜103_4、および切り替え回路104を備える。システム100は、ルート制御部101、外部接続用ダウンポートコネクタ103_1〜103_4、および切り替え回路104を備える実装基板105に、半導体チップであるUSBホストコントローラ30を実装することで構成することができる。
【0123】
USBホストコントローラ30が備えるホストインタフェース34は上流側においてバス(不図示)と接続されている。
【0124】
切り替え回路104は、複数の外部接続用ダウンポートコネクタ103_1〜103_4と複数の第1のダウンポート端子37_1〜37_Nとの接続、および複数の外部接続用ダウンポートコネクタ103_1〜103_4と複数の第2のダウンポート端子38_1〜38_Nとの接続を切り替えることができる。
【0125】
例えば、切り替え回路104は、第1のダウンポート端子37_1と各々の外部接続用ダウンポートコネクタ103_1〜103_4との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第1のダウンポート端子37_1と外部接続用ダウンポートコネクタ103_1〜103_4との接続・非接続を切り替えることができる。例えば、第1のダウンポート端子37_1と外部接続用ダウンポートコネクタ103_1とを接続する場合は、第1のダウンポート端子37_1と外部接続用ダウンポートコネクタ103_1との間にあるスイッチ素子をオン状態とし、これ以外のスイッチ素子(つまり、第1のダウンポート端子37_1と外部接続用ダウンポートコネクタ103_2〜103_4との間にあるスイッチ素子)はオフ状態とする。第1のダウンポート端子37_2〜37_Nについても同様である。
【0126】
なお、第1のダウンポート端子37_1〜37_Nのそれぞれは、1つの外部接続用ダウンポートコネクタとのみ接続される。つまり、1つの第1のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第1のダウンポート端子37_1を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第1のダウンポート端子37_1と各々の外部接続用ダウンポートコネクタ103_1〜103_4との間にある全てのスイッチ素子をオフ状態とする。
【0127】
同様に、切り替え回路104は、第2のダウンポート端子38_1と各々の外部接続用ダウンポートコネクタ103_1〜103_4との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第2のダウンポート端子38_1と外部接続用ダウンポートコネクタ103_1〜103_4との接続・非接続を切り替えることができる。第2のダウンポート端子38_2〜38_Nについても同様である。
【0128】
なお、第2のダウンポート端子38_1〜38_Nのそれぞれは、1つの外部接続用ダウンポートコネクタとのみ接続される。つまり、1つの第2のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第2のダウンポート端子38_1を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第2のダウンポート端子38_1と各々の外部接続用ダウンポートコネクタ103_1〜103_4との間にある全てのスイッチ素子をオフ状態とする。
【0129】
ルート制御部101は、複数の外部接続用ダウンポートコネクタ103_1〜103_4と複数の第1のダウンポート端子37_1〜37_Nとの接続、および複数の外部接続用ダウンポートコネクタ103_1〜103_4と複数の第2のダウンポート端子38_1〜38_Nとの接続を制御する。例えば、ルート制御部101は、設定用の機器から供給されたポート情報に基づいて切り替え回路104を制御することで、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替えることができる。ポート情報は、例えば端子106を介してルート制御部101に供給される。
【0130】
また、ルート制御部101は、メモリインタフェース36を介してポート情報格納部33にポート情報を供給する。ポート情報格納部33は、第1のホストコントローラ31および第2のホストコントローラ32にポート情報を供給する。これにより、第1のホストコントローラ31および第2のホストコントローラ32は、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続状態を把握することができる。なお、ポート情報格納部33に格納されているポート情報の一例については、
図3の場合(実施の形態1参照)と同様であるので重複した説明は省略する。
【0131】
第1のホストコントローラ31および第2のホストコントローラ32はそれぞれ、ポート情報格納部33に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第1のホストコントローラ31および第2のホストコントローラ32は、ポート情報格納部33に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【0132】
なお、本実施の形態にかかるUSBホストコントローラを含むシステムでは、例えば
図13に示すように、ルート制御部101を実装基板105の外に設け、メモリインタフェース36を省略してもよい。この場合、本実施の形態にかかるUSBホストコントローラを含むシステム100'は、実施の形態4にかかるUSBホストコントローラ70を含み構成される。
【0133】
図13に示すシステム100'では、ルート制御部は、切り替え回路104を制御するための信号を、端子107を介して切り替え回路104に供給する。また、ルート制御部は、ホストインタフェース74および第1のホストコントローラ71を介して、またはホストインタフェース74および第2のホストコントローラ72を介して、ポート情報をポート情報格納部73に供給する。
【0134】
本実施の形態にかかるUSBホストコントローラを含むシステムでは、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替え回路104を用いて柔軟に切り替えることができる。また、ポート情報格納部に切り替え回路104の接続状態に対応したポート情報を格納することができる。よって、実装基板105にUSBホストコントローラ30、70を実装した後であっても、第1および第2のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を容易に変更することができる。
【0135】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。