説明

データ転送制御装置及び電子機器

【課題】 ポートの接続対象を切り替えられるデータ転送制御装置及び電子機器等を提供すること。
【解決手段】 データ転送制御装置は、第1のモードにおいて、アップストリームポート動作の第1のアップダウンストリームポート回路20−1からのデータを、ハブロジック回路40、ルーティングロジック回路50を介して、ダウンストリームポート動作の第2のアップダウンストリームポート回路20−2へ転送し、第2のモードにおいて、アップストリームポート動作の第2のアップダウンストリームポート回路20−2からのデータを、ハブロジック回路40、ルーティングロジック回路50を介して、ダウンストリームポート動作の第1のアップダウンストリームポート回路20−1へ転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送制御装置及び電子機器等に関する。
【背景技術】
【0002】
近年、USB2.0(Universal Serial Bus 2.0)等で規格化されたUSBによるシリアルインターフェースが普及している。例えば、パソコンと周辺機器の接続や、プリンタとデジタルカメラの接続、カーナビゲーションシステムとポータブルオーディオの接続など、電子機器同士を接続するインターフェースとして広く用いられている。
【0003】
USBによるホストコントローラーと複数のデバイスとの接続には、一般にハブが用いられる。すなわち、ハブのアップストリームポート回路には、USBを介してホストコントローラーが接続され、ハブのダウンストリームポート回路には、USBを介して複数のデバイスが接続される。
【0004】
しかしながら、このような構成では、アップストリームポート回路の接続対象がホストコントローラーに固定され、ダウンストリームポート回路の接続対象がデバイスに固定されるという課題がある。例えば、電子機器がハブを内蔵し、そのハブのダウンストリームポート回路につながるUSBポートが設けられている場合、USBポートに接続された外部機器はデバイス動作しか行うことができない。
【0005】
なお、特許文献1には、2以上のアップストリームポート回路を含み、そのうちのいずれかのアップストリームポート回路をデータ転送に用いるかを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2008−513885号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の幾つかの態様によれば、ポートの接続対象を切り替えられるデータ転送制御装置及び電子機器等を提供できる。
【課題を解決するための手段】
【0008】
本発明の一態様は、少なくとも1つのダウンストリームポート回路と、第1のモードにおいてアップストリームポート動作を行い、第2のモードにおいてダウンストリームポート動作を行う第1のアップダウンストリームポート回路と、第1のモードにおいてダウンストリームポート動作を行い、第2のモードにおいてアップストリームポート動作を行う第2のアップダウンストリームポート回路と、ルーティングロジック回路と、ハブロジック動作を行うハブロジック回路と、を含み、前記第1のモードにおいて、アップストリームポート動作の前記第1のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第2のアップダウンストリームポート回路へ転送し、前記第2のモードにおいて、アップストリームポート動作の前記第2のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第1のアップダウンストリームポート回路へ転送するデータ転送制御装置に関係する。
【0009】
本発明の一態様によれば、第1のモードにおいて、アップストリームポート動作の第1のアップダウンストリームポート回路からのデータが、ハブロジック回路、ルーティングロジック回路を介して、ダウンストリームポート動作の第2のアップダウンストリームポート回路へ転送される。また、第2のモードにおいて、アップストリームポート動作の第2のアップダウンストリームポート回路からのデータが、ハブロジック回路、ルーティングロジック回路を介して、ダウンストリームポート動作の第1のアップダウンストリームポート回路へ転送される。
【0010】
これにより、第1のモードにおいて、第1のアップダウンストリームポート回路にホスト動作を行う機器を接続し、第2のアップダウンストリームポート回路にデバイス動作を行う機器を接続できる。また、第2のモードにおいて、第1のアップダウンストリームポート回路にデバイス動作を行う機器を接続し、第2のアップダウンストリームポート回路にホスト動作を行う機器を接続できる。このように、本発明の一態様によれば、第1、第2のアップダウンストリームポート回路に対して、ホスト動作を行う機器を接続することも可能になり、デバイス動作を行う機器を接続することも可能になる。
【0011】
また、本発明の一態様では、前記第1のモードにおいて、アップストリームポート動作の前記第1のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも1つのダウンストリームポート回路へ転送し、前記第2のモードにおいて、アップストリームポート動作の前記第2のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも1つのダウンストリームポート回路へ転送してもよい。
【0012】
このようにすれば、第1のモードにおいて、アップストリームポート動作の第1のアップダウンストリームポート回路が、ダウンストリームポート動作の第2のアップダウンストリームポート回路との間でデータ転送するとともに、ダウンストリームポート回路との間でデータ転送できる。また、第2のモードにおいて、アップストリームポート動作の第2のアップダウンストリームポート回路が、ダウンストリームポート動作の第1のアップダウンストリームポート回路との間でデータ転送するとともに、ダウンストリームポート回路との間でデータ転送できる。
【0013】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第1のバスと、前記第1のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第2のバスと、前記第2のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第3のバスと、前記第2のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第4のバスと、を含み、前記第1のモードにおいて、前記第1のアップダウンストリームポート回路からのデータを、前記第1のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第4のバスを介して前記第2のアップダウンストリームポート回路へ転送し、前記第2のモードにおいて、前記第2のアップダウンストリームポート回路からのデータを、前記第3のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第2のバスを介して前記第1のアップダウンストリームポート回路へ転送してもよい。
【0014】
本発明の一態様によれば、第1のモードにおいて、第1、第2のバスのうち第1のバスを介してデータが転送され、第3、第4のバスのうち第4のバスを介してデータが転送される。これにより、第1のアップダウンストリームポート回路からのデータを、ハブロジック回路、ルーティングロジック回路を介して第2のアップダウンストリームポート回路へ転送できる。また、本発明の一態様によれば、第2のモードにおいて、第1、第2のバスのうち第2のバスを介してデータが転送され、第3、第4のバスのうち第3のバスを介してデータが転送される。これにより、第2のモードにおいて、第2のアップダウンストリームポート回路からのデータを、ハブロジック回路、ルーティングロジック回路を介して第1のアップダウンストリームポート回路へ転送できる。
【0015】
また、本発明の一態様では、前記ハブロジック回路は、ハブコントローラーと、ハブリピーターロジック回路と、トランザクショントランスレーターと、ハブステートマシーンと、フレームタイマーと、を有してもよい。
【0016】
このように、本発明の一態様では、ハブロジック回路が、これらの構成要素を含むことでハブロジック動作を行ってもよい。但し、本発明の一態様では、ハブロジック回路が、これらの構成要素の一部を含まずに構成にされてもよい。
【0017】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーが接続され、前記第1のモードにおいて、前記第1のアップダウンストリームポート回路は、ホスト動作を行う前記ホスト/デバイスコントローラーと前記ハブロジック回路との間のインターフェース処理を行い、前記第2のモードにおいて、前記第1のアップダウンストリームポート回路は、デバイス動作を行う前記ホスト/デバイスコントローラーと前記ルーティングロジック回路との間のインターフェース処理を行ってもよい。
【0018】
このようにすれば、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーを第1のアップダウンストリームポート回路に接続できる。具体的には、第1のモードにおいて、ホスト動作を行うホスト/デバイスコントローラーを第1のアップダウンストリームポート回路に接続できる。また、第2のモードにおいて、デバイス動作を行うホスト/デバイスコントローラーを第1のアップダウンストリームポート回路に接続できる。例えば、ホスト/デバイスコントローラーのホスト動作とデバイス動作を切り替えてから、第1のアップダウンストリームポート回路に接続することもできるし、第1のアップダウンストリームポート回路に接続されたままで、ホスト/デバイスコントローラーのホスト動作とデバイス動作を切り替えることもできる。
【0019】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路は、USB(Universal Serial Bus)を介して前記ホスト/デバイスコントローラーとのインターフェース処理を行ってもよい。
【0020】
このようにすれば、USBを介してホスト/デバイスコントローラーとのインターフェース処理を行うことで、USB規格に準拠したホスト/デバイスコントローラーを第1のアップダウンストリームポート回路に接続できる。
【0021】
また、本発明の一態様では、前記ホスト/デバイスコントローラーがOTG(On-The-Go)規格に準拠し、前記第1のアップダウンストリームポート回路は、前記ホスト/デバイスコントローラーとの、OTG規格に準拠したインターフェース処理を行ってもよい。
【0022】
本実施形態によれば、OTG規格に準拠したホスト/デバイスコントローラーを第1のアップダウンストリームポート回路に接続できる。そして、OTG規格に準拠したホスト/デバイスコントローラーと、他のポートに接続された機器との間のデータ転送を行うことができる。
【0023】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路は、前記ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理を行ってもよい。
【0024】
このようにすれば、第1のアップダウンストリームポート回路が、物理層回路(トランシーバー)を介することなく、ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理を行うことができる。これにより、第1のアップダウンストリームポート回路がトランシーバーを含む必要がなくなるため、データ転送制御装置の回路規模を削減できる。
【0025】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路は、前記ホスト/デバイスコントローラーとULPI規格(UTMI+ Low Pin Interface)のバスで接続され、前記ホスト/デバイスコントローラーの前記リンク層回路との間のULPIのインターフェース処理を行ってもよい。
【0026】
本発明の一態様によれば、第1のアップダウンストリームポート回路が、ホスト/デバイスコントローラーのリンク層回路との間のULPIのインターフェース処理を行うことで、ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理を実現できる。
【0027】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路は、前記ホスト/デバイスコントローラーの前記リンク層回路とのインターフェース処理を行う第1のインターフェース回路と、前記第1のモードにおいて、前記ハブロジック回路とのインターフェース処理を行い、前記第2のモードにおいて、前記ルーティングロジック回路とのインターフェース処理を行う第2のインターフェース回路と、前記第1のインターフェース回路のインターフェース信号と、前記第2のインターフェース回路のインターフェース信号との変換処理を行う変換回路と、を有してもよい。
【0028】
このようにすれば、ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理のインターフェース信号と、ハブロジック回路またはルーティングロジック回路とのインターフェース処理のインターフェース信号とを変換処理できる。これにより、ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理を実現できる。例えば、第1のインターフェース回路が、ULPIのインターフェース処理を行ってもよく、第2のインターフェース回路が、UTMI(USB2.0 Transceiver Macrocell Interface)のインターフェース処理を行ってもよい。そして、変換回路が、ULPIのインターフェース信号とUTMIのインターフェース信号との変換処理を行ってもよい。
【0029】
また、本発明の一態様では、前記第1のモードにおいて、前記第1のアップダウンストリームポート回路には、ホストコントローラーが接続され、前記第1のアップダウンストリームポート回路は、前記ホストコントローラーと前記ハブロジック回路とのインターフェース処理を行い、前記第2のモードにおいて、前記第1のアップダウンストリームポート回路には、デバイスが接続され、前記第1のアップダウンストリームポート回路は、前記デバイスと前記ルーティングロジック回路とのインターフェース処理を行ってもよい。
【0030】
このようにすれば、第1のアップダウンストリームポート回路に、ホストコントローラーまたはデバイスを接続できる。具体的には、第1のモードにおいて、ホストコントローラーを第1のアップダウンストリームポート回路に接続し、第2のモードにおいて、デバイスを第1のアップダウンストリームポート回路に接続できる。例えば、第1のアップダウンストリームポート回路に接続される機器を、ホストコントローラーからデバイスに差し替えたり、デバイスからホストコントローラーに差し替えたりできる。
【0031】
また、本発明の一態様では、前記第1のアップダウンストリームポート回路は、USB(Universal Serial Bus)を介して、前記ホストコントローラーまたは前記デバイスとのインターフェース処理を行ってもよい。
【0032】
このようにすれば、USBを介してホストコントローラーまたはデバイスとのインターフェース処理を行うことで、USB規格に準拠したホストコントローラーまたはデバイスを第1のアップダウンストリームポート回路に接続できる。
【0033】
また、本発明の他の態様は、上記のいずれかに記載のデータ転送制御装置を含む電子機器に関係する。
【図面の簡単な説明】
【0034】
【図1】図1(A)は、本実施形態の第1の比較例、図1(B)は、本実施形態の第2の比較例。
【図2】本実施形態のデータ転送制御装置の構成例。
【図3】第1のモードにおける本実施形態の第1の接続構成例。
【図4】第2のモードにおける本実施形態の第1の接続構成例。
【図5】第1のモードにおける本実施形態の第2の接続構成例。
【図6】第2のモードにおける本実施形態の第2の接続構成例。
【図7】アップダウンストリームポート回路の第1の詳細な構成例。
【図8】アップダウンストリームポート回路の第2の詳細な構成例。
【図9】変換処理の第1の信号波形例。
【図10】変換処理の第2の信号波形例。
【図11】変換処理の第3の信号波形例。
【図12】データ転送制御装置の詳細な構成例。
【図13】ホスト/デバイスコントローラーの構成例。
【図14】図14(A)、図14(B)は、アップダウンストリームポート回路のトランシーバーの構成例。
【図15】電子機器の構成例。
【発明を実施するための形態】
【0035】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0036】
1.比較例
図1(A)、図1(B)を用いて、本実施形態の第1、第2の比較例について説明する。図1(A)、図1(B)には、第1、第2の比較例として、ホストコントローラーと複数のデバイスがUSBハブを介してデータ転送を行う接続構成例を示す。
【0037】
図1(A)に示す第1の比較例は、ホストコントローラーHCAにトランシーバーPHY_HCA(物理層回路)が内蔵される場合の接続構成例である。具体的には、ハブHBは、アップストリームポート回路PHY_HUB(トランシーバー)、ハブロジック回路HL、ルーティングロジック回路RL、ダウンストリームポート回路DP1〜DPn(nは自然数)を含む。PHY_HUBには、USBを介してPHY_HCAが接続される。PHY_HUBとハブロジック回路HLとは、UTMI規格のバスで接続される。ハブロジック回路HLは、ホストコントローラーHCAとデバイスDEV1〜DEVnとの間のデータ転送を制御する。ルーティングロジック回路RLは、ハブロジック回路HLからのデータをダウンストリームポート回路DP1〜DPnに転送する。ダウンストリームポート回路DP1〜DPnには、USBを介してデバイスDEV1〜DEVnが接続される。そして、アップストリームポート回路PHY_HUBは、ホストコントローラーHCAとのインターフェース処理を行い、ダウンストリームポート回路DP1〜DPnは、デバイスDEV1〜DEVnとのインターフェース処理を行う。
【0038】
図1(B)に示す第2の比較例は、ホストコントローラーHCBとトランシーバーPHY_HCBが別チップで構成される場合の接続構成例である。第2の比較例では、別チップで構成されるHCBとPHY_HCBは、ULPI規格のバスで接続される。このとき、HCBは、リンクコントローラーLK_HCB(リンク層回路)とULPIインターフェース回路を介してULPI規格のバスにアクセスする。ハブHBのトランシーバーPHY_HUBには、USBを介してトランシーバーPHY_HCBが接続される。また、第1の比較例と同様に、PHY_HUBとHUB_LCとはUTMI規格のバスで接続され、HLからのデータはRLによりDP1〜DPnに転送され、DP1〜DPnにはUSBを介してDEV1〜DEVnが接続される。そして、アップストリームポート回路PHY_HUBは、トランシーバーPHY_HCBとのインターフェース処理を行い、ダウンストリームポート回路DP1〜DPnは、デバイスDEV1〜DEVnとのインターフェース処理を行う。
【0039】
このように、第1、第2の比較例では、ハブのアップストリームポート回路が、ホストコントローラーを接続対象とするアップストリームポート動作を行い、ダウンストリームポート回路が、デバイスを接続対象とするダウンストリームポート動作を行う。そのため、アップストリームポート回路の接続対象がホストコントローラーに固定され、ダウンストリームポート回路の接続対象がデバイスに固定されるという課題がある。例えば、第1、第2の比較例では、ホスト動作とデバイス動作を切り替え可能な機器をポートに接続し、その機器のホスト動作とデバイス動作を切り替えてデータ転送することができない。あるいは、ポートに対して、ホストコントローラーとデバイスとを差し替えてデータ転送することができない。
【0040】
また、第1の比較例では、ハブとホストコントローラーがトランシーバー(PHY_HUB、PHY_HCB)を内蔵する。そのため、第1の比較例では、内蔵されたトランシーバーによりハブとホストコントローラーの回路規模が増大するという課題もある。また、第2の比較例では、ホストコントローラーとトランシーバーが別チップで構成される。そのため、第2の比較例では、別チップのトランシーバーにより配線基板上での実装面積が増大するという課題もある。
【0041】
2.データ転送制御装置
2.1.構成例
図2に、上記課題を解決する本実施形態のデータ転送制御装置の構成例を示す。図2には、データ転送制御装置の構成例としてハブの構成例を示す。図2に示すハブ10(広義には、データ転送制御装置)は、第1、第2のアップダウンストリームポート回路20−1、20−2、ハブロジック回路40、ルーティングロジック回路50、第1〜第kのダウンストリームポート回路60−1〜60−k(kは自然数)を含む。そして、このハブ10は、アップダウンストリームポート回路20−1、20−2のいずれか一方にホスト動作を行う機器を接続し、他方にデバイス動作を行う機器を接続して、それらの機器間のデータ転送(データ送受信)を制御する回路である。
【0042】
具体的には、アップダウンストリームポート回路20−1、20−2は、その一方がアップストリームポート動作を行い、その他方がダウンストリームポート動作を行う。すなわち、アップストリームポート動作を行うアップダウンストリームポート回路には、ホスト動作を行う機器(例えば、ホストコントローラー)が接続される。そして、そのアップダウンストリームポート回路は、ホスト動作を行う機器とハブロジック回路40との間のインターフェース処理を行う。一方、ダウンストリームポート動作を行うアップダウンストリームポート回路には、デバイス動作を行う機器(例えば、デバイス)が接続される。そして、そのアップダウンストリームポート回路は、デバイス動作を行う機器とルーティングロジック回路50との間のインターフェース処理を行う。例えば、アップダウンストリームポート回路20−1、20−2は、USB(Universal Serial Bus)規格(例えば、USB2.0、USB1.1)等に準拠したシリアルインターフェースのインターフェース処理を行ってもよく、ULPI(UTMI+ Low Pin Interface)規格等に準拠したパラレルインターフェースのインターフェース処理を行ってもよい。
【0043】
ハブロジック回路40及びルーティングロジック回路50は、ポート間のデータ転送を制御する。具体的には、ハブロジック回路40及びルーティングロジック回路50は、アップストリームポート動作を行うアップダウンストリームポート回路と、ダウンストリームポート動作を行うアップダウンストリームポート回路との間のデータ転送を制御する。また、ハブロジック回路40及びルーティングロジック回路50は、アップストリームポート動作を行うアップダウンストリームポート回路と、ダウンストリームポート回路60−1〜60−kとの間のデータ転送を制御する。
【0044】
より具体的には、ハブロジック回路40は、ルーティングロジック回路50が行う処理以外のハブロジック動作を行う。すなわち、ハブロジック回路40は、アップストリームポート動作を行うアップダウンストリームポート回路のインターフェース処理を制御して、そのアップダウンストリームポート回路との間でデータを転送する。ハブロジック回路40は、ルーティングロジック回路50を介して、ダウンストリームポート動作を行うアップダウンストリームポート回路のインターフェース処理を制御し、そのアップダウンストリームポート回路との間でデータを転送する。また、ハブロジック回路40は、ルーティングロジック回路50を介して、ダウンストリームポート回路60−1〜60−kのインターフェース処理を制御し、ダウンストリームポート回路60−1〜60−kとの間でデータを転送する。例えば、ハブロジック回路40は、USB規格に準拠したハブロジック動作を行ってポート間のデータ転送を制御する。具体的には、ハブロジック回路40は、ホスト動作を行う機器やデバイス動作を行う機器との接続・切断を検出処理したり、これらの機器との接続処理や切断処理を行ったり、これらの機器とのデータ転送のタイミングを制御したり、バスのエラー(fault)を検出処理したりして、各ポートのインターフェース処理を制御する。あるいは、ハブロジック回路40は、ポートからのトランザクションをトランスレート処理(変換処理)したり、ポートからのトランザクションをそのまま転送処理したりして、ポート間のデータ転送を制御する。
【0045】
ルーティングロジック回路50は、データのルーティング処理を行う。すなわち、ルーティングロジック回路50は、ハブロジック回路40と、ダウンストリームポート動作を行うアップダウンストリームポート回路との間のインターフェース処理を行う。また、ルーティングロジック回路50は、ハブロジック回路40とダウンストリームポート回路60−1〜60−kとの間のインターフェース処理を行う。具体的には、ルーティングロジック回路50は、ハブロジック回路40からのデータを対応するダウンストリームポート回路(またはアップダウンストリームポート回路)に分配して、インターフェース処理を行う。例えば、ルーティングロジック回路50は、USB規格に準拠したインターフェース処理によりデータを分配する。すなわち、ルーティングロジック回路50は、ハブロジック回路40によって処理されたトランザクションを、適切なダウンストリームポート回路(またはダウンストリームポート動作を行うアップダウンストリームポート回路)に転送することで、データの分配を行う。
【0046】
ダウンストリームポート回路60−1〜60−kには、デバイス動作を行う機器(例えば、デバイス)が接続される。例えば、ダウンストリームポート回路60−1〜60−kには、デバイス動作を行う機器として、デバイスや、デバイス動作を行うホスト/デバイスコントローラーが接続される。そして、ダウンストリームポート回路60−1〜60−kは、接続されたデバイス動作を行う機器とルーティングロジック回路50との間のインターフェース処理を行う。例えば、ダウンストリームポート回路60−1〜60−kは、USB規格に準拠したシリアルインターフェースのインターフェース処理を行って、ルーティングロジック回路50との間のインターフェース処理を行う。なお、本発明では、データ転送制御装置が、少なくとも1つのダウンストリームポート回路として1つのダウンストリームポート回路60−1(k=1)を含んでもよく、複数のダウンストリームポート回路60−1〜60−k(k≧2)を含んでもよい。例えば、少なくとも1つのダウンストリームポート回路として複数のダウンストリームポート回路を含む場合には、ルーティングロジック回路50からのデータが、複数のダウンストリームポート回路の全てに転送される。但し、本発明では、ルーティングロジック回路50からのデータが、複数のダウンストリームポート回路の一部(例えば、デバイスが接続されていないダウンストリームポート回路)に転送されない場合があってもよい。
【0047】
なお、本発明のデータ転送制御装置は図2の構成に限定されず、その構成要素の一部(例えば、ダウンストリームポート回路、ルーティングロジック回路)を省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0048】
2.2.第1の接続構成例
図3、図4に、本実施形態の第1の接続構成例を示す。なお、以下では、アップダウンストリームポート回路20−1には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーHDCAが接続され、アップダウンストリームポート回路20−2には、ホストコントローラーHCAまたはデバイスDVAが接続され、ダウンストリームポート回路60−1〜60−kには、デバイスDV1〜DVkが接続される場合を例に説明する。但し、本発明では、アップダウンストリームポート回路20−1には、ホストコントローラーまたはデバイスが接続されてもよく、アップダウンストリームポート回路20−2には、ホスト/デバイスコントローラーが接続されてもよく、ダウンストリームポート回路60−1〜60−kには、デバイス動作を行うホスト/デバイスコントローラーが接続されてもよい。
【0049】
また、以下では、ホスト/デバイスコントローラーHDCA、ホストコントローラーHCA、デバイスDVA、デバイスDV1〜DVkが、USB規格に準拠し、アップダウンストリームポート回路20−1、20−2、ダウンストリームポート回路60−1〜60−kが、USB規格に準拠したインターフェース処理を行う場合を例に説明する。但し、本発明では、HDCA、HCA、DVA、DV1〜DVkが、他のシリアルインターフェース規格に準拠し、アップダウンストリームポート回路20−1、20−2、ダウンストリームポート回路60−1〜60−kが、そのシリアルインターフェース規格に準拠したインターフェース処理を行ってもよい。
【0050】
図3に、第1のモードにおける本実施形態の第1の接続構成例を示す。第1の接続構成例では、第1のモードにおいて、アップダウンストリームポート回路20−1には、USB(広義には、シリアルバス)を介して、ホスト動作を行うホスト/デバイスコントローラーHDCAが接続される。また、アップダウンストリームポート回路20−2には、USBを介してデバイスDVAが接続される。そして、第1のモードにおいて、アップダウンストリームポート回路20−1は、アップストリームポート動作を行い、アップダウンストリームポート回路20−2は、ダウンストリームポート動作を行う。
【0051】
具体的には、アップダウンストリームポート回路20−1とハブロジック回路40とは第1のバスBUS1を介して接続され、アップダウンストリームポート回路20−1とルーティングロジック回路50とは第2のバスBUS2を介して接続される。また、アップダウンストリームポート回路20−2とハブロジック回路40とは第3のバスBUS3を介して接続され、アップダウンストリームポート回路20−2とルーティングロジック回路50とは第4のバスBUS4を介して接続される。これらのバスBUS1〜BUS4は、例えばUTMI(USB2.0 Transceiver Macrocell Interface)規格に準拠したパラレルバスにより構成される。そして、第1のモードでは、BUS1を介して、アップダウンストリームポート回路20−1とハブロジック回路40との間でデータが転送され、BUS4を介して、アップダウンストリームポート回路20−2とルーティングロジック回路50との間でデータが転送される。例えば、ホスト/デバイスコントローラーHDCAからのデータは、アップダウンストリームポート回路20−1へ転送され、アップダウンストリームポート回路20−1からBUS1を介してハブロジック回路40へ転送され、ハブロジック回路40からルーティングロジック回路50へ転送される。そして、そのデータは、ルーティングロジック回路50からBUS4を介してアップダウンストリームポート回路20−2へ転送され、アップダウンストリームポート回路20−2からデバイスDVAへ転送される。
【0052】
なお、本実施形態のハブ(データ転送制御装置)は、第1のモードにおいて、HDCAとデバイスDV1〜DVkとの間のデータ転送を行うこともできる。例えば、HDCAからのデータは、上記と同様にアップダウンストリームポート回路20−1、BUS1、ハブロジック回路40を介してルーティングロジック回路50へ転送される。そして、そのデータが、ルーティングロジック回路50からダウンストリームポート回路60−1〜60−kへ転送され、ダウンストリームポート回路60−1〜60−kからDV1〜DVkへ転送されてもよい。
【0053】
図4に、第2のモードにおける本実施形態の第1の接続構成例を示す。図4に示すように、第2のモードにおいて、アップダウンストリームポート回路20−1には、USBバスを介して、デバイス動作を行うホスト/デバイスコントローラーHDCAが接続される。また、アップダウンストリームポート回路20−2には、USBバスを介してホストコントローラーHCAが接続される。そして、アップダウンストリームポート回路20−1は、ダウンストリームポート動作を行い、アップダウンストリームポート回路20−2は、アップストリームポート動作を行う。
【0054】
具体的には、第2のモードでは、BUS2を介して、アップダウンストリームポート回路20−1とルーティングロジック回路50との間でデータが転送され、BUS3を介して、アップダウンストリームポート回路20−2とハブロジック回路40との間でデータが転送される。例えば、ホストコントローラーHCAからのデータは、アップダウンストリームポート回路20−2へ転送され、アップダウンストリームポート回路20−2からBUS3を介してハブロジック回路40へ転送され、ハブロジック回路40からルーティングロジック回路50へ転送される。そして、そのデータは、ルーティングロジック回路50からBUS2を介してアップダウンストリームポート回路20−1へ転送され、アップダウンストリームポート回路20−1からホスト/デバイスコントローラーHDCAへ転送される。
【0055】
なお、本実施形態のハブは、第2のモードにおいて、HCAとデバイスDV1〜DVkとの間のデータ転送を行うこともできる。例えば、HCAからのデータは、上記と同様にアップダウンストリームポート回路20−2、BUS3、ハブロジック回路40を介してルーティングロジック回路50へ転送される。そして、そのデータが、ルーティングロジック回路50からダウンストリームポート回路60−1〜60−kへ転送され、ダウンストリームポート回路60−1〜60−kからDV1〜DVkへ転送されてもよい。
【0056】
ここで、上述の第1、第2の比較例では、ポートの接続対象が固定されるという課題があった。すなわち、アップストリームポート回路の接続対象が、ホストコントローラーに固定され、ダウンストリームポート回路の接続対象が、デバイスに固定されるという課題があった。
【0057】
この点、本実施形態によれば、少なくとも1つのダウンストリームポート回路60−1〜60−kと、第1、第2のアップダウンストリームポート回路20−1、20−2と、ルーティングロジック回路50と、ハブロジック動作を行うハブロジック回路40と、を含む。そして、第1のモードにおいて、アップダウンストリームポート回路20−1からのデータを、ハブロジック回路40、ルーティングロジック回路50を介して第2のアップダウンストリームポート回路20−2へ転送する。具体的には、第1のモードにおいて、アップストリームポート動作のアップダウンストリームポート回路20−1からのデータが、ハブロジック回路40へ転送され、ハブロジック回路40からルーティングロジック回路50へ転送され、ルーティングロジック回路50からダウンストリームポート動作のアップダウンストリームポート回路20−2へ転送される。これにより、第1のモードにおいて、アップダウンストリームポート回路20−1にホスト動作を行う機器を接続し、アップダウンストリームポート回路20−2にデバイス動作を行う機器を接続できる。
【0058】
また、本実施形態によれば、第2のモードにおいて、アップダウンストリームポート回路20−2からのデータを、ハブロジック回路40、ルーティングロジック回路50を介してアップダウンストリームポート回路20−1へ転送する。具体的には、アップストリームポート動作のアップダウンストリームポート回路20−2からのデータが、ハブロジック回路40へ転送され、ハブロジック回路40からルーティングロジック回路50へ転送され、ルーティングロジック回路50からダウンストリームポート動作のアップダウンストリームポート回路20−1へ転送される。これにより、第2のモードにおいて、アップダウンストリームポート回路20−1にデバイス動作を行う機器を接続し、アップダウンストリームポート回路20−2にホスト動作を行う機器を接続できる。このようにして、第1のモードと第2のモードにおいて、アップダウンストリームポート回路の接続対象を変えることができる。
【0059】
ここで、後述する図12に示すように、ハブが切替制御回路460を含んでもよく、切替制御回路460が、第1のモードと第2のモードとを切り替えるための切替制御信号HostEnを出力してもよい。このようにすれば、切替制御回路460がHostEnを出力することで、第1のモードと第2のモードとを切り替えることができる。
【0060】
また、本実施形態では、第1のモードにおいて、アップダウンストリームポート回路20−1からのデータを、ハブロジック回路40、ルーティングロジック回路50を介してダウンストリームポート回路60−1〜60−kへ転送してもよく、第2のモードにおいて、アップダウンストリームポート回路20−2からのデータを、ハブロジック回路40、ルーティングロジック回路50を介してダウンストリームポート回路60−1〜60−kへ転送してもよい。
【0061】
このようにすれば、第1のモードにおいて、アップダウンストリームポート回路20−1とアップダウンストリームポート回路20−2との間でデータ転送するとともに、アップダウンストリームポート回路20−1とダウンストリームポート回路60−1〜60−kとの間でデータ転送できる。また、第2のモードにおいて、アップダウンストリームポート回路20−2とアップダウンストリームポート回路20−1との間でデータ転送するとともに、アップダウンストリームポート回路20−2とダウンストリームポート回路60−1〜60−kとの間でデータ転送できる。
【0062】
また、本実施形態では、第1〜第4のバスBUS1〜BUS4を含み、第1のモードにおいて、アップダウンストリームポート回路20−1からのデータを、BUS1、ハブロジック回路40、ルーティングロジック回路50、BUS4を介してアップダウンストリームポート回路20−2へ転送し、第2のモードにおいて、アップダウンストリームポート回路20−2からのデータを、BUS3、ハブロジック回路40、ルーティングロジック回路50、BUS2を介してアップダウンストリームポート回路20−1へ転送してもよい。
【0063】
このように、第1のモードにおいて、アップダウンストリームポート回路20−1に接続されるBUS1、BUS2のうちBUS1が選択されることで、アップダウンストリームポート回路20−1からのデータをハブロジック回路40に転送できる。また、アップダウンストリームポート回路20−2に接続されるBUS3、BUS4のうちBUS4が選択されることで、ルーティングロジック回路50からのデータをアップダウンストリームポート回路20−2に転送できる。一方、第2のモードにおいて、BUS3、BUS4のうちBUS3が選択されることで、アップダウンストリームポート回路20−2からのデータをハブロジック回路40に転送できる。また、BUS1、BUS2のうちBUS2が選択されることで、ルーティングロジック回路50からのデータをアップダウンストリームポート回路20−1に転送できる。
【0064】
また、本実施形態では、アップダウンストリームポート回路20−1には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーが接続されてもよい。そして、第1のモードにおいて、アップダウンストリームポート回路20−1は、ホスト動作を行うホスト/デバイスコントローラーとハブロジック回路40との間のインターフェース処理を行い、第2のモードにおいて、アップダウンストリームポート回路20−1は、デバイス動作を行うホスト/デバイスコントローラーとルーティングロジック回路50との間のインターフェース処理を行ってもよい。
【0065】
本実施形態によれば、アップダウンストリームポート回路20−1にホスト/デバイスコントローラーを接続し、ホスト/デバイスコントローラーとのインターフェース処理を行うことができる。そして、第1のモードと第2のモードとでホスト/デバイスコントローラーのホスト動作とデバイス動作とを切り替えることができる。このようにすれば、アップダウンストリームポート回路20−1の接続対象の切替を実現できる。具体的には、ホスト/デバイスコントローラーをアップダウンストリームポート回路20−1に接続した状態で、ホスト/デバイスコントローラーのホスト動作とデバイス動作を切り替えることができる。
【0066】
なお、本発明では、アップダウンストリームポート回路20−2には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーが接続されてもよい。そして、第1のモードにおいて、アップダウンストリームポート回路20−2は、デバイス動作を行うホスト/デバイスコントローラーとルーティングロジック回路50との間のインターフェース処理を行い、第2のモードにおいて、アップダウンストリームポート回路20−2は、ホスト動作を行うホスト/デバイスコントローラーとハブロジック回路40との間のインターフェース処理を行ってもよい。
【0067】
このようにすれば、アップダウンストリームポート回路20−2にホスト/デバイスコントローラーを接続して、アップダウンストリームポート回路20−2の接続対象の切替を実現できる。
【0068】
また、本実施形態では、第1のモードにおいて、アップダウンストリームポート回路20−1には、ホストコントローラーが接続され、アップダウンストリームポート回路20−1は、ホストコントローラーとハブロジック回路40とのインターフェース処理を行ってもよい。そして、第2のモードにおいて、アップダウンストリームポート回路20−1には、デバイスが接続され、アップダウンストリームポート回路20−1は、デバイスとルーティングロジック回路50とのインターフェース処理を行ってもよい。
【0069】
本実施形態によれば、第1のモードにおいて、アップダウンストリームポート回路20−1は、ホストコントローラーとハブロジック回路40とのインターフェース処理を行う。一方、第2のモードにおいて、アップダウンストリームポート回路20−1は、デバイスとルーティングロジック回路50とのインターフェース処理を行う。これにより、第1のモードにおいて、アップダウンストリームポート回路20−1にホストコントローラーを接続し、第2のモードにおいて、アップダウンストリームポート回路20−1に、デバイスを接続できる。このようにして、アップダウンストリームポート回路20−1の接続対象の切替を実現できる。具体的には、アップダウンストリームポート回路20−1に対するホストコントローラーとデバイスとの差し替えを実現できる。
【0070】
なお、本発明では、第1のモードにおいて、アップダウンストリームポート回路20−2には、デバイスが接続され、アップダウンストリームポート回路20−2は、デバイスとルーティングロジック回路50とのインターフェース処理を行ってもよい。そして、第2のモードにおいて、アップダウンストリームポート回路20−2には、ホストコントローラーが接続され、アップダウンストリームポート回路20−2は、ホストコントローラーとハブロジック回路40とのインターフェース処理を行ってもよい。
【0071】
このようにすれば、第1のモードにおいて、アップダウンストリームポート回路20−2にデバイスを接続し、第2のモードにおいて、アップダウンストリームポート回路20−2に、ホストコントローラーを接続できる。このようにして、アップダウンストリームポート回路20−2の接続対象の切替を実現できる。
【0072】
また、本実施形態では、アップダウンストリームポート回路20−1は、USBを介してホスト/デバイスコントローラーとのインターフェース処理を行ってもよい。
【0073】
あるいは、本実施形態では、アップダウンストリームポート回路20−1は、USBを介して、ホストコントローラーまたはデバイスとのインターフェース処理を行ってもよい。
【0074】
このようにすれば、USB規格に準拠したホスト/デバイスコントローラー、またはUSB規格に準拠したホストコントローラー、USB規格に準拠したデバイスをアップダウンストリームポート回路20−1に接続できる。そして、これらの機器との間で、USB規格に準拠したシリアルインターフェースのインターフェース処理を行うことができる。
【0075】
また、本実施形態では、図13等で後述するように、ホスト/デバイスコントローラーがOTG(On-The-Go)規格に準拠してもよい。そして、アップダウンストリームポート回路20−1は、そのホスト/デバイスコントローラーとの、OTG規格に準拠したインターフェース処理を行ってもよい。
【0076】
本実施形態によれば、OTG規格に準拠したホスト/デバイスコントローラーをアップダウンストリームポート回路20−1に接続できる。そして、OTG規格に準拠したホスト/デバイスコントローラーと、他の接続機器との間のデータ転送を行うことができる。
【0077】
なお、本発明では、アップダウンストリームポート回路20−2は、USBを介してホスト/デバイスコントローラーとのインターフェース処理を行ってもよい。あるいは、アップダウンストリームポート回路20−2は、USBを介して、ホストコントローラーまたはデバイスとのインターフェース処理を行ってもよい。また、本発明では、アップダウンストリームポート回路20−2は、OTG規格に準拠したホスト/デバイスコントローラーとの、OTG規格に準拠したインターフェース処理を行ってもよい。
【0078】
2.3.第2の接続構成例
図5、図6に、本実施形態の第2の接続構成例を示す。なお、以下では、アップダウンストリームポート回路20−1には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーHDCBが接続され、アップダウンストリームポート回路20−2には、ホストコントローラーHCBまたはデバイスDVBが接続される場合を例に説明する。また、以下では、ホスト/デバイスコントローラーHDCBが、ULPI規格に準拠し、アップダウンストリームポート回路20−1が、ULPI規格に準拠したインターフェース処理を行う場合を例に説明する。但し、本発明では、HDCBが他のパラレルインターフェース規格(例えば、UTMI)に準拠し、アップダウンストリームポート回路20−1が、そのパラレルインターフェース規格に準拠したインターフェース処理を行ってもよい。
【0079】
図5に、第1のモードにおける本実施形態の第2の接続構成例を示す。図5に示すように、第1のモードにおいて、アップダウンストリームポート回路20−1には、ULPIバス(広義には、パラレルバス)を介して、ホスト動作を行うホスト/デバイスコントローラーHDCBが接続される。また、アップダウンストリームポート回路20−2には、USBバスを介してデバイスDVBが接続される。そして、第1のモードでは、アップダウンストリームポート回路20−1は、アップストリームポート動作を行い、アップダウンストリームポート回路20−2は、ダウンストリームポート動作を行う。
【0080】
具体的には、ホスト/デバイスコントローラーHDCBは、リンクコントローラーLK_HB(リンク層回路)とULPIのインターフェース回路IF_HBを含む。リンクコントローラーLK_HBは、ハブ10とのリンク処理を行う回路であり、インターフェース回路IF_HBは、ULPIのインターフェース処理を行う回路である。そして、アップダウンストリームポート回路20−1は、インターフェース回路IF_HBを介してリンクコントローラーLK_HBとのインターフェース処理を行う。より具体的には、アップダウンストリームポート回路20−1がLK_HBとのインターフェース処理を行うことで、アップダウンストリームポート回路20−1とLK_HBとの間でデータが転送される。例えば、HDCBからのデータは、LK_HB、IF_HB、ULPIバスを介して、アップダウンストリームポート回路20−1に転送される。そして、上述の図3で説明したのと同様に、アップダウンストリームポート回路20−1からのデータは、BUS1、ハブロジック回路40、ルーティングロジック回路50、BUS4、アップダウンストリームポート回路20−2を介してデバイスDVBに転送される。あるいは、アップダウンストリームポート回路20−1からのデータは、BUS1、ハブロジック回路40、ルーティングロジック回路50、ダウンストリームポート回路60−1〜60−kを介して、デバイスDV1〜DVkに転送される。
【0081】
図6に、第2のモードにおける本実施形態の第2の接続構成例を示す。図6に示すように、第2のモードにおいて、アップダウンストリームポート回路20−1には、ULPIバスを介して、デバイス動作を行うホスト/デバイスコントローラーHDCBが接続される。また、アップダウンストリームポート回路20−2には、USBバスを介してホストコントローラーHCBが接続される。そして、第2のモードでは、アップダウンストリームポート回路20−1は、ダウンストリームポート動作を行い、アップダウンストリームポート回路20−2は、アップストリームポート動作を行う。
【0082】
例えば、ホストコントローラーHCBからのデータは、上述の図4で説明したのと同様に、アップダウンストリームポート回路20−2、BUS3、ハブロジック回路40、ルーティングロジック回路50、BUS2を介して、アップダウンストリームポート回路20−1に転送される。あるいは、デバイスDV1〜DVkからのデータは、ダウンストリームポート回路60−1〜60−k、ルーティングロジック回路50、BUS2を介して、アップダウンストリームポート回路20−1に転送される。そして、アップダウンストリームポート回路20−1からのデータは、ULPIバス、インターフェース回路IF_HB、リンクコントローラーLK_HBを介して、ホスト/デバイスコントローラーHDCBに転送される。
【0083】
ここで、上述の第1、第2の比較例では、ハブのアップストリームポート回路がトランシーバーPHY_HCB(物理層回路)を内蔵する。そのため、第1、第2の比較例では、内蔵されたトランシーバーによりハブの回路規模が増大するという課題がある。また、第2の比較例では、ホストコントローラーとトランシーバーが別チップで構成される。そのため、第2の比較例では、別チップのトランシーバーにより配線基板上での実装面積が増大するという課題もある。
【0084】
この点、本実施形態によれば、アップダウンストリームポート回路20−1が、ホスト/デバイスコントローラーHDCBのリンクコントローラーLK_HBとのインターフェース処理を行ってもよい。
【0085】
本実施形態によれば、リンクコントローラーLK_HBとのインターフェース処理を行うことで、トランシーバーを介することなく、ハブ10とホスト/デバイスコントローラーHDCBとの間でデータ転送できる。これにより、アップストリームポート回路20−1のトランシーバー(例えば、図1(A)のPHY_HUB)を省略して、ハブ10の回路規模を削減できる。また、ホスト/デバイスコントローラーのトランシーバー(例えば、図1(A)のPHY_HCA)を省略して、ホスト/デバイスコントローラーの回路規模を削減することもできる。あるいは、ホスト/デバイスコントローラーと別チップのトランシーバー(例えば、図1(B)のPHY_HCB)を省略して、配線基板上での実装面積を削減することもできる。
【0086】
上述の図5等で説明したように、本実施形態では、アップダウンストリームポート回路20−1は、ホスト/デバイスコントローラーHDCBとULPI規格のバスで接続され、ホスト/デバイスコントローラーHDCBのリンクコントローラーLK_HBとの間のULPIのインターフェース処理を行ってもよい。
【0087】
このようにすれば、ULPIのインターフェースをもつホスト/デバイスコントローラーHDCBをアップダウンストリームポート回路20−1に接続できる。そして、アップダウンストリームポート回路20−1とリンクコントローラーLK_HBとの間のULPIのインターフェースを行うことができる。これにより、アップダウンストリームポート回路20−1のトランシーバーと、ホスト/デバイスコントローラーHDCBのトランシーバーを省略できる。
【0088】
後述の図8等で説明するように、本実施形態では、アップダウンストリームポート回路20−1が、第1、第2のインターフェース回路150、160と、変換回路100とを含んでもよい。そして、第1のインターフェース回路150が、ホスト/デバイスコントローラーHDCBのリンク層回路LK_HBとのインターフェース処理を行い、第2のインターフェース回路160が、第1のモードにおいて、ハブロジック回路40とのインターフェース処理を行い、第2のモードにおいて、ルーティングロジック回路50とのインターフェース処理を行い、変換回路100が、第1のインターフェース回路150のインターフェース信号と、第2のインターフェース回路160のインターフェース信号との変換処理を行ってもよい。
【0089】
このようにすれば、アップダウンストリームポート回路20−1が、ホスト/デバイスコントローラーHDCBのリンクコントローラーLK_HBとのインターフェース処理を行うことができる。具体的には、本実施形態では、変換回路100が、第1のインターフェース回路150のインターフェース信号と、第2のインターフェース回路160のインターフェース信号との変換処理を行う。これにより、トランシーバーを介することなく、ハブロジック回路40とリンクコントローラーLK_HBとのインターフェース処理、または、ルーティングロジック回路50とリンクコントローラーLK_HBとのインターフェース処理を行うことができる。
【0090】
例えば、本実施形態では、第1のインターフェース回路150には、ULPIのバスを介してホスト/デバイスコントローラーが接続されてもよく、第1のインターフェース回路150が、ホスト/デバイスコントローラーのリンク層回路とのULPIのインターフェース処理を行ってもよい。このようにすれば、ホスト/デバイスコントローラーのリンクコントローラーとのULPIのインターフェース処理を実現できる。
【0091】
また、本実施形態では、第2のインターフェース回路160は、UTMI(USB2.0 Transceiver Macrocell Interface)のバスを介して、ハブロジック回路40またはルーティングロジック回路50とのUTMIのインターフェース処理を行ってもよい。このようにすれば、アップダウンストリームポート回路20−1と、ハブロジック回路40またはルーティングロジック回路50との間で、UTMIのバスを介してデータ転送できる。
【0092】
そして、本実施形態では、変換回路100が、第1のインターフェース回路150のULPIのインターフェース信号と、第2のインターフェース回路160のUTMIのインターフェース信号との変換処理を行ってもよい。このようにすれば、ULPIのインターフェース信号とUTMIのインターフェース信号との変換処理を行うことで、ホスト/デバイスコントローラーのリンクコントローラーとのインターフェース処理を実現できる。
【0093】
なお、本発明では、アップダウンストリームポート回路20−2が、ホスト/デバイスコントローラーのリンクコントローラーとのインターフェース処理を行ってもよい。例えば、アップダウンストリームポート回路20−2が、ホスト/デバイスコントローラーとULPI規格のバスで接続され、ホスト/デバイスコントローラーのリンクコントローラーとの間のULPIのインターフェース処理を行ってもよい。また、本発明では、アップダウンストリームポート回路20−2が、第1、第2のインターフェース回路と、変換回路とを含んでもよい。
【0094】
3.アップダウンストリームポート回路
3.1.第1の詳細な構成例
図7に、アップダウンストリームポート回路の第1の詳細な構成例を示す。図7には、第1の詳細な構成例として、アップダウンストリームポート回路300を示す。アップダウンストリームポート回路300は、トランシーバー310(物理層回路、アナログフロントエンド回路)、シリアルパラレル変換回路320、パラレルシリアル変換回路330、セレクター340を含む。このアップダウンストリームポート回路300は、例えばホスト/デバイスコントローラー(または、ホストコントローラー、デバイス)とUSBで接続され、ホスト/デバイスコントローラーとの間のUSB規格に準拠したインターフェース処理を行う。
【0095】
トランシーバー310は、インターフェース信号の入出力を行う。具体的には、トランシーバー310は、パラレルシリアル変換回路330からのシリアル信号を受けて、そのシリアル信号に基づいてUSBの差動信号を出力する。一方、トランシーバー310は、USBの差動信号を受けてシリアル信号を生成し、そのシリアル信号をシリアルパラレル変換回路320に出力する。また、トランシーバー310は、USBの電源電圧の入出力を行う。あるいは、トランシーバー310には、セレクター340を介して、ハブロジック回路40またはルーティングロジック回路50からのインターフェース信号(例えば、UTMIのインターフェース信号)が入力される。そして、そのインターフェース信号に基づいて、トランシーバー310のモードが設定される(例えば、HSモード、LSモード)。トランシーバー310は、バスの状態に基づいてインターフェース信号(例えば、HS_Disconect、スケルチ信号)を生成し、セレクター340を介して、ハブロジック回路40またはルーティングロジック回路50に出力する。例えば、トランシーバー310は、後述する図14(A)、図14(B)に示すトランシーバーにより構成できる。
【0096】
シリアルパラレル変換回路320は、トランシーバー310からのシリアル信号を受けて、そのシリアル信号をパラレル信号(例えば、UTMIのインターフェース信号)に変換処理し、変換処理後のパラレル信号をセレクター340に出力する。具体的には、シリアルパラレル変換回路320は、セレクター340を介して、ハブロジック回路40またはルーティングロジック回路50にパラレル信号を出力する。
【0097】
パラレルシリアル変換回路330は、セレクター340からのパラレル信号(例えば、UTMIのインターフェース信号)を受けて、そのパラレル信号をシリアル信号に変換処理し、変換処理後のシリアル信号をトランシーバー310に出力する。具体的には、パラレルシリアル変換回路330には、セレクター340を介して、ハブロジック回路40またはルーティングロジック回路50からのパラレル信号が入力される。なお、シリアルパラレル変換回路320及び、パラレルシリアル変換回路330は、例えば、フリップフロップ回路によるシフトレジスターにより構成できる。
【0098】
セレクター340は、ハブロジック回路40またはルーティングロジック回路50との間のインターフェース信号の入出力を行う。具体的には、セレクター340は、シリアルパラレル変換回路320からのパラレル信号を、ハブロジック回路40またはルーティングロジック回路50に出力する。また、セレクター340は、ハブロジック回路40またはルーティングロジック回路50からのパラレル信号をパラレルシリアル変換回路330に出力する。より具体的には、セレクター340は、ハブロジック回路40との第1のパラレルバスまたはルーティングロジック回路50との第2のパラレルバス(例えばUTMIのバス)を選択する。そして、セレクター340は、選択されたパラレルバスを介してインターフェース信号の入出力を行う。例えば、セレクター340は、トランスファーゲートを用いたスイッチング回路により構成してもよく、そのスイッチング回路により、第1のパラレルバスまたは第2のパラレルバスが選択されてもよい。あるいは、セレクター340は、第1、第2のパラレルバスに対してインターフェース信号の入出力を行う第1、第2の入出力バッファーを有する選択回路により構成されてもよい。そして、第1の入出力バッファーがイネーブルにされることで、第1のパラレルバスが選択されてもよく、第2の入出力バッファーがイネーブルにされることで、第2のパラレルバスが選択されてもよい。
【0099】
ここで、アップダウンストリームポート回路300には、切替信号HostEn(例えば、後述する図12に示す切替制御回路460からのHostEn)が入力される。HostEnは、ハブの第1のモードと第2のモードを切り替えるための信号である。そして、アップダウンストリームポート回路300は、HostEnに基づいてアップストリームポート動作とダウンストリームポート動作を切り替える。具体的には、HostEnは、トランシーバー310とセレクター340に入力され、トランシーバー310とセレクター340は、HostEnに基づいて動作を切り替える。
【0100】
例えば、アップダウンストリームポート回路300が、上述の図3、図4に示すアップダウンストリームポート回路20−1に適用されるものとする。そうすると、第1のモードにおいて、HostEnがアクティブ(または非アクティブ、広義には第1の論理レベル)にされ、アップダウンストリームポート回路300はアップストリームポート動作を行う。具体的には、トランシーバー310が、アップストリームポート動作(例えば、後述の図14(A)に示すアップストリームポート動作)を行う。また、セレクター340が、ハブロジック回路40との第1のパラレルバスを選択し、第1のパラレルバスを介してハブロジック回路40とのインターフェース信号の入出力を行う。一方、第2のモードにおいて、HostEnが非アクティブ(またはアクティブ、広義には第2の論理レベル)にされ、アップダウンストリームポート回路300はダウンストリームポート動作を行う。具体的には、トランシーバー310が、ダウンストリームポート動作(例えば、後述の図14(B)に示すダウンストリームポート動作)を行う。また、セレクター340が、ルーティングロジック回路50との第2のパラレルバスを選択し、第2のパラレルバスを介してルーティングロジック回路50とのインターフェース信号の入出力を行う。
【0101】
なお、上記説明では、アップダウンストリームポート回路300が、第1のモードにおいてアップストリームポート動作を行い、第2のモードにおいてダウンストリームポート動作を行う場合を例に説明した。但し、本発明では、アップダウンストリームポート回路300が、第1のモードにおいてダウンストリームポート動作を行い、第2のモードにおいてアップストリームポート動作を行ってもよい。すなわち、第1のモードにおいて、トランシーバー310がダウンストリームポート動作を行ってもよく、セレクター340がルーティングロジック回路50とのインターフェース信号の入出力を行ってもよい。一方、第2のモードにおいて、トランシーバー310がアップストリームポート動作を行ってもよく、セレクター340がハブロジック回路40とのインターフェース信号の入出力を行ってもよい。
【0102】
3.2.第2の詳細な構成例
図8に、アップダウンストリームポート回路の第2の詳細な構成例を示す。図8には、第2の詳細な構成例として、アップダウンストリームポート回路350を示す。アップダウンストリームポート回路350は、ULPIのインターフェース回路150(第1のインターフェース回路)、変換回路100、UTMIのインターフェース回路160(第2のインターフェース回路)を含む。このアップダウンストリームポート回路350には、ULPIのバスを介して、例えばホスト/デバイスコントローラー(または、ホストコントローラー、デバイス)が接続される。そして、アップダウンストリームポート回路350は、ULPIのインターフェース信号とUTMIのインターフェース信号との変換処理を行うことで、USBを介することなくホスト/デバイスコントローラーとの間のインターフェース処理を行う。
【0103】
インターフェース回路150は、ULPIのインターフェース信号data[7:0]、dir、stp、nxt(広義には、第1のインターフェース信号)の入出力を行う。具体的には、インターフェース回路150は、ホスト/デバイスコントローラーからの信号data[7:0]、stpを受けて、その信号を変換回路100に出力する。また、インターフェース回路150は、変換回路100からの信号data[7:0]を受けて、その信号をホスト/デバイスコントローラーに出力する。インターフェース回路150は、変換回路100からの制御信号を受けて、その制御信号に基づいて信号dir、nxtをホスト/デバイスコントローラーに出力する。例えば、インターフェース回路150は、信号data[7:0]、nxt、dirを出力してULPIのバスをドライブするドライバーや、ULPIのバスからの信号data[7:0]、stpを受信するレシーバーにより構成できる。
【0104】
インターフェース回路160は、UTMIのインターフェース信号(広義には、第2のインターフェース信号)の入出力を行う。具体的には、インターフェース回路160は、ハブロジック回路(例えば、上述の図2のハブロジック回路40)との間で、UTMIのインターフェース信号DataIn1[7:0]、DataOut1[7:0]、TXValid1、TXReady1等(広義には、第1のパラレルバス信号)の入出力を行う。また、インターフェース回路160は、ルーティングロジック回路(例えば、上述の図2のルーティングロジック回路50)との間で、UTMIのインターフェース信号DataIn2[7:0]、DataOut2[7:0]、TXValid2、TXReady2等(広義には、第2のパラレルバス信号)の入出力を行う。より具体的には、インターフェース回路160は、ハブロジック回路からの信号DataIn1[7:0]、TXValid1等を受けて、その信号を変換回路100に出力する。また、インターフェース回路160は、変換回路100からの信号DataOut1[7:0]を受けて、その信号をハブロジック回路に出力する。インターフェース回路160は、変換回路100からの制御信号を受けて、その制御信号に基づいて信号TXReady1等をハブロジック回路に出力する。同様に、インターフェース回路160は、ルーティングロジック回路からの信号DataIn2[7:0]、TXValid2等を受けて、その信号を変換回路100に出力する。また、インターフェース回路160は、変換回路100からの信号DataOut2[7:0]を受けて、その信号をルーティングロジック回路に出力する。インターフェース回路160は、変換回路100からの制御信号を受けて、その制御信号に基づいて信号TXReady2等をルーティングロジック回路に出力する。
【0105】
ここで、アップダウンストリームポート回路350には、切替信号HostEn(例えば、後述する図12に示す切替制御回路460からのHostEn)が入力される。具体的には、HostEnは、インターフェース回路160に入力される。そして、インターフェース回路160は、HostEnに基づいてハブロジック回路またはルーティングロジック回路とのインターフェース信号の入出力を行う。より具体的には、インターフェース回路160は、セレクター162を含む。そして、セレクター162は、HostEnに基づいて、ハブロジック回路との第1のUTMIのバス(広義には、第1のパラレルバス)または、ルーティングロジック回路との第2のUTMIのバス(広義には、第2のパラレルバス)を選択する。
【0106】
例えば、アップダウンストリームポート回路350が、上述の図5、図6に示すアップダウンストリームポート回路20−1に適用されるものとする。そうすると、第1のモードにおいて、アップダウンストリームポート回路350はアップストリームポート動作を行う。具体的には、第1のモードにおいて、セレクター162は第1のUTMIのバスを選択する。そして、セレクター162は、第1のUTMIのバスを介して、ハブロジック回路とのインターフェース信号の入出力を行う。一方、第2のモードにおいて、アップダウンストリームポート回路350はダウンストリームポート動作を行う。具体的には、セレクター162は第2のUTMIのバスを選択する。そして、セレクター162は、第2のUTMIのバスを介して、ルーティングロジック回路とのインターフェース信号の入出力を行う。なお、セレクター162は、上述の図7に示すセレクター340と同様に、例えばトランスファーゲートを用いたスイッチング回路や、入出力バッファーを用いた選択回路により構成できる。
【0107】
ここで、上記説明では、アップダウンストリームポート回路350が、第1のモードにおいてアップストリームポート動作を行い、第2のモードにおいてダウンストリームポート動作を行う場合を例に説明した。但し、本発明では、アップダウンストリームポート回路350が、第1のモードにおいてダウンストリームポート動作を行い、第2のモードにおいてアップストリームポート動作を行ってもよい。すなわち、第1のモードにおいて、セレクター162がルーティングロジック回路50とのインターフェース信号の入出力を行ってもよく、第2のモードにおいて、セレクター162がハブロジック回路40とのインターフェース信号の入出力を行ってもよい。
【0108】
変換回路100は、インターフェース回路150のULPIのインターフェース信号と、インターフェース回路160のUTMIのインターフェース信号との変換処理を行う。具体的には、変換回路100は、USB(広義には、シリアルバス)を介したデータ転送をエミュレーション処理する。すなわち、変換回路100は、USBを介したデータ転送を行うトランシーバー(例えば、上述の図1(B)に示すPHY_HCB、PHY_HUB)のインターフェース処理をエミュレーション処理する。より具体的には、変換回路100は、受信回路110、送信回路120、制御回路130(バスステートコントローラー)、レジスター140を含む。
【0109】
受信回路110には、インターフェース回路150を介して、ホスト/デバイスコントローラーからのULPIの受信データdata[7:0](広義には、第1のインターフェース信号の受信データ)が入力される。受信回路110は、data[7:0]をUTMIの受信データDataOut1[7:0]またはDataOut2[7:0](広義には、第2のインターフェース信号の受信データ)に変換処理する。そして、受信回路110は、インターフェース回路160を介して、DataOut1[7:0]をハブロジック回路に出力する。または、受信回路110は、インターフェース回路160を介して、DataOut2[7:0]をルーティングロジック回路に出力する。具体的には、受信回路110は、受信データをバッファーリングする受信バッファー112を有する。そして、受信回路110は、制御回路130からの制御信号に基づいて、受信バッファー112への受信データの取り込みを行ったり、受信バッファー112からハブロジック回路への受信データの転送を行ったり、受信バッファー112からルーティングロジック回路への受信データの転送を行ったりする。
【0110】
送信回路120には、インターフェース回路160を介して、UTMIの送信データDataIn1[7:0]またはDataIn2[7:0](広義には、第2のインターフェース信号の送信データ)が入力される。ここで、DataIn1[7:0]は、ハブロジック回路からの送信データであり、DataIn2[7:0]は、ルーティングロジック回路からの送信データである。送信回路120は、DataIn1[7:0]またはDataIn2[7:0]を、ULPIの送信データdata[7:0](広義には、第1のインターフェース信号の送信データ)に変換処理する。そして、送信回路120は、インターフェース回路150を介して、data[7:0]をホスト/デバイスコントローラーに出力する。具体的には、送信回路120は、送信データをバッファーリングする送信バッファー122を有する。そして送信回路120は、制御回路130からの制御信号に基づいて、送信バッファー122への送信データの取り込みを行ったり、送信バッファー122からホスト/デバイスコントローラーへの送信データの転送を行ったりする。
【0111】
制御回路130は、ULPIのインターフェース信号とUTMIのインターフェース信号との変換処理を制御する。具体的には、制御回路130は、ULPIのインターフェース信号とUTMIのインターフェース信号に基づいてバス状態を監視する。そして、制御回路130は、その監視結果に基づいてインターフェース回路150、160を制御し、ULPIのインターフェース信号とUTMIのインターフェース信号を出力する。より具体的には、制御回路130には、信号stp、data[7:0]、信号TXValid1、DataIn1[7:0]、TXValid2、DataIn2[7:0]等が入力される。また、制御回路130には、受信バッファー112のバッファーリング状態を示す信号、送信バッファー122のバッファーリング状態を示す信号が入力される。制御回路130は、これらの信号に基づいてバスのデータ受信状態やバスのデータ送信状態を検出処理し、バス状態を監視する。また、制御回路130には、データ転送を制御するための信号として、図示しないUTMIのインターフェース信号OpMode1[1:0]、TermSelect1[1:0]、OpMode2[1:0]、TermSelect2[1:0]等が入力される。制御回路130は、これらの信号を検出処理することでバス状態を監視する。そして、制御回路130は、これらの監視結果に基づいて、インターフェース回路150を制御し、信号nxt、dir、data[7:0]を出力させる。また、制御回路130は、インターフェース回路160を制御し、信号TXReady1、DataOut1[7:0]、TXReady2、DataOut2[7:0]等を出力させる。
【0112】
レジスター140は、ULPIのインターフェース信号とUTMIのインターフェース信号との変換処理のためのレジスター値を設定する。具体的には、レジスター140は、ホスト/デバイスコントローラーによる、ホスト/デバイスコントローラー側のトランシーバー(例えば図1(B)のPHY_HOST)の制御をエミュレーション処理するためのレジスター値を設定する。より具体的には、レジスター140は、ULPIのバスの信号数の不足を補うために、UTMIのインターフェース信号をレジスター値として設定する。例えば、レジスター140には、ホスト/デバイスコントローラー側のトランシーバーの制御信号OpMode[1:0]、XcvrSelect[1:0]、TermSelect等が設定値として設定される。また、レジスターには、ホスト/デバイスコントローラー側のトランシーバーが生成する信号LineState[1:0]等が設定値として設定される。そして、これらの設定値が設定されたレジスター140に対して、ホスト/デバイスコントローラーがアクセス(書き込み、読み出し)することで、ホスト/デバイスコントローラーは、あたかもホスト/デバイスコントローラー側のトランシーバーが存在するかのように認識する。また、制御回路130は、レジスター140の設定値を参照することで、インターフェース回路150のULPIのインターフェース信号を制御する。
【0113】
3.3.変換処理の信号波形例
図9〜図11を用いて、変換処理の信号波形例について説明する。なお、以下では、インターフェース回路160のインターフェース信号の信号波形例として、インターフェース回路160とハブロジック回路との間のインターフェース信号RXActive1、RXValid1等の信号波形例を示す。但し、インターフェース回路160とルーティングロジック回路とのインターフェース信号RXActive2、RXValid2等についても、同様の信号波形例が適用できる。また、以下では、アップダウンストリームポート回路にホスト/デバイスコントローラーが接続される場合を例に説明する。但し、本発明では、アップダウンストリームポート回路に、ホストコントローラーまたはデバイスが接続されてもよい。
【0114】
図9に、変換処理の第1の信号波形例を示す。図9には、第1の信号波形例として、ホスト/デバイスコントローラーからハブへ受信データが受信されるときの信号波形例を示す。
【0115】
図9のA1に示すように、ホスト/デバイスコントローラーからバスdata[7:0]に受信データが出力されると、出力された受信データが検出処理される。そして、A2に示すように、信号nxtがアクティブにされ(アサートされ、第1の論理レベルにされ)、受信データのバッファーリングが開始される。また、data[7:0]に出力された受信データが検出処理されると、A3に示すように、信号RXActive1がアクティブにされる。受信データがバッファーリングされたことが検出処理されると、A4に示すように、信号RXValid1がアクティブにされる。そして、RXActive1とRXValid1がアクティブである期間において、A5に示すように、ハブロジック回路に対して受信データが転送される。
【0116】
A6に示すように、ホスト/デバイスコントローラーからの受信データの出力が終了されると、A7に示すように、信号stpがアクティブにされ、その後、非アクティブにされる(ネゲートされる。第2の論理レベルにされる)。信号stpがアクティブであることが検出処理されると、A8に示すように、信号nxtが非アクティブにされる。A9に示すように、受信データの転送が終了したことが検出されると、A10に示すように、信号RXActive1が非アクティブにされ、A11に示すように、信号RXValid1が非アクティブにされる。
【0117】
ここで、A12に示すように、データ転送中においては、信号LineState1[1:0]としてJステートが出力される。また、例えばHSモード(High Speed Mode、480Mbps)でデータ転送される場合には、A13に示すように、信号XcvrSelect1[1:0]=(0,0)が出力され、A14に示すように、TermSelect1=0(0は、Lレベル又は第2の論理レベル)が出力される。また、例えばトランシーバーのノーマルオペレーションモードがエミュレーション処理される場合には、A15に示すように、信号OpMode1[1:0]=(0,0)が出力される。
【0118】
図10に、変換処理の第2の信号波形例を示す。図10には、第2の信号波形例として、ハブからホスト/デバイスコントローラーへ送信データが送信されるときの信号波形例を示す。
【0119】
図10のB2に示すように、信号TXValid1がアクティブにされ、B1に示すように、ハブロジック回路から送信データが出力される。信号TXValid1がアクティブにされたことが検出処理されると、B3に示すように、TXReady1がアクティブにされ、送信データのバッファーリングが開始される。信号TXValid1がアクティブにされたことが検出処理されると、B4に示すように、信号dirがアクティブにされる。送信データがバッファーリングされたことが検出されると、B5に示すように、信号nxtがアクティブにされ、B6に示すように、ホスト/デバイスコントローラーに対して送信データが転送される。このとき、B6に示すように、送信データには、ターンアラウンド(turn around)が確保され、RXコマンド(RX CMD)が付加される。このターンアラウンドは、信号dirのアクティブ、非アクティブの変化点において確保される。また、RXコマンドとして、例えばレジスター140のレジスター値VbusState、LineState等を含むデータが付加される。B7に示すように、RXコマンドが出力されている期間において、nxtが非アクティブにされる。
【0120】
B8に示すように、ハブロジック回路からの送信データの出力が終了すると、B9に示すように、信号TXValid1が非アクティブにされる。信号TXValid1が非アクティブにされたことが検出処理されると、B10に示すように、信号TXReady1が非アクティブにされる。送信データの転送が終了したことが検出処理されると、B11に示すように、信号dirが非アクティブにされる。B12に示すように、送信データの転送が終了したことが検出処理されると、B13に示すように、信号nxtが非アクティブにされる。
【0121】
ここで、B14に示すように、データ転送中においては、信号LineState1[1:0]としてJステートが出力される。また、上述の図9と同様に、信号XcvrSelect1[1:0]、TermSelect1、OpMode1[1:0]として、XcvrSelect1[1:0]=(0,0)、TermSelect1=0、OpMode1[1:0]=(0,0)が出力される。
【0122】
図11に、変換処理の第3の信号波形例を示す。図11には、第3の信号波形例として、トランシーバーのリセット動作をエミュレーション処理するときの信号波形例を示す。図11には、アップダウンストリームポート回路350がアップストリームポート動作を行う場合の信号波形例を示す。
【0123】
図11のC1に示すように、アップダウンストリームポート回路のホスト/デバイスコントローラー(ホスト動作)からレジスター書込み用のコマンドTX CMD(RegWr)が送信される。コマンドTX CMDを受けて、リセット用のオペレーションモードに対応するレジスター値(例えばOpMode1[1:0]=(1,0))がレジスター140に設定される。C2に示すように、LineState1[1:0]に一定時間SE0(Single Ended Zero)が出力される。LineState1[1:0]にSOF(Start-of-Frame)が出力されないことが検出処理されると、C3に示すように、FSモードのターミネーションに対応するTermSelect1=1(1は、Hレベル又は第1の論理レベル)が出力される。そして、C4に示すように、OpMode1[1:0]=(1,0)が出力される。ハブロジック回路からデバイスチャープKが送信され、C5に示すように、LineState1[1:0]がデバイスチャープKにされる。C6に示すように、ホスト/デバイスコントローラーに対して、LineState1[1:0]が変化したことを知らせるためのコマンドRX CMDが送信される。
【0124】
C7に示すように、デバイスチャープKの送信終了後に、LineState1[1:0]がSE0にされる。C8に示すように、ホスト/デバイスコントローラーに対して、LineState1[1:0]が変化したことを知らせるためのコマンドRX CMDが送信される。C9に示すように、ホスト/デバイスコントローラーからコマンドTX CMD(NOPID)とホストチャープK/Jが送信される。C10に示すように、ハブロジック回路に対して、ホストチャープK/Jが送信される。データ転送速度が例えばHSモードであると判断されると、C11に示すように、HSモードのターミネーションに対応するTermSelect1=0が出力される。C12に示すように、TermSelect1=0を受けて、LineState1[1:0]がJステートにされる。C13に示すように、ホストチャープK/Jの送信終了後に、LineState1[1:0]がSE0にされる。C14に示すように、ホスト/デバイスコントローラーからレジスター書込み用のコマンドTX CMD(RegWr)が送信される。コマンドTX CMDを受けて、ノーマルオペレーションモードに対応するレジスター値(例えばOpMode1[1:0]=(0,0))がレジスター140に設定される。
【0125】
4.ハブロジック回路
図12に、ハブ(データ転送制御装置)の詳細な構成例を示す。図12に示す詳細な構成例のハブは、アップダウンストリームポート回路20−1、20−2、ハブロジック回路40、ルーティングロジック回路50、ダウンストリームポート回路60−1〜60−k、切替制御回路460を含む。なお、以下では、上述の図2等で説明した構成要素と同一の要素には、同一の符号を付して、適宜説明を省略する。ここで、以下では、第1のモードにおいて、アップダウンストリームポート回路20−1がアップストリームポート動作を行い、アップダウンストリームポート回路20−2がダウンストリームポート動作を行う場合を例に説明する。また、以下では、アップダウンストリームポート回路20−1にホストコントローラーが接続され、アップダウンストリームポート回路20−2にデバイスが接続される場合を例に説明する。
【0126】
ハブロジック回路40は、ハブコントローラー410、ハブリピーターロジック回路420、トランザクショントランスレーター430、ハブステートマシーン440、フレームタイマー450を含む。なお、本発明のハブロジック回路は、図12の構成に限定されず、その構成の一部省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0127】
トランザクショントランスレーター430は、トランザクションの変換処理を行う。具体的には、アップダウンストリームポート回路20−1が、ホストコントローラーとHSモード(High Speed Mode、480Mbps)で接続され、アップダウンストリームポート回路20−2またはダウンストリームポート回路60−1〜60−kが、デバイスとFSモード、LSモードで接続されるとき、トランザクショントランスレーター430は、アップストリームポート側のHSモードのトランザクションとダウンストリームポート側のFSモード、LSモードのトランザクションとを変換処理する。
【0128】
ハブリピーターロジック回路420は、アップダウンストリームポート回路20−1に接続されたホストコントローラーのデータ転送速度のモードと、アップダウンストリームポート回路20−2またはダウンストリームポート回路に接続されたデバイスのデータ転送速度のモードとが同じ場合に、データ転送を行う。
【0129】
ハブステートマシーン440は、ハブのステートを制御する。例えば、アップダウンストリームポート回路20−1とホストコントローラーとの接続・切断を検出処理する。また、ハブステートマシーン440は、アップダウンストリームポート回路20−2、ダウンストリームポート回路60−1〜60−kとデバイスとの接続・切断を検出処理する。あるいは、ハブステートマシーン440は、アップダウンストリームポート回路20−1、20−2、ダウンストリームポート回路60−1〜60−kのリセット・停止・復帰を制御する。
【0130】
ハブコントローラー410は、ハブとホストコントローラーとの通信を制御する。例えば、ハブコントローラー410は、エニュメレーションを行って、ハブのリソース情報や設定等をホストコントローラーと交換する。また、ハブコントローラー410は、ホストコントローラーからのリクエストを処理する。
【0131】
フレームタイマー450は、アップストリームポート側のフレームとダウンストリームポート側のフレームとの同期を取り、フレームインターバルの制御を行う。
【0132】
ルーティングロジック回路50は、トランザクショントランスレーター430と、アップダウンストリームポート回路20−2または各ダウンストリームポート回路とを接続する。あるいは、ルーティングロジック回路50は、ハブリピーターロジック回路420とアップダウンストリームポート回路20−2または各ダウンストリームポート回路とを接続する。
【0133】
切替制御回路460は、第1のモードと第2のモードを切り替えるための切替制御信号HostEnを出力する。具体的には、切替制御回路460は、アップダウンストリームポート回路20−1、20−2、ハブロジック回路40に対して信号HostEnを出力する。例えば、第1のモードにおいて、切替制御回路460は信号HostEnをアクティブ(第1の論理レベル)にする。これを受けて、アップダウンストリームポート回路20−1、20−2は、それぞれアップストリームポート動作、ダウンストリームポート動作を行う。また、ハブコントローラー410、ハブリピーターロジック回路420、トランザクショントランスレーター430は、アップダウンストリームポート回路20−1との間のインターフェース処理を行う。一方、第2のモードにおいて、切替制御回路460は信号HostEnを非アクティブ(第2の論理レベル)にする。これを受けて、アップダウンストリームポート回路20−1、20−2は、それぞれダウンストリームポート動作、アップストリームポート動作を行う。また、ハブコントローラー410、ハブリピーターロジック回路420、トランザクショントランスレーター430は、アップダウンストリームポート回路20−2との間のインターフェース処理を行う。
【0134】
例えば、ハブには、モード切替信号が供給される外部端子が設けられてもよく、切替制御回路460には、その外部端子からのモード切替信号が入力されてもよい。そして、切替制御回路460は、外部端子からのモード切替信号に基づいて、第1のモードと第2のモードを切り替えてもよい。例えば、電子機器にモード切り替え用のスイッチが設けられ、そのスイッチから外部端子にモード切替信号が供給されてもよい。あるいは、ホストコントローラーから外部端子にモード切替信号が供給されてもよい。また、アップダウンストリームポート回路20−1、20−2とハブロジック回路40との間のインターフェース信号には、モード切替信号が含まれてもよい。そして、切替制御回路460は、インターフェース信号に含まれるモード切替信号に基づいて、第1のモードと第2のモードを切り替えてもよい。例えば、インターフェース信号に含まれるモード切替信号は、ホストコントローラーにより制御されてもよい。
【0135】
なお、上記説明では、本実施形態のハブがUSB2.0規格に準拠する場合を例に説明した。但し、本発明では、ハブがUSB1.1等の他の規格に準拠してもよい。
【0136】
5.OTG
図13に、OTG(On-The-Go)のデュアルロールデバイスを実現できるホスト/デバイスコントローラーの構成例を示す。この構成例のホスト/デバイスコントローラーは、トランシーバー200、転送コントローラー210、バッファーコントローラー220、データバッファー230、OTGコントローラー250(ステートコントローラー)を含む。
【0137】
転送コントローラー210は、USBを介したデータ転送を制御するためのコントローラーであり、いわゆるSIE(Serial Interface Engine)の機能などを実現する。具体的には、転送コントローラー210は、切り替え回路212とホストコントローラー214とペリフェラルコントローラー216とレジスター部218を含む。切り替え回路212は、トランシーバー200と、ホストコントローラー214又はペリフェラルコントローラー216との間の接続の切り替えを制御する。ホストコントローラー214は、レジスター部218に設定された転送条件情報に基づき、ホスト動作時にホストの役割としてのデータ転送制御を行う。ペリフェラルコントローラー216は、レジスター部218に設定された転送条件情報に基づき、ペリフェラル動作(デバイス動作)時にペリフェラルの役割としてのデータ転送制御を行う。
【0138】
OTGコントローラー250は、OTGのSRP機能やHNP機能を実現するための回路である。即ちOTGコントローラー250は、ホストの役割として動作するホスト動作のステートや、ペリフェラルの役割として動作するペリフェラル動作のステートなどを含む複数のステートの制御を行う。
【0139】
トランシーバー200は、差動信号DP、DM(差動データ信号)を用いてデータを送受信するための回路である。バッファーコントローラー220は、データバッファー230に記憶領域(エンドポイント領域等)を確保したり、データバッファー230の記憶領域に対するアクセス制御を行ったりする。データバッファー230(パケットバッファー)は、USBを介して転送されるデータ(送信データ又は受信データ)を一時的に格納(バッファーリング)するためバッファー(FIFO)である。
【0140】
本実施形態によれば、このようなOTGのホスト/デバイスコントローラーがハブに接続された場合でも、データ転送を行うことができる。なお、本発明では、ハブがOTGのインターフェース処理を行い、OTGによりモードを切り替えてもよい。すなわち、ハブが、図13に示すOTGコントローラー250、転送コントローラー210と同様のOTGコントローラー、転送コントローラーを含んでもよい。そして、OTGのインターフェース処理により、ハブに接続されたホスト/デバイスコントローラーのホスト動作とペリフェラル動作が切り替えられ、ハブの第1のモードと第2のモードが切り替えられてもよい。
【0141】
6.アップダウンストリームポート回路のトランシーバー
図14(A)、図14(B)に、アップダウンストリームポート回路のトランシーバーの詳細な構成例を示す。この詳細な構成例のトランシーバーは、プルアップ抵抗Rpu、スイッチSW_Rpu、プルダウン抵抗Rpd1、Rpd2、スイッチSW_Rpd1、SW_Rpd2、スイッチSW_VBUS、HS(High Speed)カレントドライバーHSD、LS/FS(Low Speed/Full Speed)ドライバーLSD、抵抗Rs1、Rs2、HS差動データレシーバーHSR、トランスミッションエンベロープディテクターSQL、LS/FS差動データレシーバーLSR、ディスコネクションエンベロープディテクターDIS、シングルエンドレシーバーDP_SER、DM_SERを含む。
【0142】
図14(A)は、トランシーバーがダウンストリームポート動作を行う場合の接続構成例である。図14(A)に示すように、信号HD_Select(例えば、図12の切替制御回路460からの切替制御信号HostEn)に基づいて、スイッチSW_Rpd1、SW_Rpd2がオンされ、スイッチSW_Rpuがオフされる。また、信号HD_Selectに基づいて、DPライン、DMラインが抵抗Rpd1、Rpd2を介してプルダウンされ、スイッチSW_VBUSがVBUS供給状態に切り替えられ、トランシーバーからUSBにバス電源VBUSが供給される。ディスコネクションエンベロープディテクタDISは、信号HD_Selectに基づいて、イネーブル状態に切り替えられ、HSディスコネクト状態を検出する。
【0143】
図14(B)は、トランシーバーがアップストリームポート動作を行う場合の接続構成例である。図14(B)に示すように、信号HD_Selectに基づいて、スイッチSW_Rpd1、SW_Rpd2がオフされ、スイッチSW_Rpuがオンされる。そして、信号HD_Selectに基づいて、DPラインが抵抗Rpuを介してプルアップされ、スイッチSW_VBUSがVBUS検出状態に切り替えられ、トランシーバーに対してUSBバスからバス電源VBUSが供給される。ディスコネクションエンベロープディテクタDISは、信号HD_Selectに基づいて、ディセーブル状態に切り替えられる。
【0144】
なお、図14(A)、図14(B)では、本実施形態のハブがHS/FSモードで動作する場合に、ダウンストリームポート動作においてDPラインがプルアップされる接続構成例について説明した。但し本発明では、ハブがLSモードで動作する場合に、ダウンストリームポート動作においてDMラインが抵抗RpuとスイッチSW_Rpuを介してプルアップされてもよい。
【0145】
7.電子機器
図15に、本実施形態のハブ(データ転送制御装置)が適用される電子機器の構成例を示す。例えば本実施形態のハブは、パソコン(PC:Personal Computer)、家庭用ゲーム機、カーナビゲーションシステム、プリンタ、テレビ、デジタルフォトフレーム、AVレコーダ/プレーヤ等の電子機器に適用できる。
【0146】
図15に示す電子機器500は、ハブ570、CPU510(例えば、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラー)、デバイス520−1、520−2、ポート580、ROM530(Read Only Memory)、RAM540(Random Access Memory)、表示部550、操作部560を含む。
【0147】
CPU510は、CPUバスを介して、ROM530、RAM540、表示部550、操作部560と通信する。表示部550は、例えば液晶パネル、EL(Electro Luminescence)パネル等で構成される。操作部560は、例えばマウス、キーボード、タッチパネル、ゲームコントローラ、赤外線受信部等で構成される。
【0148】
ハブ570の第1のアップダウンストリームポート回路には、CPU510が接続され、ハブ570は、ULPIのバスを介してCPU510と通信する。また、ハブ570の第2のアップダウンストリームポート回路には、ポート580が接続される。ポート580には、USBケーブルにより外部機器600が接続される。そして、ハブ570は、USBを介して外部機器600と通信する。ハブ570のダウンストリームポート回路には、デバイス520−1、520−2が接続され、ハブ570は、USBを介してデバイス520−1、520−2と通信する。
【0149】
例えば、ハブ570には、外部機器600としてUSBメモリー、携帯オーディオプレーヤー、デジタルカメラ等の外付けのデバイスが接続されてもよい。そして、これらの機器が、ホスト動作とデバイス動作を切り替え可能であってもよい。すなわち、ホスト動作を行う外部機器600がポート580に接続されたとき、CPU510がデバイス動作を行ってもよい。一方、デバイス動作を行う外部機器600がポート580に接続されたとき、CPU510がホスト動作を行ってもよい。また、ハブ570には、デバイス520−1、520−2として、HDD(Hard Disk Drive)、DVDドライブ、CDドライブ等の内蔵デバイスや、表示部、操作部が接続されてもよい。
【0150】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語(シリアルバス、第1のインターフェース回路、第2のインターフェース回路、データ転送制御装置等)と共に記載された用語(USB、ULPIインターフェース回路、UTMIインターフェース回路、ハブ等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またアップダウンストリームポート回路、ダウンストリームポート回路、ハブロジック回路、ルーティングロジック回路、データ転送制御装置、電子機器等の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
【符号の説明】
【0151】
10 データ転送制御装置、
20−1,20−2 第1,第2のアップダウンストリームポート回路、
40 ハブロジック回路、50 ルーティングロジック回路、
60−1〜60−k ダウンストリームポート回路、100 変換回路、
110 受信回路、112 受信バッファー、120 送信回路、
122送信バッファー、130 制御回路、140 レジスター、
150 第1のインターフェース回路、160 第2のインターフェース回路、
162 セレクター、310 トランシーバー、320 シリアルパラレル変換回路、
330 パラレルシリアル変換回路、340 セレクター、
410 ハブコントローラー、420 ハブリピーターロジック回路、
430 トランザクショントランスレーター、440 ハブステートマシーン、
450 フレームタイマー、460 切替制御回路、500 電子機器、
510 CPU、520−1,520−2 デバイス、530 ROM、
540 RAM、550 表示部、560 操作部、570 ハブ、580 ポート、
600 外部機器、
HDCA ホスト/デバイスコントローラー、HCA ホストコントローラー、
DVA デバイス、BUS1〜BUS4 第1〜第4のバス、
HostEn 切替制御信号

【特許請求の範囲】
【請求項1】
少なくとも1つのダウンストリームポート回路と、
第1のモードにおいてアップストリームポート動作を行い、第2のモードにおいてダウンストリームポート動作を行う第1のアップダウンストリームポート回路と、
前記第1のモードにおいてダウンストリームポート動作を行い、前記第2のモードにおいてアップストリームポート動作を行う第2のアップダウンストリームポート回路と、
ルーティングロジック回路と、
ハブロジック動作を行うハブロジック回路と、
を含み、
前記第1のモードにおいて、
アップストリームポート動作の前記第1のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第2のアップダウンストリームポート回路へ転送し、
第2のモードにおいて、
アップストリームポート動作の前記第2のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第1のアップダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項2】
請求項1において、
前記第1のモードにおいて、
アップストリームポート動作の前記第1のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも1つのダウンストリームポート回路へ転送し、
前記第2のモードにおいて、
アップストリームポート動作の前記第2のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも1つのダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項3】
請求項1又は2において、
前記第1のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第1のバスと、
前記第1のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第2のバスと、
前記第2のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第3のバスと、
前記第2のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第4のバスと、
を含み、
前記第1のモードにおいて、
前記第1のアップダウンストリームポート回路からのデータを、前記第1のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第4のバスを介して前記第2のアップダウンストリームポート回路へ転送し、
前記第2のモードにおいて、
前記第2のアップダウンストリームポート回路からのデータを、前記第3のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第2のバスを介して前記第1のアップダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記ハブロジック回路は、
ハブコントローラーと、
ハブリピーターロジック回路と、
トランザクショントランスレーターと、
ハブステートマシーンと、
フレームタイマーと、
を有することを特徴とするデータ転送制御装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記第1のアップダウンストリームポート回路には、ホスト動作とデバイス動作を切り替え可能なホスト/デバイスコントローラーが接続され、
前記第1のモードにおいて、
前記第1のアップダウンストリームポート回路は、ホスト動作を行う前記ホスト/デバイスコントローラーと前記ハブロジック回路との間のインターフェース処理を行い、
前記第2のモードにおいて、
前記第1のアップダウンストリームポート回路は、デバイス動作を行う前記ホスト/デバイスコントローラーと前記ルーティングロジック回路との間のインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項6】
請求項5において、
前記第1のアップダウンストリームポート回路は、
USB(Universal Serial Bus)を介して前記ホスト/デバイスコントローラーとのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項7】
請求項6において、
前記ホスト/デバイスコントローラーがOTG(On-The-Go)規格に準拠し、
前記第1のアップダウンストリームポート回路は、
前記ホスト/デバイスコントローラーとの、OTG規格に準拠したインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項8】
請求項5において、
前記第1のアップダウンストリームポート回路は、
前記ホスト/デバイスコントローラーのリンク層回路とのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項9】
請求項8において、
前記第1のアップダウンストリームポート回路は、
前記ホスト/デバイスコントローラーとULPI規格(UTMI+ Low Pin Interface)のバスで接続され、前記ホスト/デバイスコントローラーの前記リンク層回路との間のULPIのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項10】
請求項8又は9において、
前記第1のアップダウンストリームポート回路は、
前記ホスト/デバイスコントローラーの前記リンク層回路とのインターフェース処理を行う第1のインターフェース回路と、
前記第1のモードにおいて、前記ハブロジック回路とのインターフェース処理を行い、前記第2のモードにおいて、前記ルーティングロジック回路とのインターフェース処理を行う第2のインターフェース回路と、
前記第1のインターフェース回路のインターフェース信号と、前記第2のインターフェース回路のインターフェース信号との変換処理を行う変換回路と、
を有することを特徴とするデータ転送制御装置。
【請求項11】
請求項1乃至4のいずれかにおいて、
前記第1のモードにおいて、
前記第1のアップダウンストリームポート回路には、ホストコントローラーが接続され、前記第1のアップダウンストリームポート回路は、前記ホストコントローラーと前記ハブロジック回路とのインターフェース処理を行い、
前記第2のモードにおいて、
前記第1のアップダウンストリームポート回路には、デバイスが接続され、前記第1のアップダウンストリームポート回路は、前記デバイスと前記ルーティングロジック回路とのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項12】
請求項11において、
前記第1のアップダウンストリームポート回路は、
USB(Universal Serial Bus)を介して、前記ホストコントローラーまたは前記デバイスとのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項13】
請求項1乃至12のいずれかに記載のデータ転送制御装置を含むことを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−218196(P2010−218196A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−63919(P2009−63919)
【出願日】平成21年3月17日(2009.3.17)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】