(57)【要約】【課題】  ポートの接続対象を切り替えられるデータ転送制御装置及び電子機器等を提供すること。【解決手段】  データ転送制御装置は、第１のモードにおいて、アップストリームポート動作の第１のアップダウンストリームポート回路２０−１からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介して、ダウンストリームポート動作の第２のアップダウンストリームポート回路２０−２へ転送し、第２のモードにおいて、アップストリームポート動作の第２のアップダウンストリームポート回路２０−２からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介して、ダウンストリームポート動作の第１のアップダウンストリームポート回路２０−１へ転送する。【選択図】      図２
2010218196.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのダウンストリームポート回路と、
第１のモードにおいてアップストリームポート動作を行い、第２のモードにおいてダウンストリームポート動作を行う第１のアップダウンストリームポート回路と、
前記第１のモードにおいてダウンストリームポート動作を行い、前記第２のモードにおいてアップストリームポート動作を行う第２のアップダウンストリームポート回路と、
ルーティングロジック回路と、
ハブロジック動作を行うハブロジック回路と、
を含み、
前記第１のモードにおいて、
アップストリームポート動作の前記第１のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第２のアップダウンストリームポート回路へ転送し、
第２のモードにおいて、
アップストリームポート動作の前記第２のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第１のアップダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記第１のモードにおいて、
アップストリームポート動作の前記第１のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも１つのダウンストリームポート回路へ転送し、
前記第２のモードにおいて、
アップストリームポート動作の前記第２のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも１つのダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項３】
請求項１又は２において、
前記第１のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第１のバスと、
前記第１のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第２のバスと、
前記第２のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第３のバスと、
前記第２のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第４のバスと、
を含み、
前記第１のモードにおいて、
前記第１のアップダウンストリームポート回路からのデータを、前記第１のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第４のバスを介して前記第２のアップダウンストリームポート回路へ転送し、
前記第２のモードにおいて、
前記第２のアップダウンストリームポート回路からのデータを、前記第３のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第２のバスを介して前記第１のアップダウンストリームポート回路へ転送することを特徴とするデータ転送制御装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記ハブロジック回路は、
ハブコントローラーと、
ハブリピーターロジック回路と、
トランザクショントランスレーターと、
ハブステートマシーンと、
フレームタイマーと、
を有することを特徴とするデータ転送制御装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１のアップダウンストリームポート回路には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーが接続され、
前記第１のモードにおいて、
前記第１のアップダウンストリームポート回路は、ホスト動作を行う前記ホスト／デバイスコントローラーと前記ハブロジック回路との間のインターフェース処理を行い、
前記第２のモードにおいて、
前記第１のアップダウンストリームポート回路は、デバイス動作を行う前記ホスト／デバイスコントローラーと前記ルーティングロジック回路との間のインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項６】
請求項５において、
前記第１のアップダウンストリームポート回路は、
ＵＳＢ（Universal Serial Bus）を介して前記ホスト／デバイスコントローラーとのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項７】
請求項６において、
前記ホスト／デバイスコントローラーがＯＴＧ（On-The-Go）規格に準拠し、
前記第１のアップダウンストリームポート回路は、
前記ホスト／デバイスコントローラーとの、ＯＴＧ規格に準拠したインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項８】
請求項５において、
前記第１のアップダウンストリームポート回路は、
前記ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項９】
請求項８において、
前記第１のアップダウンストリームポート回路は、
前記ホスト／デバイスコントローラーとＵＬＰＩ規格（UTMI+ Low Pin Interface）のバスで接続され、前記ホスト／デバイスコントローラーの前記リンク層回路との間のＵＬＰＩのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項１０】
請求項８又は９において、
前記第１のアップダウンストリームポート回路は、
前記ホスト／デバイスコントローラーの前記リンク層回路とのインターフェース処理を行う第１のインターフェース回路と、
前記第１のモードにおいて、前記ハブロジック回路とのインターフェース処理を行い、前記第２のモードにおいて、前記ルーティングロジック回路とのインターフェース処理を行う第２のインターフェース回路と、
前記第１のインターフェース回路のインターフェース信号と、前記第２のインターフェース回路のインターフェース信号との変換処理を行う変換回路と、
を有することを特徴とするデータ転送制御装置。
【請求項１１】
請求項１乃至４のいずれかにおいて、
前記第１のモードにおいて、
前記第１のアップダウンストリームポート回路には、ホストコントローラーが接続され、前記第１のアップダウンストリームポート回路は、前記ホストコントローラーと前記ハブロジック回路とのインターフェース処理を行い、
前記第２のモードにおいて、
前記第１のアップダウンストリームポート回路には、デバイスが接続され、前記第１のアップダウンストリームポート回路は、前記デバイスと前記ルーティングロジック回路とのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項１２】
請求項１１において、
前記第１のアップダウンストリームポート回路は、
ＵＳＢ（Universal Serial Bus）を介して、前記ホストコントローラーまたは前記デバイスとのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項１３】
請求項１乃至１２のいずれかに記載のデータ転送制御装置を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置及び電子機器等に関する。
【背景技術】
【０００２】
近年、ＵＳＢ２．０（Universal Serial Bus 2.0）等で規格化されたＵＳＢによるシリアルインターフェースが普及している。例えば、パソコンと周辺機器の接続や、プリンタとデジタルカメラの接続、カーナビゲーションシステムとポータブルオーディオの接続など、電子機器同士を接続するインターフェースとして広く用いられている。
【０００３】
ＵＳＢによるホストコントローラーと複数のデバイスとの接続には、一般にハブが用いられる。すなわち、ハブのアップストリームポート回路には、ＵＳＢを介してホストコントローラーが接続され、ハブのダウンストリームポート回路には、ＵＳＢを介して複数のデバイスが接続される。
【０００４】
しかしながら、このような構成では、アップストリームポート回路の接続対象がホストコントローラーに固定され、ダウンストリームポート回路の接続対象がデバイスに固定されるという課題がある。例えば、電子機器がハブを内蔵し、そのハブのダウンストリームポート回路につながるＵＳＢポートが設けられている場合、ＵＳＢポートに接続された外部機器はデバイス動作しか行うことができない。
【０００５】
なお、特許文献１には、２以上のアップストリームポート回路を含み、そのうちのいずれかのアップストリームポート回路をデータ転送に用いるかを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００８−５１３８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の幾つかの態様によれば、ポートの接続対象を切り替えられるデータ転送制御装置及び電子機器等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、少なくとも１つのダウンストリームポート回路と、第１のモードにおいてアップストリームポート動作を行い、第２のモードにおいてダウンストリームポート動作を行う第１のアップダウンストリームポート回路と、第１のモードにおいてダウンストリームポート動作を行い、第２のモードにおいてアップストリームポート動作を行う第２のアップダウンストリームポート回路と、ルーティングロジック回路と、ハブロジック動作を行うハブロジック回路と、を含み、前記第１のモードにおいて、アップストリームポート動作の前記第１のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第２のアップダウンストリームポート回路へ転送し、前記第２のモードにおいて、アップストリームポート動作の前記第２のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して、ダウンストリームポート動作の前記第１のアップダウンストリームポート回路へ転送するデータ転送制御装置に関係する。
【０００９】
本発明の一態様によれば、第１のモードにおいて、アップストリームポート動作の第１のアップダウンストリームポート回路からのデータが、ハブロジック回路、ルーティングロジック回路を介して、ダウンストリームポート動作の第２のアップダウンストリームポート回路へ転送される。また、第２のモードにおいて、アップストリームポート動作の第２のアップダウンストリームポート回路からのデータが、ハブロジック回路、ルーティングロジック回路を介して、ダウンストリームポート動作の第１のアップダウンストリームポート回路へ転送される。
【００１０】
これにより、第１のモードにおいて、第１のアップダウンストリームポート回路にホスト動作を行う機器を接続し、第２のアップダウンストリームポート回路にデバイス動作を行う機器を接続できる。また、第２のモードにおいて、第１のアップダウンストリームポート回路にデバイス動作を行う機器を接続し、第２のアップダウンストリームポート回路にホスト動作を行う機器を接続できる。このように、本発明の一態様によれば、第１、第２のアップダウンストリームポート回路に対して、ホスト動作を行う機器を接続することも可能になり、デバイス動作を行う機器を接続することも可能になる。
【００１１】
また、本発明の一態様では、前記第１のモードにおいて、アップストリームポート動作の前記第１のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも１つのダウンストリームポート回路へ転送し、前記第２のモードにおいて、アップストリームポート動作の前記第２のアップダウンストリームポート回路からのデータを、前記ハブロジック回路、前記ルーティングロジック回路を介して前記少なくとも１つのダウンストリームポート回路へ転送してもよい。
【００１２】
このようにすれば、第１のモードにおいて、アップストリームポート動作の第１のアップダウンストリームポート回路が、ダウンストリームポート動作の第２のアップダウンストリームポート回路との間でデータ転送するとともに、ダウンストリームポート回路との間でデータ転送できる。また、第２のモードにおいて、アップストリームポート動作の第２のアップダウンストリームポート回路が、ダウンストリームポート動作の第１のアップダウンストリームポート回路との間でデータ転送するとともに、ダウンストリームポート回路との間でデータ転送できる。
【００１３】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第１のバスと、前記第１のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第２のバスと、前記第２のアップダウンストリームポート回路と前記ハブロジック回路との間に設けられる第３のバスと、前記第２のアップダウンストリームポート回路と前記ルーティングロジック回路との間に設けられる第４のバスと、を含み、前記第１のモードにおいて、前記第１のアップダウンストリームポート回路からのデータを、前記第１のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第４のバスを介して前記第２のアップダウンストリームポート回路へ転送し、前記第２のモードにおいて、前記第２のアップダウンストリームポート回路からのデータを、前記第３のバス、前記ハブロジック回路、前記ルーティングロジック回路、前記第２のバスを介して前記第１のアップダウンストリームポート回路へ転送してもよい。
【００１４】
本発明の一態様によれば、第１のモードにおいて、第１、第２のバスのうち第１のバスを介してデータが転送され、第３、第４のバスのうち第４のバスを介してデータが転送される。これにより、第１のアップダウンストリームポート回路からのデータを、ハブロジック回路、ルーティングロジック回路を介して第２のアップダウンストリームポート回路へ転送できる。また、本発明の一態様によれば、第２のモードにおいて、第１、第２のバスのうち第２のバスを介してデータが転送され、第３、第４のバスのうち第３のバスを介してデータが転送される。これにより、第２のモードにおいて、第２のアップダウンストリームポート回路からのデータを、ハブロジック回路、ルーティングロジック回路を介して第１のアップダウンストリームポート回路へ転送できる。
【００１５】
また、本発明の一態様では、前記ハブロジック回路は、ハブコントローラーと、ハブリピーターロジック回路と、トランザクショントランスレーターと、ハブステートマシーンと、フレームタイマーと、を有してもよい。
【００１６】
このように、本発明の一態様では、ハブロジック回路が、これらの構成要素を含むことでハブロジック動作を行ってもよい。但し、本発明の一態様では、ハブロジック回路が、これらの構成要素の一部を含まずに構成にされてもよい。
【００１７】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーが接続され、前記第１のモードにおいて、前記第１のアップダウンストリームポート回路は、ホスト動作を行う前記ホスト／デバイスコントローラーと前記ハブロジック回路との間のインターフェース処理を行い、前記第２のモードにおいて、前記第１のアップダウンストリームポート回路は、デバイス動作を行う前記ホスト／デバイスコントローラーと前記ルーティングロジック回路との間のインターフェース処理を行ってもよい。
【００１８】
このようにすれば、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーを第１のアップダウンストリームポート回路に接続できる。具体的には、第１のモードにおいて、ホスト動作を行うホスト／デバイスコントローラーを第１のアップダウンストリームポート回路に接続できる。また、第２のモードにおいて、デバイス動作を行うホスト／デバイスコントローラーを第１のアップダウンストリームポート回路に接続できる。例えば、ホスト／デバイスコントローラーのホスト動作とデバイス動作を切り替えてから、第１のアップダウンストリームポート回路に接続することもできるし、第１のアップダウンストリームポート回路に接続されたままで、ホスト／デバイスコントローラーのホスト動作とデバイス動作を切り替えることもできる。
【００１９】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路は、ＵＳＢ（Universal Serial Bus）を介して前記ホスト／デバイスコントローラーとのインターフェース処理を行ってもよい。
【００２０】
このようにすれば、ＵＳＢを介してホスト／デバイスコントローラーとのインターフェース処理を行うことで、ＵＳＢ規格に準拠したホスト／デバイスコントローラーを第１のアップダウンストリームポート回路に接続できる。
【００２１】
また、本発明の一態様では、前記ホスト／デバイスコントローラーがＯＴＧ（On-The-Go）規格に準拠し、前記第１のアップダウンストリームポート回路は、前記ホスト／デバイスコントローラーとの、ＯＴＧ規格に準拠したインターフェース処理を行ってもよい。
【００２２】
本実施形態によれば、ＯＴＧ規格に準拠したホスト／デバイスコントローラーを第１のアップダウンストリームポート回路に接続できる。そして、ＯＴＧ規格に準拠したホスト／デバイスコントローラーと、他のポートに接続された機器との間のデータ転送を行うことができる。
【００２３】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路は、前記ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理を行ってもよい。
【００２４】
このようにすれば、第１のアップダウンストリームポート回路が、物理層回路（トランシーバー）を介することなく、ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理を行うことができる。これにより、第１のアップダウンストリームポート回路がトランシーバーを含む必要がなくなるため、データ転送制御装置の回路規模を削減できる。
【００２５】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路は、前記ホスト／デバイスコントローラーとＵＬＰＩ規格（UTMI+ Low Pin Interface）のバスで接続され、前記ホスト／デバイスコントローラーの前記リンク層回路との間のＵＬＰＩのインターフェース処理を行ってもよい。
【００２６】
本発明の一態様によれば、第１のアップダウンストリームポート回路が、ホスト／デバイスコントローラーのリンク層回路との間のＵＬＰＩのインターフェース処理を行うことで、ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理を実現できる。
【００２７】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路は、前記ホスト／デバイスコントローラーの前記リンク層回路とのインターフェース処理を行う第１のインターフェース回路と、前記第１のモードにおいて、前記ハブロジック回路とのインターフェース処理を行い、前記第２のモードにおいて、前記ルーティングロジック回路とのインターフェース処理を行う第２のインターフェース回路と、前記第１のインターフェース回路のインターフェース信号と、前記第２のインターフェース回路のインターフェース信号との変換処理を行う変換回路と、を有してもよい。
【００２８】
このようにすれば、ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理のインターフェース信号と、ハブロジック回路またはルーティングロジック回路とのインターフェース処理のインターフェース信号とを変換処理できる。これにより、ホスト／デバイスコントローラーのリンク層回路とのインターフェース処理を実現できる。例えば、第１のインターフェース回路が、ＵＬＰＩのインターフェース処理を行ってもよく、第２のインターフェース回路が、ＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）のインターフェース処理を行ってもよい。そして、変換回路が、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号との変換処理を行ってもよい。
【００２９】
また、本発明の一態様では、前記第１のモードにおいて、前記第１のアップダウンストリームポート回路には、ホストコントローラーが接続され、前記第１のアップダウンストリームポート回路は、前記ホストコントローラーと前記ハブロジック回路とのインターフェース処理を行い、前記第２のモードにおいて、前記第１のアップダウンストリームポート回路には、デバイスが接続され、前記第１のアップダウンストリームポート回路は、前記デバイスと前記ルーティングロジック回路とのインターフェース処理を行ってもよい。
【００３０】
このようにすれば、第１のアップダウンストリームポート回路に、ホストコントローラーまたはデバイスを接続できる。具体的には、第１のモードにおいて、ホストコントローラーを第１のアップダウンストリームポート回路に接続し、第２のモードにおいて、デバイスを第１のアップダウンストリームポート回路に接続できる。例えば、第１のアップダウンストリームポート回路に接続される機器を、ホストコントローラーからデバイスに差し替えたり、デバイスからホストコントローラーに差し替えたりできる。
【００３１】
また、本発明の一態様では、前記第１のアップダウンストリームポート回路は、ＵＳＢ（Universal Serial Bus）を介して、前記ホストコントローラーまたは前記デバイスとのインターフェース処理を行ってもよい。
【００３２】
このようにすれば、ＵＳＢを介してホストコントローラーまたはデバイスとのインターフェース処理を行うことで、ＵＳＢ規格に準拠したホストコントローラーまたはデバイスを第１のアップダウンストリームポート回路に接続できる。
【００３３】
また、本発明の他の態様は、上記のいずれかに記載のデータ転送制御装置を含む電子機器に関係する。
【図面の簡単な説明】
【００３４】
【図１】図１（Ａ）は、本実施形態の第１の比較例、図１（Ｂ）は、本実施形態の第２の比較例。
【図２】本実施形態のデータ転送制御装置の構成例。
【図３】第１のモードにおける本実施形態の第１の接続構成例。
【図４】第２のモードにおける本実施形態の第１の接続構成例。
【図５】第１のモードにおける本実施形態の第２の接続構成例。
【図６】第２のモードにおける本実施形態の第２の接続構成例。
【図７】アップダウンストリームポート回路の第１の詳細な構成例。
【図８】アップダウンストリームポート回路の第２の詳細な構成例。
【図９】変換処理の第１の信号波形例。
【図１０】変換処理の第２の信号波形例。
【図１１】変換処理の第３の信号波形例。
【図１２】データ転送制御装置の詳細な構成例。
【図１３】ホスト／デバイスコントローラーの構成例。
【図１４】図１４（Ａ）、図１４（Ｂ）は、アップダウンストリームポート回路のトランシーバーの構成例。
【図１５】電子機器の構成例。
【発明を実施するための形態】
【００３５】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３６】
１．比較例
図１（Ａ）、図１（Ｂ）を用いて、本実施形態の第１、第２の比較例について説明する。図１（Ａ）、図１（Ｂ）には、第１、第２の比較例として、ホストコントローラーと複数のデバイスがＵＳＢハブを介してデータ転送を行う接続構成例を示す。
【００３７】
図１（Ａ）に示す第１の比較例は、ホストコントローラーＨＣＡにトランシーバーＰＨＹ＿ＨＣＡ（物理層回路）が内蔵される場合の接続構成例である。具体的には、ハブＨＢは、アップストリームポート回路ＰＨＹ＿ＨＵＢ（トランシーバー）、ハブロジック回路ＨＬ、ルーティングロジック回路ＲＬ、ダウンストリームポート回路ＤＰ１〜ＤＰｎ（ｎは自然数）を含む。ＰＨＹ＿ＨＵＢには、ＵＳＢを介してＰＨＹ＿ＨＣＡが接続される。ＰＨＹ＿ＨＵＢとハブロジック回路ＨＬとは、ＵＴＭＩ規格のバスで接続される。ハブロジック回路ＨＬは、ホストコントローラーＨＣＡとデバイスＤＥＶ１〜ＤＥＶｎとの間のデータ転送を制御する。ルーティングロジック回路ＲＬは、ハブロジック回路ＨＬからのデータをダウンストリームポート回路ＤＰ１〜ＤＰｎに転送する。ダウンストリームポート回路ＤＰ１〜ＤＰｎには、ＵＳＢを介してデバイスＤＥＶ１〜ＤＥＶｎが接続される。そして、アップストリームポート回路ＰＨＹ＿ＨＵＢは、ホストコントローラーＨＣＡとのインターフェース処理を行い、ダウンストリームポート回路ＤＰ１〜ＤＰｎは、デバイスＤＥＶ１〜ＤＥＶｎとのインターフェース処理を行う。
【００３８】
図１（Ｂ）に示す第２の比較例は、ホストコントローラーＨＣＢとトランシーバーＰＨＹ＿ＨＣＢが別チップで構成される場合の接続構成例である。第２の比較例では、別チップで構成されるＨＣＢとＰＨＹ＿ＨＣＢは、ＵＬＰＩ規格のバスで接続される。このとき、ＨＣＢは、リンクコントローラーＬＫ＿ＨＣＢ（リンク層回路）とＵＬＰＩインターフェース回路を介してＵＬＰＩ規格のバスにアクセスする。ハブＨＢのトランシーバーＰＨＹ＿ＨＵＢには、ＵＳＢを介してトランシーバーＰＨＹ＿ＨＣＢが接続される。また、第１の比較例と同様に、ＰＨＹ＿ＨＵＢとＨＵＢ＿ＬＣとはＵＴＭＩ規格のバスで接続され、ＨＬからのデータはＲＬによりＤＰ１〜ＤＰｎに転送され、ＤＰ１〜ＤＰｎにはＵＳＢを介してＤＥＶ１〜ＤＥＶｎが接続される。そして、アップストリームポート回路ＰＨＹ＿ＨＵＢは、トランシーバーＰＨＹ＿ＨＣＢとのインターフェース処理を行い、ダウンストリームポート回路ＤＰ１〜ＤＰｎは、デバイスＤＥＶ１〜ＤＥＶｎとのインターフェース処理を行う。
【００３９】
このように、第１、第２の比較例では、ハブのアップストリームポート回路が、ホストコントローラーを接続対象とするアップストリームポート動作を行い、ダウンストリームポート回路が、デバイスを接続対象とするダウンストリームポート動作を行う。そのため、アップストリームポート回路の接続対象がホストコントローラーに固定され、ダウンストリームポート回路の接続対象がデバイスに固定されるという課題がある。例えば、第１、第２の比較例では、ホスト動作とデバイス動作を切り替え可能な機器をポートに接続し、その機器のホスト動作とデバイス動作を切り替えてデータ転送することができない。あるいは、ポートに対して、ホストコントローラーとデバイスとを差し替えてデータ転送することができない。
【００４０】
また、第１の比較例では、ハブとホストコントローラーがトランシーバー（ＰＨＹ＿ＨＵＢ、ＰＨＹ＿ＨＣＢ）を内蔵する。そのため、第１の比較例では、内蔵されたトランシーバーによりハブとホストコントローラーの回路規模が増大するという課題もある。また、第２の比較例では、ホストコントローラーとトランシーバーが別チップで構成される。そのため、第２の比較例では、別チップのトランシーバーにより配線基板上での実装面積が増大するという課題もある。
【００４１】
２．データ転送制御装置
２．１．構成例
図２に、上記課題を解決する本実施形態のデータ転送制御装置の構成例を示す。図２には、データ転送制御装置の構成例としてハブの構成例を示す。図２に示すハブ１０（広義には、データ転送制御装置）は、第１、第２のアップダウンストリームポート回路２０−１、２０−２、ハブロジック回路４０、ルーティングロジック回路５０、第１〜第ｋのダウンストリームポート回路６０−１〜６０−ｋ（ｋは自然数）を含む。そして、このハブ１０は、アップダウンストリームポート回路２０−１、２０−２のいずれか一方にホスト動作を行う機器を接続し、他方にデバイス動作を行う機器を接続して、それらの機器間のデータ転送（データ送受信）を制御する回路である。
【００４２】
具体的には、アップダウンストリームポート回路２０−１、２０−２は、その一方がアップストリームポート動作を行い、その他方がダウンストリームポート動作を行う。すなわち、アップストリームポート動作を行うアップダウンストリームポート回路には、ホスト動作を行う機器（例えば、ホストコントローラー）が接続される。そして、そのアップダウンストリームポート回路は、ホスト動作を行う機器とハブロジック回路４０との間のインターフェース処理を行う。一方、ダウンストリームポート動作を行うアップダウンストリームポート回路には、デバイス動作を行う機器（例えば、デバイス）が接続される。そして、そのアップダウンストリームポート回路は、デバイス動作を行う機器とルーティングロジック回路５０との間のインターフェース処理を行う。例えば、アップダウンストリームポート回路２０−１、２０−２は、ＵＳＢ（Universal Serial Bus）規格（例えば、ＵＳＢ２．０、ＵＳＢ１．１）等に準拠したシリアルインターフェースのインターフェース処理を行ってもよく、ＵＬＰＩ（UTMI+ Low Pin Interface）規格等に準拠したパラレルインターフェースのインターフェース処理を行ってもよい。
【００４３】
ハブロジック回路４０及びルーティングロジック回路５０は、ポート間のデータ転送を制御する。具体的には、ハブロジック回路４０及びルーティングロジック回路５０は、アップストリームポート動作を行うアップダウンストリームポート回路と、ダウンストリームポート動作を行うアップダウンストリームポート回路との間のデータ転送を制御する。また、ハブロジック回路４０及びルーティングロジック回路５０は、アップストリームポート動作を行うアップダウンストリームポート回路と、ダウンストリームポート回路６０−１〜６０−ｋとの間のデータ転送を制御する。
【００４４】
より具体的には、ハブロジック回路４０は、ルーティングロジック回路５０が行う処理以外のハブロジック動作を行う。すなわち、ハブロジック回路４０は、アップストリームポート動作を行うアップダウンストリームポート回路のインターフェース処理を制御して、そのアップダウンストリームポート回路との間でデータを転送する。ハブロジック回路４０は、ルーティングロジック回路５０を介して、ダウンストリームポート動作を行うアップダウンストリームポート回路のインターフェース処理を制御し、そのアップダウンストリームポート回路との間でデータを転送する。また、ハブロジック回路４０は、ルーティングロジック回路５０を介して、ダウンストリームポート回路６０−１〜６０−ｋのインターフェース処理を制御し、ダウンストリームポート回路６０−１〜６０−ｋとの間でデータを転送する。例えば、ハブロジック回路４０は、ＵＳＢ規格に準拠したハブロジック動作を行ってポート間のデータ転送を制御する。具体的には、ハブロジック回路４０は、ホスト動作を行う機器やデバイス動作を行う機器との接続・切断を検出処理したり、これらの機器との接続処理や切断処理を行ったり、これらの機器とのデータ転送のタイミングを制御したり、バスのエラー（fault）を検出処理したりして、各ポートのインターフェース処理を制御する。あるいは、ハブロジック回路４０は、ポートからのトランザクションをトランスレート処理（変換処理）したり、ポートからのトランザクションをそのまま転送処理したりして、ポート間のデータ転送を制御する。
【００４５】
ルーティングロジック回路５０は、データのルーティング処理を行う。すなわち、ルーティングロジック回路５０は、ハブロジック回路４０と、ダウンストリームポート動作を行うアップダウンストリームポート回路との間のインターフェース処理を行う。また、ルーティングロジック回路５０は、ハブロジック回路４０とダウンストリームポート回路６０−１〜６０−ｋとの間のインターフェース処理を行う。具体的には、ルーティングロジック回路５０は、ハブロジック回路４０からのデータを対応するダウンストリームポート回路（またはアップダウンストリームポート回路）に分配して、インターフェース処理を行う。例えば、ルーティングロジック回路５０は、ＵＳＢ規格に準拠したインターフェース処理によりデータを分配する。すなわち、ルーティングロジック回路５０は、ハブロジック回路４０によって処理されたトランザクションを、適切なダウンストリームポート回路（またはダウンストリームポート動作を行うアップダウンストリームポート回路）に転送することで、データの分配を行う。
【００４６】
ダウンストリームポート回路６０−１〜６０−ｋには、デバイス動作を行う機器（例えば、デバイス）が接続される。例えば、ダウンストリームポート回路６０−１〜６０−ｋには、デバイス動作を行う機器として、デバイスや、デバイス動作を行うホスト／デバイスコントローラーが接続される。そして、ダウンストリームポート回路６０−１〜６０−ｋは、接続されたデバイス動作を行う機器とルーティングロジック回路５０との間のインターフェース処理を行う。例えば、ダウンストリームポート回路６０−１〜６０−ｋは、ＵＳＢ規格に準拠したシリアルインターフェースのインターフェース処理を行って、ルーティングロジック回路５０との間のインターフェース処理を行う。なお、本発明では、データ転送制御装置が、少なくとも１つのダウンストリームポート回路として１つのダウンストリームポート回路６０−１（ｋ＝１）を含んでもよく、複数のダウンストリームポート回路６０−１〜６０−ｋ（ｋ≧２）を含んでもよい。例えば、少なくとも１つのダウンストリームポート回路として複数のダウンストリームポート回路を含む場合には、ルーティングロジック回路５０からのデータが、複数のダウンストリームポート回路の全てに転送される。但し、本発明では、ルーティングロジック回路５０からのデータが、複数のダウンストリームポート回路の一部（例えば、デバイスが接続されていないダウンストリームポート回路）に転送されない場合があってもよい。
【００４７】
なお、本発明のデータ転送制御装置は図２の構成に限定されず、その構成要素の一部（例えば、ダウンストリームポート回路、ルーティングロジック回路）を省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【００４８】
２．２．第１の接続構成例
図３、図４に、本実施形態の第１の接続構成例を示す。なお、以下では、アップダウンストリームポート回路２０−１には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーＨＤＣＡが接続され、アップダウンストリームポート回路２０−２には、ホストコントローラーＨＣＡまたはデバイスＤＶＡが接続され、ダウンストリームポート回路６０−１〜６０−ｋには、デバイスＤＶ１〜ＤＶｋが接続される場合を例に説明する。但し、本発明では、アップダウンストリームポート回路２０−１には、ホストコントローラーまたはデバイスが接続されてもよく、アップダウンストリームポート回路２０−２には、ホスト／デバイスコントローラーが接続されてもよく、ダウンストリームポート回路６０−１〜６０−ｋには、デバイス動作を行うホスト／デバイスコントローラーが接続されてもよい。
【００４９】
また、以下では、ホスト／デバイスコントローラーＨＤＣＡ、ホストコントローラーＨＣＡ、デバイスＤＶＡ、デバイスＤＶ１〜ＤＶｋが、ＵＳＢ規格に準拠し、アップダウンストリームポート回路２０−１、２０−２、ダウンストリームポート回路６０−１〜６０−ｋが、ＵＳＢ規格に準拠したインターフェース処理を行う場合を例に説明する。但し、本発明では、ＨＤＣＡ、ＨＣＡ、ＤＶＡ、ＤＶ１〜ＤＶｋが、他のシリアルインターフェース規格に準拠し、アップダウンストリームポート回路２０−１、２０−２、ダウンストリームポート回路６０−１〜６０−ｋが、そのシリアルインターフェース規格に準拠したインターフェース処理を行ってもよい。
【００５０】
図３に、第１のモードにおける本実施形態の第１の接続構成例を示す。第１の接続構成例では、第１のモードにおいて、アップダウンストリームポート回路２０−１には、ＵＳＢ（広義には、シリアルバス）を介して、ホスト動作を行うホスト／デバイスコントローラーＨＤＣＡが接続される。また、アップダウンストリームポート回路２０−２には、ＵＳＢを介してデバイスＤＶＡが接続される。そして、第１のモードにおいて、アップダウンストリームポート回路２０−１は、アップストリームポート動作を行い、アップダウンストリームポート回路２０−２は、ダウンストリームポート動作を行う。
【００５１】
具体的には、アップダウンストリームポート回路２０−１とハブロジック回路４０とは第１のバスＢＵＳ１を介して接続され、アップダウンストリームポート回路２０−１とルーティングロジック回路５０とは第２のバスＢＵＳ２を介して接続される。また、アップダウンストリームポート回路２０−２とハブロジック回路４０とは第３のバスＢＵＳ３を介して接続され、アップダウンストリームポート回路２０−２とルーティングロジック回路５０とは第４のバスＢＵＳ４を介して接続される。これらのバスＢＵＳ１〜ＢＵＳ４は、例えばＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）規格に準拠したパラレルバスにより構成される。そして、第１のモードでは、ＢＵＳ１を介して、アップダウンストリームポート回路２０−１とハブロジック回路４０との間でデータが転送され、ＢＵＳ４を介して、アップダウンストリームポート回路２０−２とルーティングロジック回路５０との間でデータが転送される。例えば、ホスト／デバイスコントローラーＨＤＣＡからのデータは、アップダウンストリームポート回路２０−１へ転送され、アップダウンストリームポート回路２０−１からＢＵＳ１を介してハブロジック回路４０へ転送され、ハブロジック回路４０からルーティングロジック回路５０へ転送される。そして、そのデータは、ルーティングロジック回路５０からＢＵＳ４を介してアップダウンストリームポート回路２０−２へ転送され、アップダウンストリームポート回路２０−２からデバイスＤＶＡへ転送される。
【００５２】
なお、本実施形態のハブ（データ転送制御装置）は、第１のモードにおいて、ＨＤＣＡとデバイスＤＶ１〜ＤＶｋとの間のデータ転送を行うこともできる。例えば、ＨＤＣＡからのデータは、上記と同様にアップダウンストリームポート回路２０−１、ＢＵＳ１、ハブロジック回路４０を介してルーティングロジック回路５０へ転送される。そして、そのデータが、ルーティングロジック回路５０からダウンストリームポート回路６０−１〜６０−ｋへ転送され、ダウンストリームポート回路６０−１〜６０−ｋからＤＶ１〜ＤＶｋへ転送されてもよい。
【００５３】
図４に、第２のモードにおける本実施形態の第１の接続構成例を示す。図４に示すように、第２のモードにおいて、アップダウンストリームポート回路２０−１には、ＵＳＢバスを介して、デバイス動作を行うホスト／デバイスコントローラーＨＤＣＡが接続される。また、アップダウンストリームポート回路２０−２には、ＵＳＢバスを介してホストコントローラーＨＣＡが接続される。そして、アップダウンストリームポート回路２０−１は、ダウンストリームポート動作を行い、アップダウンストリームポート回路２０−２は、アップストリームポート動作を行う。
【００５４】
具体的には、第２のモードでは、ＢＵＳ２を介して、アップダウンストリームポート回路２０−１とルーティングロジック回路５０との間でデータが転送され、ＢＵＳ３を介して、アップダウンストリームポート回路２０−２とハブロジック回路４０との間でデータが転送される。例えば、ホストコントローラーＨＣＡからのデータは、アップダウンストリームポート回路２０−２へ転送され、アップダウンストリームポート回路２０−２からＢＵＳ３を介してハブロジック回路４０へ転送され、ハブロジック回路４０からルーティングロジック回路５０へ転送される。そして、そのデータは、ルーティングロジック回路５０からＢＵＳ２を介してアップダウンストリームポート回路２０−１へ転送され、アップダウンストリームポート回路２０−１からホスト／デバイスコントローラーＨＤＣＡへ転送される。
【００５５】
なお、本実施形態のハブは、第２のモードにおいて、ＨＣＡとデバイスＤＶ１〜ＤＶｋとの間のデータ転送を行うこともできる。例えば、ＨＣＡからのデータは、上記と同様にアップダウンストリームポート回路２０−２、ＢＵＳ３、ハブロジック回路４０を介してルーティングロジック回路５０へ転送される。そして、そのデータが、ルーティングロジック回路５０からダウンストリームポート回路６０−１〜６０−ｋへ転送され、ダウンストリームポート回路６０−１〜６０−ｋからＤＶ１〜ＤＶｋへ転送されてもよい。
【００５６】
ここで、上述の第１、第２の比較例では、ポートの接続対象が固定されるという課題があった。すなわち、アップストリームポート回路の接続対象が、ホストコントローラーに固定され、ダウンストリームポート回路の接続対象が、デバイスに固定されるという課題があった。
【００５７】
この点、本実施形態によれば、少なくとも１つのダウンストリームポート回路６０−１〜６０−ｋと、第１、第２のアップダウンストリームポート回路２０−１、２０−２と、ルーティングロジック回路５０と、ハブロジック動作を行うハブロジック回路４０と、を含む。そして、第１のモードにおいて、アップダウンストリームポート回路２０−１からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介して第２のアップダウンストリームポート回路２０−２へ転送する。具体的には、第１のモードにおいて、アップストリームポート動作のアップダウンストリームポート回路２０−１からのデータが、ハブロジック回路４０へ転送され、ハブロジック回路４０からルーティングロジック回路５０へ転送され、ルーティングロジック回路５０からダウンストリームポート動作のアップダウンストリームポート回路２０−２へ転送される。これにより、第１のモードにおいて、アップダウンストリームポート回路２０−１にホスト動作を行う機器を接続し、アップダウンストリームポート回路２０−２にデバイス動作を行う機器を接続できる。
【００５８】
また、本実施形態によれば、第２のモードにおいて、アップダウンストリームポート回路２０−２からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介してアップダウンストリームポート回路２０−１へ転送する。具体的には、アップストリームポート動作のアップダウンストリームポート回路２０−２からのデータが、ハブロジック回路４０へ転送され、ハブロジック回路４０からルーティングロジック回路５０へ転送され、ルーティングロジック回路５０からダウンストリームポート動作のアップダウンストリームポート回路２０−１へ転送される。これにより、第２のモードにおいて、アップダウンストリームポート回路２０−１にデバイス動作を行う機器を接続し、アップダウンストリームポート回路２０−２にホスト動作を行う機器を接続できる。このようにして、第１のモードと第２のモードにおいて、アップダウンストリームポート回路の接続対象を変えることができる。
【００５９】
ここで、後述する図１２に示すように、ハブが切替制御回路４６０を含んでもよく、切替制御回路４６０が、第１のモードと第２のモードとを切り替えるための切替制御信号HostEnを出力してもよい。このようにすれば、切替制御回路４６０がHostEnを出力することで、第１のモードと第２のモードとを切り替えることができる。
【００６０】
また、本実施形態では、第１のモードにおいて、アップダウンストリームポート回路２０−１からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介してダウンストリームポート回路６０−１〜６０−ｋへ転送してもよく、第２のモードにおいて、アップダウンストリームポート回路２０−２からのデータを、ハブロジック回路４０、ルーティングロジック回路５０を介してダウンストリームポート回路６０−１〜６０−ｋへ転送してもよい。
【００６１】
このようにすれば、第１のモードにおいて、アップダウンストリームポート回路２０−１とアップダウンストリームポート回路２０−２との間でデータ転送するとともに、アップダウンストリームポート回路２０−１とダウンストリームポート回路６０−１〜６０−ｋとの間でデータ転送できる。また、第２のモードにおいて、アップダウンストリームポート回路２０−２とアップダウンストリームポート回路２０−１との間でデータ転送するとともに、アップダウンストリームポート回路２０−２とダウンストリームポート回路６０−１〜６０−ｋとの間でデータ転送できる。
【００６２】
また、本実施形態では、第１〜第４のバスＢＵＳ１〜ＢＵＳ４を含み、第１のモードにおいて、アップダウンストリームポート回路２０−１からのデータを、ＢＵＳ１、ハブロジック回路４０、ルーティングロジック回路５０、ＢＵＳ４を介してアップダウンストリームポート回路２０−２へ転送し、第２のモードにおいて、アップダウンストリームポート回路２０−２からのデータを、ＢＵＳ３、ハブロジック回路４０、ルーティングロジック回路５０、ＢＵＳ２を介してアップダウンストリームポート回路２０−１へ転送してもよい。
【００６３】
このように、第１のモードにおいて、アップダウンストリームポート回路２０−１に接続されるＢＵＳ１、ＢＵＳ２のうちＢＵＳ１が選択されることで、アップダウンストリームポート回路２０−１からのデータをハブロジック回路４０に転送できる。また、アップダウンストリームポート回路２０−２に接続されるＢＵＳ３、ＢＵＳ４のうちＢＵＳ４が選択されることで、ルーティングロジック回路５０からのデータをアップダウンストリームポート回路２０−２に転送できる。一方、第２のモードにおいて、ＢＵＳ３、ＢＵＳ４のうちＢＵＳ３が選択されることで、アップダウンストリームポート回路２０−２からのデータをハブロジック回路４０に転送できる。また、ＢＵＳ１、ＢＵＳ２のうちＢＵＳ２が選択されることで、ルーティングロジック回路５０からのデータをアップダウンストリームポート回路２０−１に転送できる。
【００６４】
また、本実施形態では、アップダウンストリームポート回路２０−１には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーが接続されてもよい。そして、第１のモードにおいて、アップダウンストリームポート回路２０−１は、ホスト動作を行うホスト／デバイスコントローラーとハブロジック回路４０との間のインターフェース処理を行い、第２のモードにおいて、アップダウンストリームポート回路２０−１は、デバイス動作を行うホスト／デバイスコントローラーとルーティングロジック回路５０との間のインターフェース処理を行ってもよい。
【００６５】
本実施形態によれば、アップダウンストリームポート回路２０−１にホスト／デバイスコントローラーを接続し、ホスト／デバイスコントローラーとのインターフェース処理を行うことができる。そして、第１のモードと第２のモードとでホスト／デバイスコントローラーのホスト動作とデバイス動作とを切り替えることができる。このようにすれば、アップダウンストリームポート回路２０−１の接続対象の切替を実現できる。具体的には、ホスト／デバイスコントローラーをアップダウンストリームポート回路２０−１に接続した状態で、ホスト／デバイスコントローラーのホスト動作とデバイス動作を切り替えることができる。
【００６６】
なお、本発明では、アップダウンストリームポート回路２０−２には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーが接続されてもよい。そして、第１のモードにおいて、アップダウンストリームポート回路２０−２は、デバイス動作を行うホスト／デバイスコントローラーとルーティングロジック回路５０との間のインターフェース処理を行い、第２のモードにおいて、アップダウンストリームポート回路２０−２は、ホスト動作を行うホスト／デバイスコントローラーとハブロジック回路４０との間のインターフェース処理を行ってもよい。
【００６７】
このようにすれば、アップダウンストリームポート回路２０−２にホスト／デバイスコントローラーを接続して、アップダウンストリームポート回路２０−２の接続対象の切替を実現できる。
【００６８】
また、本実施形態では、第１のモードにおいて、アップダウンストリームポート回路２０−１には、ホストコントローラーが接続され、アップダウンストリームポート回路２０−１は、ホストコントローラーとハブロジック回路４０とのインターフェース処理を行ってもよい。そして、第２のモードにおいて、アップダウンストリームポート回路２０−１には、デバイスが接続され、アップダウンストリームポート回路２０−１は、デバイスとルーティングロジック回路５０とのインターフェース処理を行ってもよい。
【００６９】
本実施形態によれば、第１のモードにおいて、アップダウンストリームポート回路２０−１は、ホストコントローラーとハブロジック回路４０とのインターフェース処理を行う。一方、第２のモードにおいて、アップダウンストリームポート回路２０−１は、デバイスとルーティングロジック回路５０とのインターフェース処理を行う。これにより、第１のモードにおいて、アップダウンストリームポート回路２０−１にホストコントローラーを接続し、第２のモードにおいて、アップダウンストリームポート回路２０−１に、デバイスを接続できる。このようにして、アップダウンストリームポート回路２０−１の接続対象の切替を実現できる。具体的には、アップダウンストリームポート回路２０−１に対するホストコントローラーとデバイスとの差し替えを実現できる。
【００７０】
なお、本発明では、第１のモードにおいて、アップダウンストリームポート回路２０−２には、デバイスが接続され、アップダウンストリームポート回路２０−２は、デバイスとルーティングロジック回路５０とのインターフェース処理を行ってもよい。そして、第２のモードにおいて、アップダウンストリームポート回路２０−２には、ホストコントローラーが接続され、アップダウンストリームポート回路２０−２は、ホストコントローラーとハブロジック回路４０とのインターフェース処理を行ってもよい。
【００７１】
このようにすれば、第１のモードにおいて、アップダウンストリームポート回路２０−２にデバイスを接続し、第２のモードにおいて、アップダウンストリームポート回路２０−２に、ホストコントローラーを接続できる。このようにして、アップダウンストリームポート回路２０−２の接続対象の切替を実現できる。
【００７２】
また、本実施形態では、アップダウンストリームポート回路２０−１は、ＵＳＢを介してホスト／デバイスコントローラーとのインターフェース処理を行ってもよい。
【００７３】
あるいは、本実施形態では、アップダウンストリームポート回路２０−１は、ＵＳＢを介して、ホストコントローラーまたはデバイスとのインターフェース処理を行ってもよい。
【００７４】
このようにすれば、ＵＳＢ規格に準拠したホスト／デバイスコントローラー、またはＵＳＢ規格に準拠したホストコントローラー、ＵＳＢ規格に準拠したデバイスをアップダウンストリームポート回路２０−１に接続できる。そして、これらの機器との間で、ＵＳＢ規格に準拠したシリアルインターフェースのインターフェース処理を行うことができる。
【００７５】
また、本実施形態では、図１３等で後述するように、ホスト／デバイスコントローラーがＯＴＧ（On-The-Go）規格に準拠してもよい。そして、アップダウンストリームポート回路２０−１は、そのホスト／デバイスコントローラーとの、ＯＴＧ規格に準拠したインターフェース処理を行ってもよい。
【００７６】
本実施形態によれば、ＯＴＧ規格に準拠したホスト／デバイスコントローラーをアップダウンストリームポート回路２０−１に接続できる。そして、ＯＴＧ規格に準拠したホスト／デバイスコントローラーと、他の接続機器との間のデータ転送を行うことができる。
【００７７】
なお、本発明では、アップダウンストリームポート回路２０−２は、ＵＳＢを介してホスト／デバイスコントローラーとのインターフェース処理を行ってもよい。あるいは、アップダウンストリームポート回路２０−２は、ＵＳＢを介して、ホストコントローラーまたはデバイスとのインターフェース処理を行ってもよい。また、本発明では、アップダウンストリームポート回路２０−２は、ＯＴＧ規格に準拠したホスト／デバイスコントローラーとの、ＯＴＧ規格に準拠したインターフェース処理を行ってもよい。
【００７８】
２．３．第２の接続構成例
図５、図６に、本実施形態の第２の接続構成例を示す。なお、以下では、アップダウンストリームポート回路２０−１には、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラーＨＤＣＢが接続され、アップダウンストリームポート回路２０−２には、ホストコントローラーＨＣＢまたはデバイスＤＶＢが接続される場合を例に説明する。また、以下では、ホスト／デバイスコントローラーＨＤＣＢが、ＵＬＰＩ規格に準拠し、アップダウンストリームポート回路２０−１が、ＵＬＰＩ規格に準拠したインターフェース処理を行う場合を例に説明する。但し、本発明では、ＨＤＣＢが他のパラレルインターフェース規格（例えば、ＵＴＭＩ）に準拠し、アップダウンストリームポート回路２０−１が、そのパラレルインターフェース規格に準拠したインターフェース処理を行ってもよい。
【００７９】
図５に、第１のモードにおける本実施形態の第２の接続構成例を示す。図５に示すように、第１のモードにおいて、アップダウンストリームポート回路２０−１には、ＵＬＰＩバス（広義には、パラレルバス）を介して、ホスト動作を行うホスト／デバイスコントローラーＨＤＣＢが接続される。また、アップダウンストリームポート回路２０−２には、ＵＳＢバスを介してデバイスＤＶＢが接続される。そして、第１のモードでは、アップダウンストリームポート回路２０−１は、アップストリームポート動作を行い、アップダウンストリームポート回路２０−２は、ダウンストリームポート動作を行う。
【００８０】
具体的には、ホスト／デバイスコントローラーＨＤＣＢは、リンクコントローラーＬＫ＿ＨＢ（リンク層回路）とＵＬＰＩのインターフェース回路ＩＦ＿ＨＢを含む。リンクコントローラーＬＫ＿ＨＢは、ハブ１０とのリンク処理を行う回路であり、インターフェース回路ＩＦ＿ＨＢは、ＵＬＰＩのインターフェース処理を行う回路である。そして、アップダウンストリームポート回路２０−１は、インターフェース回路ＩＦ＿ＨＢを介してリンクコントローラーＬＫ＿ＨＢとのインターフェース処理を行う。より具体的には、アップダウンストリームポート回路２０−１がＬＫ＿ＨＢとのインターフェース処理を行うことで、アップダウンストリームポート回路２０−１とＬＫ＿ＨＢとの間でデータが転送される。例えば、ＨＤＣＢからのデータは、ＬＫ＿ＨＢ、ＩＦ＿ＨＢ、ＵＬＰＩバスを介して、アップダウンストリームポート回路２０−１に転送される。そして、上述の図３で説明したのと同様に、アップダウンストリームポート回路２０−１からのデータは、ＢＵＳ１、ハブロジック回路４０、ルーティングロジック回路５０、ＢＵＳ４、アップダウンストリームポート回路２０−２を介してデバイスＤＶＢに転送される。あるいは、アップダウンストリームポート回路２０−１からのデータは、ＢＵＳ１、ハブロジック回路４０、ルーティングロジック回路５０、ダウンストリームポート回路６０−１〜６０−ｋを介して、デバイスＤＶ１〜ＤＶｋに転送される。
【００８１】
図６に、第２のモードにおける本実施形態の第２の接続構成例を示す。図６に示すように、第２のモードにおいて、アップダウンストリームポート回路２０−１には、ＵＬＰＩバスを介して、デバイス動作を行うホスト／デバイスコントローラーＨＤＣＢが接続される。また、アップダウンストリームポート回路２０−２には、ＵＳＢバスを介してホストコントローラーＨＣＢが接続される。そして、第２のモードでは、アップダウンストリームポート回路２０−１は、ダウンストリームポート動作を行い、アップダウンストリームポート回路２０−２は、アップストリームポート動作を行う。
【００８２】
例えば、ホストコントローラーＨＣＢからのデータは、上述の図４で説明したのと同様に、アップダウンストリームポート回路２０−２、ＢＵＳ３、ハブロジック回路４０、ルーティングロジック回路５０、ＢＵＳ２を介して、アップダウンストリームポート回路２０−１に転送される。あるいは、デバイスＤＶ１〜ＤＶｋからのデータは、ダウンストリームポート回路６０−１〜６０−ｋ、ルーティングロジック回路５０、ＢＵＳ２を介して、アップダウンストリームポート回路２０−１に転送される。そして、アップダウンストリームポート回路２０−１からのデータは、ＵＬＰＩバス、インターフェース回路ＩＦ＿ＨＢ、リンクコントローラーＬＫ＿ＨＢを介して、ホスト／デバイスコントローラーＨＤＣＢに転送される。
【００８３】
ここで、上述の第１、第２の比較例では、ハブのアップストリームポート回路がトランシーバーＰＨＹ＿ＨＣＢ（物理層回路）を内蔵する。そのため、第１、第２の比較例では、内蔵されたトランシーバーによりハブの回路規模が増大するという課題がある。また、第２の比較例では、ホストコントローラーとトランシーバーが別チップで構成される。そのため、第２の比較例では、別チップのトランシーバーにより配線基板上での実装面積が増大するという課題もある。
【００８４】
この点、本実施形態によれば、アップダウンストリームポート回路２０−１が、ホスト／デバイスコントローラーＨＤＣＢのリンクコントローラーＬＫ＿ＨＢとのインターフェース処理を行ってもよい。
【００８５】
本実施形態によれば、リンクコントローラーＬＫ＿ＨＢとのインターフェース処理を行うことで、トランシーバーを介することなく、ハブ１０とホスト／デバイスコントローラーＨＤＣＢとの間でデータ転送できる。これにより、アップストリームポート回路２０−１のトランシーバー（例えば、図１（Ａ）のＰＨＹ＿ＨＵＢ）を省略して、ハブ１０の回路規模を削減できる。また、ホスト／デバイスコントローラーのトランシーバー（例えば、図１（Ａ）のＰＨＹ＿ＨＣＡ）を省略して、ホスト／デバイスコントローラーの回路規模を削減することもできる。あるいは、ホスト／デバイスコントローラーと別チップのトランシーバー（例えば、図１（Ｂ）のＰＨＹ＿ＨＣＢ）を省略して、配線基板上での実装面積を削減することもできる。
【００８６】
上述の図５等で説明したように、本実施形態では、アップダウンストリームポート回路２０−１は、ホスト／デバイスコントローラーＨＤＣＢとＵＬＰＩ規格のバスで接続され、ホスト／デバイスコントローラーＨＤＣＢのリンクコントローラーＬＫ＿ＨＢとの間のＵＬＰＩのインターフェース処理を行ってもよい。
【００８７】
このようにすれば、ＵＬＰＩのインターフェースをもつホスト／デバイスコントローラーＨＤＣＢをアップダウンストリームポート回路２０−１に接続できる。そして、アップダウンストリームポート回路２０−１とリンクコントローラーＬＫ＿ＨＢとの間のＵＬＰＩのインターフェースを行うことができる。これにより、アップダウンストリームポート回路２０−１のトランシーバーと、ホスト／デバイスコントローラーＨＤＣＢのトランシーバーを省略できる。
【００８８】
後述の図８等で説明するように、本実施形態では、アップダウンストリームポート回路２０−１が、第１、第２のインターフェース回路１５０、１６０と、変換回路１００とを含んでもよい。そして、第１のインターフェース回路１５０が、ホスト／デバイスコントローラーＨＤＣＢのリンク層回路ＬＫ＿ＨＢとのインターフェース処理を行い、第２のインターフェース回路１６０が、第１のモードにおいて、ハブロジック回路４０とのインターフェース処理を行い、第２のモードにおいて、ルーティングロジック回路５０とのインターフェース処理を行い、変換回路１００が、第１のインターフェース回路１５０のインターフェース信号と、第２のインターフェース回路１６０のインターフェース信号との変換処理を行ってもよい。
【００８９】
このようにすれば、アップダウンストリームポート回路２０−１が、ホスト／デバイスコントローラーＨＤＣＢのリンクコントローラーＬＫ＿ＨＢとのインターフェース処理を行うことができる。具体的には、本実施形態では、変換回路１００が、第１のインターフェース回路１５０のインターフェース信号と、第２のインターフェース回路１６０のインターフェース信号との変換処理を行う。これにより、トランシーバーを介することなく、ハブロジック回路４０とリンクコントローラーＬＫ＿ＨＢとのインターフェース処理、または、ルーティングロジック回路５０とリンクコントローラーＬＫ＿ＨＢとのインターフェース処理を行うことができる。
【００９０】
例えば、本実施形態では、第１のインターフェース回路１５０には、ＵＬＰＩのバスを介してホスト／デバイスコントローラーが接続されてもよく、第１のインターフェース回路１５０が、ホスト／デバイスコントローラーのリンク層回路とのＵＬＰＩのインターフェース処理を行ってもよい。このようにすれば、ホスト／デバイスコントローラーのリンクコントローラーとのＵＬＰＩのインターフェース処理を実現できる。
【００９１】
また、本実施形態では、第２のインターフェース回路１６０は、ＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）のバスを介して、ハブロジック回路４０またはルーティングロジック回路５０とのＵＴＭＩのインターフェース処理を行ってもよい。このようにすれば、アップダウンストリームポート回路２０−１と、ハブロジック回路４０またはルーティングロジック回路５０との間で、ＵＴＭＩのバスを介してデータ転送できる。
【００９２】
そして、本実施形態では、変換回路１００が、第１のインターフェース回路１５０のＵＬＰＩのインターフェース信号と、第２のインターフェース回路１６０のＵＴＭＩのインターフェース信号との変換処理を行ってもよい。このようにすれば、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号との変換処理を行うことで、ホスト／デバイスコントローラーのリンクコントローラーとのインターフェース処理を実現できる。
【００９３】
なお、本発明では、アップダウンストリームポート回路２０−２が、ホスト／デバイスコントローラーのリンクコントローラーとのインターフェース処理を行ってもよい。例えば、アップダウンストリームポート回路２０−２が、ホスト／デバイスコントローラーとＵＬＰＩ規格のバスで接続され、ホスト／デバイスコントローラーのリンクコントローラーとの間のＵＬＰＩのインターフェース処理を行ってもよい。また、本発明では、アップダウンストリームポート回路２０−２が、第１、第２のインターフェース回路と、変換回路とを含んでもよい。
【００９４】
３．アップダウンストリームポート回路
３．１．第１の詳細な構成例
図７に、アップダウンストリームポート回路の第１の詳細な構成例を示す。図７には、第１の詳細な構成例として、アップダウンストリームポート回路３００を示す。アップダウンストリームポート回路３００は、トランシーバー３１０（物理層回路、アナログフロントエンド回路）、シリアルパラレル変換回路３２０、パラレルシリアル変換回路３３０、セレクター３４０を含む。このアップダウンストリームポート回路３００は、例えばホスト／デバイスコントローラー（または、ホストコントローラー、デバイス）とＵＳＢで接続され、ホスト／デバイスコントローラーとの間のＵＳＢ規格に準拠したインターフェース処理を行う。
【００９５】
トランシーバー３１０は、インターフェース信号の入出力を行う。具体的には、トランシーバー３１０は、パラレルシリアル変換回路３３０からのシリアル信号を受けて、そのシリアル信号に基づいてＵＳＢの差動信号を出力する。一方、トランシーバー３１０は、ＵＳＢの差動信号を受けてシリアル信号を生成し、そのシリアル信号をシリアルパラレル変換回路３２０に出力する。また、トランシーバー３１０は、ＵＳＢの電源電圧の入出力を行う。あるいは、トランシーバー３１０には、セレクター３４０を介して、ハブロジック回路４０またはルーティングロジック回路５０からのインターフェース信号（例えば、ＵＴＭＩのインターフェース信号）が入力される。そして、そのインターフェース信号に基づいて、トランシーバー３１０のモードが設定される（例えば、ＨＳモード、ＬＳモード）。トランシーバー３１０は、バスの状態に基づいてインターフェース信号（例えば、HS_Disconect、スケルチ信号）を生成し、セレクター３４０を介して、ハブロジック回路４０またはルーティングロジック回路５０に出力する。例えば、トランシーバー３１０は、後述する図１４（Ａ）、図１４（Ｂ）に示すトランシーバーにより構成できる。
【００９６】
シリアルパラレル変換回路３２０は、トランシーバー３１０からのシリアル信号を受けて、そのシリアル信号をパラレル信号（例えば、ＵＴＭＩのインターフェース信号）に変換処理し、変換処理後のパラレル信号をセレクター３４０に出力する。具体的には、シリアルパラレル変換回路３２０は、セレクター３４０を介して、ハブロジック回路４０またはルーティングロジック回路５０にパラレル信号を出力する。
【００９７】
パラレルシリアル変換回路３３０は、セレクター３４０からのパラレル信号（例えば、ＵＴＭＩのインターフェース信号）を受けて、そのパラレル信号をシリアル信号に変換処理し、変換処理後のシリアル信号をトランシーバー３１０に出力する。具体的には、パラレルシリアル変換回路３３０には、セレクター３４０を介して、ハブロジック回路４０またはルーティングロジック回路５０からのパラレル信号が入力される。なお、シリアルパラレル変換回路３２０及び、パラレルシリアル変換回路３３０は、例えば、フリップフロップ回路によるシフトレジスターにより構成できる。
【００９８】
セレクター３４０は、ハブロジック回路４０またはルーティングロジック回路５０との間のインターフェース信号の入出力を行う。具体的には、セレクター３４０は、シリアルパラレル変換回路３２０からのパラレル信号を、ハブロジック回路４０またはルーティングロジック回路５０に出力する。また、セレクター３４０は、ハブロジック回路４０またはルーティングロジック回路５０からのパラレル信号をパラレルシリアル変換回路３３０に出力する。より具体的には、セレクター３４０は、ハブロジック回路４０との第１のパラレルバスまたはルーティングロジック回路５０との第２のパラレルバス（例えばＵＴＭＩのバス）を選択する。そして、セレクター３４０は、選択されたパラレルバスを介してインターフェース信号の入出力を行う。例えば、セレクター３４０は、トランスファーゲートを用いたスイッチング回路により構成してもよく、そのスイッチング回路により、第１のパラレルバスまたは第２のパラレルバスが選択されてもよい。あるいは、セレクター３４０は、第１、第２のパラレルバスに対してインターフェース信号の入出力を行う第１、第２の入出力バッファーを有する選択回路により構成されてもよい。そして、第１の入出力バッファーがイネーブルにされることで、第１のパラレルバスが選択されてもよく、第２の入出力バッファーがイネーブルにされることで、第２のパラレルバスが選択されてもよい。
【００９９】
ここで、アップダウンストリームポート回路３００には、切替信号HostEn（例えば、後述する図１２に示す切替制御回路４６０からのHostEn）が入力される。HostEnは、ハブの第１のモードと第２のモードを切り替えるための信号である。そして、アップダウンストリームポート回路３００は、HostEnに基づいてアップストリームポート動作とダウンストリームポート動作を切り替える。具体的には、HostEnは、トランシーバー３１０とセレクター３４０に入力され、トランシーバー３１０とセレクター３４０は、HostEnに基づいて動作を切り替える。
【０１００】
例えば、アップダウンストリームポート回路３００が、上述の図３、図４に示すアップダウンストリームポート回路２０−１に適用されるものとする。そうすると、第１のモードにおいて、HostEnがアクティブ（または非アクティブ、広義には第１の論理レベル）にされ、アップダウンストリームポート回路３００はアップストリームポート動作を行う。具体的には、トランシーバー３１０が、アップストリームポート動作（例えば、後述の図１４（Ａ）に示すアップストリームポート動作）を行う。また、セレクター３４０が、ハブロジック回路４０との第１のパラレルバスを選択し、第１のパラレルバスを介してハブロジック回路４０とのインターフェース信号の入出力を行う。一方、第２のモードにおいて、HostEnが非アクティブ（またはアクティブ、広義には第２の論理レベル）にされ、アップダウンストリームポート回路３００はダウンストリームポート動作を行う。具体的には、トランシーバー３１０が、ダウンストリームポート動作（例えば、後述の図１４（Ｂ）に示すダウンストリームポート動作）を行う。また、セレクター３４０が、ルーティングロジック回路５０との第２のパラレルバスを選択し、第２のパラレルバスを介してルーティングロジック回路５０とのインターフェース信号の入出力を行う。
【０１０１】
なお、上記説明では、アップダウンストリームポート回路３００が、第１のモードにおいてアップストリームポート動作を行い、第２のモードにおいてダウンストリームポート動作を行う場合を例に説明した。但し、本発明では、アップダウンストリームポート回路３００が、第１のモードにおいてダウンストリームポート動作を行い、第２のモードにおいてアップストリームポート動作を行ってもよい。すなわち、第１のモードにおいて、トランシーバー３１０がダウンストリームポート動作を行ってもよく、セレクター３４０がルーティングロジック回路５０とのインターフェース信号の入出力を行ってもよい。一方、第２のモードにおいて、トランシーバー３１０がアップストリームポート動作を行ってもよく、セレクター３４０がハブロジック回路４０とのインターフェース信号の入出力を行ってもよい。
【０１０２】
３．２．第２の詳細な構成例
図８に、アップダウンストリームポート回路の第２の詳細な構成例を示す。図８には、第２の詳細な構成例として、アップダウンストリームポート回路３５０を示す。アップダウンストリームポート回路３５０は、ＵＬＰＩのインターフェース回路１５０（第１のインターフェース回路）、変換回路１００、ＵＴＭＩのインターフェース回路１６０（第２のインターフェース回路）を含む。このアップダウンストリームポート回路３５０には、ＵＬＰＩのバスを介して、例えばホスト／デバイスコントローラー（または、ホストコントローラー、デバイス）が接続される。そして、アップダウンストリームポート回路３５０は、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号との変換処理を行うことで、ＵＳＢを介することなくホスト／デバイスコントローラーとの間のインターフェース処理を行う。
【０１０３】
インターフェース回路１５０は、ＵＬＰＩのインターフェース信号data[7:0]、dir、stp、nxt（広義には、第１のインターフェース信号）の入出力を行う。具体的には、インターフェース回路１５０は、ホスト／デバイスコントローラーからの信号data[7:0]、stpを受けて、その信号を変換回路１００に出力する。また、インターフェース回路１５０は、変換回路１００からの信号data[7:0]を受けて、その信号をホスト／デバイスコントローラーに出力する。インターフェース回路１５０は、変換回路１００からの制御信号を受けて、その制御信号に基づいて信号dir、nxtをホスト／デバイスコントローラーに出力する。例えば、インターフェース回路１５０は、信号data[7:0]、nxt、dirを出力してＵＬＰＩのバスをドライブするドライバーや、ＵＬＰＩのバスからの信号data[7:0]、stpを受信するレシーバーにより構成できる。
【０１０４】
インターフェース回路１６０は、ＵＴＭＩのインターフェース信号（広義には、第２のインターフェース信号）の入出力を行う。具体的には、インターフェース回路１６０は、ハブロジック回路（例えば、上述の図２のハブロジック回路４０）との間で、ＵＴＭＩのインターフェース信号DataIn1[7:0]、DataOut1[7:0]、TXValid1、TXReady1等（広義には、第１のパラレルバス信号）の入出力を行う。また、インターフェース回路１６０は、ルーティングロジック回路（例えば、上述の図２のルーティングロジック回路５０）との間で、ＵＴＭＩのインターフェース信号DataIn2[7:0]、DataOut2[7:0]、TXValid2、TXReady2等（広義には、第２のパラレルバス信号）の入出力を行う。より具体的には、インターフェース回路１６０は、ハブロジック回路からの信号DataIn1[7:0]、TXValid1等を受けて、その信号を変換回路１００に出力する。また、インターフェース回路１６０は、変換回路１００からの信号DataOut1[7:0]を受けて、その信号をハブロジック回路に出力する。インターフェース回路１６０は、変換回路１００からの制御信号を受けて、その制御信号に基づいて信号TXReady1等をハブロジック回路に出力する。同様に、インターフェース回路１６０は、ルーティングロジック回路からの信号DataIn2[7:0]、TXValid2等を受けて、その信号を変換回路１００に出力する。また、インターフェース回路１６０は、変換回路１００からの信号DataOut2[7:0]を受けて、その信号をルーティングロジック回路に出力する。インターフェース回路１６０は、変換回路１００からの制御信号を受けて、その制御信号に基づいて信号TXReady2等をルーティングロジック回路に出力する。
【０１０５】
ここで、アップダウンストリームポート回路３５０には、切替信号HostEn（例えば、後述する図１２に示す切替制御回路４６０からのHostEn）が入力される。具体的には、HostEnは、インターフェース回路１６０に入力される。そして、インターフェース回路１６０は、HostEnに基づいてハブロジック回路またはルーティングロジック回路とのインターフェース信号の入出力を行う。より具体的には、インターフェース回路１６０は、セレクター１６２を含む。そして、セレクター１６２は、HostEnに基づいて、ハブロジック回路との第１のＵＴＭＩのバス（広義には、第１のパラレルバス）または、ルーティングロジック回路との第２のＵＴＭＩのバス（広義には、第２のパラレルバス）を選択する。
【０１０６】
例えば、アップダウンストリームポート回路３５０が、上述の図５、図６に示すアップダウンストリームポート回路２０−１に適用されるものとする。そうすると、第１のモードにおいて、アップダウンストリームポート回路３５０はアップストリームポート動作を行う。具体的には、第１のモードにおいて、セレクター１６２は第１のＵＴＭＩのバスを選択する。そして、セレクター１６２は、第１のＵＴＭＩのバスを介して、ハブロジック回路とのインターフェース信号の入出力を行う。一方、第２のモードにおいて、アップダウンストリームポート回路３５０はダウンストリームポート動作を行う。具体的には、セレクター１６２は第２のＵＴＭＩのバスを選択する。そして、セレクター１６２は、第２のＵＴＭＩのバスを介して、ルーティングロジック回路とのインターフェース信号の入出力を行う。なお、セレクター１６２は、上述の図７に示すセレクター３４０と同様に、例えばトランスファーゲートを用いたスイッチング回路や、入出力バッファーを用いた選択回路により構成できる。
【０１０７】
ここで、上記説明では、アップダウンストリームポート回路３５０が、第１のモードにおいてアップストリームポート動作を行い、第２のモードにおいてダウンストリームポート動作を行う場合を例に説明した。但し、本発明では、アップダウンストリームポート回路３５０が、第１のモードにおいてダウンストリームポート動作を行い、第２のモードにおいてアップストリームポート動作を行ってもよい。すなわち、第１のモードにおいて、セレクター１６２がルーティングロジック回路５０とのインターフェース信号の入出力を行ってもよく、第２のモードにおいて、セレクター１６２がハブロジック回路４０とのインターフェース信号の入出力を行ってもよい。
【０１０８】
変換回路１００は、インターフェース回路１５０のＵＬＰＩのインターフェース信号と、インターフェース回路１６０のＵＴＭＩのインターフェース信号との変換処理を行う。具体的には、変換回路１００は、ＵＳＢ（広義には、シリアルバス）を介したデータ転送をエミュレーション処理する。すなわち、変換回路１００は、ＵＳＢを介したデータ転送を行うトランシーバー（例えば、上述の図１（Ｂ）に示すＰＨＹ＿ＨＣＢ、ＰＨＹ＿ＨＵＢ）のインターフェース処理をエミュレーション処理する。より具体的には、変換回路１００は、受信回路１１０、送信回路１２０、制御回路１３０（バスステートコントローラー）、レジスター１４０を含む。
【０１０９】
受信回路１１０には、インターフェース回路１５０を介して、ホスト／デバイスコントローラーからのＵＬＰＩの受信データdata[7:0]（広義には、第１のインターフェース信号の受信データ）が入力される。受信回路１１０は、data[7:0]をＵＴＭＩの受信データDataOut1[7:0]またはDataOut2[7:0]（広義には、第２のインターフェース信号の受信データ）に変換処理する。そして、受信回路１１０は、インターフェース回路１６０を介して、DataOut1[7:0]をハブロジック回路に出力する。または、受信回路１１０は、インターフェース回路１６０を介して、DataOut2[7:0]をルーティングロジック回路に出力する。具体的には、受信回路１１０は、受信データをバッファーリングする受信バッファー１１２を有する。そして、受信回路１１０は、制御回路１３０からの制御信号に基づいて、受信バッファー１１２への受信データの取り込みを行ったり、受信バッファー１１２からハブロジック回路への受信データの転送を行ったり、受信バッファー１１２からルーティングロジック回路への受信データの転送を行ったりする。
【０１１０】
送信回路１２０には、インターフェース回路１６０を介して、ＵＴＭＩの送信データDataIn1[7:0]またはDataIn2[7:0]（広義には、第２のインターフェース信号の送信データ）が入力される。ここで、DataIn1[7:0]は、ハブロジック回路からの送信データであり、DataIn2[7:0]は、ルーティングロジック回路からの送信データである。送信回路１２０は、DataIn1[7:0]またはDataIn2[7:0]を、ＵＬＰＩの送信データdata[7:0]（広義には、第１のインターフェース信号の送信データ）に変換処理する。そして、送信回路１２０は、インターフェース回路１５０を介して、data[7:0]をホスト／デバイスコントローラーに出力する。具体的には、送信回路１２０は、送信データをバッファーリングする送信バッファー１２２を有する。そして送信回路１２０は、制御回路１３０からの制御信号に基づいて、送信バッファー１２２への送信データの取り込みを行ったり、送信バッファー１２２からホスト／デバイスコントローラーへの送信データの転送を行ったりする。
【０１１１】
制御回路１３０は、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号との変換処理を制御する。具体的には、制御回路１３０は、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号に基づいてバス状態を監視する。そして、制御回路１３０は、その監視結果に基づいてインターフェース回路１５０、１６０を制御し、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号を出力する。より具体的には、制御回路１３０には、信号stp、data[7:0]、信号TXValid1、DataIn1[7:0]、TXValid2、DataIn2[7:0]等が入力される。また、制御回路１３０には、受信バッファー１１２のバッファーリング状態を示す信号、送信バッファー１２２のバッファーリング状態を示す信号が入力される。制御回路１３０は、これらの信号に基づいてバスのデータ受信状態やバスのデータ送信状態を検出処理し、バス状態を監視する。また、制御回路１３０には、データ転送を制御するための信号として、図示しないＵＴＭＩのインターフェース信号OpMode1[1:0]、TermSelect1[1:0]、OpMode2[1:0]、TermSelect2[1:0]等が入力される。制御回路１３０は、これらの信号を検出処理することでバス状態を監視する。そして、制御回路１３０は、これらの監視結果に基づいて、インターフェース回路１５０を制御し、信号nxt、dir、data[7:0]を出力させる。また、制御回路１３０は、インターフェース回路１６０を制御し、信号TXReady1、DataOut1[7:0]、TXReady2、DataOut2[7:0]等を出力させる。
【０１１２】
レジスター１４０は、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号との変換処理のためのレジスター値を設定する。具体的には、レジスター１４０は、ホスト／デバイスコントローラーによる、ホスト／デバイスコントローラー側のトランシーバー（例えば図１（Ｂ）のPHY_HOST）の制御をエミュレーション処理するためのレジスター値を設定する。より具体的には、レジスター１４０は、ＵＬＰＩのバスの信号数の不足を補うために、ＵＴＭＩのインターフェース信号をレジスター値として設定する。例えば、レジスター１４０には、ホスト／デバイスコントローラー側のトランシーバーの制御信号OpMode[1:0]、XcvrSelect[1:0]、TermSelect等が設定値として設定される。また、レジスターには、ホスト／デバイスコントローラー側のトランシーバーが生成する信号LineState[1:0]等が設定値として設定される。そして、これらの設定値が設定されたレジスター１４０に対して、ホスト／デバイスコントローラーがアクセス（書き込み、読み出し）することで、ホスト／デバイスコントローラーは、あたかもホスト／デバイスコントローラー側のトランシーバーが存在するかのように認識する。また、制御回路１３０は、レジスター１４０の設定値を参照することで、インターフェース回路１５０のＵＬＰＩのインターフェース信号を制御する。
【０１１３】
３．３．変換処理の信号波形例
図９〜図１１を用いて、変換処理の信号波形例について説明する。なお、以下では、インターフェース回路１６０のインターフェース信号の信号波形例として、インターフェース回路１６０とハブロジック回路との間のインターフェース信号RXActive1、RXValid1等の信号波形例を示す。但し、インターフェース回路１６０とルーティングロジック回路とのインターフェース信号RXActive2、RXValid2等についても、同様の信号波形例が適用できる。また、以下では、アップダウンストリームポート回路にホスト／デバイスコントローラーが接続される場合を例に説明する。但し、本発明では、アップダウンストリームポート回路に、ホストコントローラーまたはデバイスが接続されてもよい。
【０１１４】
図９に、変換処理の第１の信号波形例を示す。図９には、第１の信号波形例として、ホスト／デバイスコントローラーからハブへ受信データが受信されるときの信号波形例を示す。
【０１１５】
図９のＡ１に示すように、ホスト／デバイスコントローラーからバスdata[7:0]に受信データが出力されると、出力された受信データが検出処理される。そして、Ａ２に示すように、信号nxtがアクティブにされ（アサートされ、第１の論理レベルにされ）、受信データのバッファーリングが開始される。また、data[7:0]に出力された受信データが検出処理されると、Ａ３に示すように、信号RXActive1がアクティブにされる。受信データがバッファーリングされたことが検出処理されると、Ａ４に示すように、信号RXValid1がアクティブにされる。そして、RXActive1とRXValid1がアクティブである期間において、Ａ５に示すように、ハブロジック回路に対して受信データが転送される。
【０１１６】
Ａ６に示すように、ホスト／デバイスコントローラーからの受信データの出力が終了されると、Ａ７に示すように、信号stpがアクティブにされ、その後、非アクティブにされる（ネゲートされる。第２の論理レベルにされる）。信号stpがアクティブであることが検出処理されると、Ａ８に示すように、信号nxtが非アクティブにされる。Ａ９に示すように、受信データの転送が終了したことが検出されると、Ａ１０に示すように、信号RXActive1が非アクティブにされ、Ａ１１に示すように、信号RXValid1が非アクティブにされる。
【０１１７】
ここで、Ａ１２に示すように、データ転送中においては、信号LineState1[1:0]としてJステートが出力される。また、例えばＨＳモード（High Speed Mode、480Mbps）でデータ転送される場合には、Ａ１３に示すように、信号XcvrSelect1[1:0]=（0,0）が出力され、Ａ１４に示すように、TermSelect1=0（0は、Ｌレベル又は第２の論理レベル）が出力される。また、例えばトランシーバーのノーマルオペレーションモードがエミュレーション処理される場合には、Ａ１５に示すように、信号OpMode1[1:0]=（0,0）が出力される。
【０１１８】
図１０に、変換処理の第２の信号波形例を示す。図１０には、第２の信号波形例として、ハブからホスト／デバイスコントローラーへ送信データが送信されるときの信号波形例を示す。
【０１１９】
図１０のＢ２に示すように、信号TXValid1がアクティブにされ、Ｂ１に示すように、ハブロジック回路から送信データが出力される。信号TXValid1がアクティブにされたことが検出処理されると、Ｂ３に示すように、TXReady1がアクティブにされ、送信データのバッファーリングが開始される。信号TXValid1がアクティブにされたことが検出処理されると、Ｂ４に示すように、信号dirがアクティブにされる。送信データがバッファーリングされたことが検出されると、Ｂ５に示すように、信号nxtがアクティブにされ、Ｂ６に示すように、ホスト／デバイスコントローラーに対して送信データが転送される。このとき、Ｂ６に示すように、送信データには、ターンアラウンド（turn around）が確保され、ＲＸコマンド（RX CMD）が付加される。このターンアラウンドは、信号dirのアクティブ、非アクティブの変化点において確保される。また、ＲＸコマンドとして、例えばレジスター１４０のレジスター値VbusState、LineState等を含むデータが付加される。Ｂ７に示すように、ＲＸコマンドが出力されている期間において、nxtが非アクティブにされる。
【０１２０】
Ｂ８に示すように、ハブロジック回路からの送信データの出力が終了すると、Ｂ９に示すように、信号TXValid1が非アクティブにされる。信号TXValid1が非アクティブにされたことが検出処理されると、Ｂ１０に示すように、信号TXReady1が非アクティブにされる。送信データの転送が終了したことが検出処理されると、Ｂ１１に示すように、信号dirが非アクティブにされる。Ｂ１２に示すように、送信データの転送が終了したことが検出処理されると、Ｂ１３に示すように、信号nxtが非アクティブにされる。
【０１２１】
ここで、Ｂ１４に示すように、データ転送中においては、信号LineState1[1:0]としてJステートが出力される。また、上述の図９と同様に、信号XcvrSelect1[1:0]、TermSelect1、OpMode1[1:0]として、XcvrSelect1[1:0]=（0,0）、TermSelect1=0、OpMode1[1:0]=（0,0）が出力される。
【０１２２】
図１１に、変換処理の第３の信号波形例を示す。図１１には、第３の信号波形例として、トランシーバーのリセット動作をエミュレーション処理するときの信号波形例を示す。図１１には、アップダウンストリームポート回路３５０がアップストリームポート動作を行う場合の信号波形例を示す。
【０１２３】
図１１のＣ１に示すように、アップダウンストリームポート回路のホスト／デバイスコントローラー（ホスト動作）からレジスター書込み用のコマンドTX CMD（RegWr）が送信される。コマンドTX CMDを受けて、リセット用のオペレーションモードに対応するレジスター値（例えばOpMode1[1:0]=(1,0)）がレジスター１４０に設定される。Ｃ２に示すように、LineState1[1:0]に一定時間SE0（Single Ended Zero）が出力される。LineState1[1:0]にSOF（Start-of-Frame）が出力されないことが検出処理されると、Ｃ３に示すように、FSモードのターミネーションに対応するTermSelect1=1（1は、Ｈレベル又は第１の論理レベル）が出力される。そして、Ｃ４に示すように、OpMode1[1:0]=(1,0)が出力される。ハブロジック回路からデバイスチャープKが送信され、Ｃ５に示すように、LineState1[1:0]がデバイスチャープKにされる。Ｃ６に示すように、ホスト／デバイスコントローラーに対して、LineState1[1:0]が変化したことを知らせるためのコマンドRX CMDが送信される。
【０１２４】
Ｃ７に示すように、デバイスチャープKの送信終了後に、LineState1[1:0]がSE0にされる。Ｃ８に示すように、ホスト／デバイスコントローラーに対して、LineState1[1:0]が変化したことを知らせるためのコマンドRX CMDが送信される。Ｃ９に示すように、ホスト／デバイスコントローラーからコマンドTX CMD(NOPID)とホストチャープK/Jが送信される。Ｃ１０に示すように、ハブロジック回路に対して、ホストチャープK/Jが送信される。データ転送速度が例えばHSモードであると判断されると、Ｃ１１に示すように、HSモードのターミネーションに対応するTermSelect1=0が出力される。Ｃ１２に示すように、TermSelect1=0を受けて、LineState1[1:0]がJステートにされる。Ｃ１３に示すように、ホストチャープK/Jの送信終了後に、LineState1[1:0]がSE0にされる。Ｃ１４に示すように、ホスト／デバイスコントローラーからレジスター書込み用のコマンドTX CMD（RegWr）が送信される。コマンドTX CMDを受けて、ノーマルオペレーションモードに対応するレジスター値（例えばOpMode1[1:0]=(0,0)）がレジスター１４０に設定される。
【０１２５】
４．ハブロジック回路
図１２に、ハブ（データ転送制御装置）の詳細な構成例を示す。図１２に示す詳細な構成例のハブは、アップダウンストリームポート回路２０−１、２０−２、ハブロジック回路４０、ルーティングロジック回路５０、ダウンストリームポート回路６０−１〜６０−ｋ、切替制御回路４６０を含む。なお、以下では、上述の図２等で説明した構成要素と同一の要素には、同一の符号を付して、適宜説明を省略する。ここで、以下では、第１のモードにおいて、アップダウンストリームポート回路２０−１がアップストリームポート動作を行い、アップダウンストリームポート回路２０−２がダウンストリームポート動作を行う場合を例に説明する。また、以下では、アップダウンストリームポート回路２０−１にホストコントローラーが接続され、アップダウンストリームポート回路２０−２にデバイスが接続される場合を例に説明する。
【０１２６】
ハブロジック回路４０は、ハブコントローラー４１０、ハブリピーターロジック回路４２０、トランザクショントランスレーター４３０、ハブステートマシーン４４０、フレームタイマー４５０を含む。なお、本発明のハブロジック回路は、図１２の構成に限定されず、その構成の一部省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【０１２７】
トランザクショントランスレーター４３０は、トランザクションの変換処理を行う。具体的には、アップダウンストリームポート回路２０−１が、ホストコントローラーとＨＳモード（High Speed Mode、480Mbps）で接続され、アップダウンストリームポート回路２０−２またはダウンストリームポート回路６０−１〜６０−ｋが、デバイスとFSモード、LSモードで接続されるとき、トランザクショントランスレーター４３０は、アップストリームポート側のＨＳモードのトランザクションとダウンストリームポート側のＦＳモード、ＬＳモードのトランザクションとを変換処理する。
【０１２８】
ハブリピーターロジック回路４２０は、アップダウンストリームポート回路２０−１に接続されたホストコントローラーのデータ転送速度のモードと、アップダウンストリームポート回路２０−２またはダウンストリームポート回路に接続されたデバイスのデータ転送速度のモードとが同じ場合に、データ転送を行う。
【０１２９】
ハブステートマシーン４４０は、ハブのステートを制御する。例えば、アップダウンストリームポート回路２０−１とホストコントローラーとの接続・切断を検出処理する。また、ハブステートマシーン４４０は、アップダウンストリームポート回路２０−２、ダウンストリームポート回路６０−１〜６０−ｋとデバイスとの接続・切断を検出処理する。あるいは、ハブステートマシーン４４０は、アップダウンストリームポート回路２０−１、２０−２、ダウンストリームポート回路６０−１〜６０−ｋのリセット・停止・復帰を制御する。
【０１３０】
ハブコントローラー４１０は、ハブとホストコントローラーとの通信を制御する。例えば、ハブコントローラー４１０は、エニュメレーションを行って、ハブのリソース情報や設定等をホストコントローラーと交換する。また、ハブコントローラー４１０は、ホストコントローラーからのリクエストを処理する。
【０１３１】
フレームタイマー４５０は、アップストリームポート側のフレームとダウンストリームポート側のフレームとの同期を取り、フレームインターバルの制御を行う。
【０１３２】
ルーティングロジック回路５０は、トランザクショントランスレーター４３０と、アップダウンストリームポート回路２０−２または各ダウンストリームポート回路とを接続する。あるいは、ルーティングロジック回路５０は、ハブリピーターロジック回路４２０とアップダウンストリームポート回路２０−２または各ダウンストリームポート回路とを接続する。
【０１３３】
切替制御回路４６０は、第１のモードと第２のモードを切り替えるための切替制御信号HostEnを出力する。具体的には、切替制御回路４６０は、アップダウンストリームポート回路２０−１、２０−２、ハブロジック回路４０に対して信号HostEnを出力する。例えば、第１のモードにおいて、切替制御回路４６０は信号HostEnをアクティブ（第１の論理レベル）にする。これを受けて、アップダウンストリームポート回路２０−１、２０−２は、それぞれアップストリームポート動作、ダウンストリームポート動作を行う。また、ハブコントローラー４１０、ハブリピーターロジック回路４２０、トランザクショントランスレーター４３０は、アップダウンストリームポート回路２０−１との間のインターフェース処理を行う。一方、第２のモードにおいて、切替制御回路４６０は信号HostEnを非アクティブ（第２の論理レベル）にする。これを受けて、アップダウンストリームポート回路２０−１、２０−２は、それぞれダウンストリームポート動作、アップストリームポート動作を行う。また、ハブコントローラー４１０、ハブリピーターロジック回路４２０、トランザクショントランスレーター４３０は、アップダウンストリームポート回路２０−２との間のインターフェース処理を行う。
【０１３４】
例えば、ハブには、モード切替信号が供給される外部端子が設けられてもよく、切替制御回路４６０には、その外部端子からのモード切替信号が入力されてもよい。そして、切替制御回路４６０は、外部端子からのモード切替信号に基づいて、第１のモードと第２のモードを切り替えてもよい。例えば、電子機器にモード切り替え用のスイッチが設けられ、そのスイッチから外部端子にモード切替信号が供給されてもよい。あるいは、ホストコントローラーから外部端子にモード切替信号が供給されてもよい。また、アップダウンストリームポート回路２０−１、２０−２とハブロジック回路４０との間のインターフェース信号には、モード切替信号が含まれてもよい。そして、切替制御回路４６０は、インターフェース信号に含まれるモード切替信号に基づいて、第１のモードと第２のモードを切り替えてもよい。例えば、インターフェース信号に含まれるモード切替信号は、ホストコントローラーにより制御されてもよい。
【０１３５】
なお、上記説明では、本実施形態のハブがＵＳＢ２．０規格に準拠する場合を例に説明した。但し、本発明では、ハブがＵＳＢ１．１等の他の規格に準拠してもよい。
【０１３６】
５．ＯＴＧ
図１３に、ＯＴＧ（On-The-Go）のデュアルロールデバイスを実現できるホスト／デバイスコントローラーの構成例を示す。この構成例のホスト／デバイスコントローラーは、トランシーバー２００、転送コントローラー２１０、バッファーコントローラー２２０、データバッファー２３０、ＯＴＧコントローラー２５０（ステートコントローラー）を含む。
【０１３７】
転送コントローラー２１０は、ＵＳＢを介したデータ転送を制御するためのコントローラーであり、いわゆるＳＩＥ（Serial Interface Engine）の機能などを実現する。具体的には、転送コントローラー２１０は、切り替え回路２１２とホストコントローラー２１４とペリフェラルコントローラー２１６とレジスター部２１８を含む。切り替え回路２１２は、トランシーバー２００と、ホストコントローラー２１４又はペリフェラルコントローラー２１６との間の接続の切り替えを制御する。ホストコントローラー２１４は、レジスター部２１８に設定された転送条件情報に基づき、ホスト動作時にホストの役割としてのデータ転送制御を行う。ペリフェラルコントローラー２１６は、レジスター部２１８に設定された転送条件情報に基づき、ペリフェラル動作（デバイス動作）時にペリフェラルの役割としてのデータ転送制御を行う。
【０１３８】
ＯＴＧコントローラー２５０は、ＯＴＧのＳＲＰ機能やＨＮＰ機能を実現するための回路である。即ちＯＴＧコントローラー２５０は、ホストの役割として動作するホスト動作のステートや、ペリフェラルの役割として動作するペリフェラル動作のステートなどを含む複数のステートの制御を行う。
【０１３９】
トランシーバー２００は、差動信号ＤＰ、ＤＭ（差動データ信号）を用いてデータを送受信するための回路である。バッファーコントローラー２２０は、データバッファー２３０に記憶領域（エンドポイント領域等）を確保したり、データバッファー２３０の記憶領域に対するアクセス制御を行ったりする。データバッファー２３０（パケットバッファー）は、ＵＳＢを介して転送されるデータ（送信データ又は受信データ）を一時的に格納（バッファーリング）するためバッファー（ＦＩＦＯ）である。
【０１４０】
本実施形態によれば、このようなＯＴＧのホスト／デバイスコントローラーがハブに接続された場合でも、データ転送を行うことができる。なお、本発明では、ハブがＯＴＧのインターフェース処理を行い、ＯＴＧによりモードを切り替えてもよい。すなわち、ハブが、図１３に示すＯＴＧコントローラー２５０、転送コントローラー２１０と同様のＯＴＧコントローラー、転送コントローラーを含んでもよい。そして、ＯＴＧのインターフェース処理により、ハブに接続されたホスト／デバイスコントローラーのホスト動作とペリフェラル動作が切り替えられ、ハブの第１のモードと第２のモードが切り替えられてもよい。
【０１４１】
６．アップダウンストリームポート回路のトランシーバー
図１４（Ａ）、図１４（Ｂ）に、アップダウンストリームポート回路のトランシーバーの詳細な構成例を示す。この詳細な構成例のトランシーバーは、プルアップ抵抗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を含む。
【０１４２】
図１４（Ａ）は、トランシーバーがダウンストリームポート動作を行う場合の接続構成例である。図１４（Ａ）に示すように、信号HD_Select（例えば、図１２の切替制御回路４６０からの切替制御信号HostEn）に基づいて、スイッチSW_Rpd1、SW_Rpd2がオンされ、スイッチSW_Rpuがオフされる。また、信号HD_Selectに基づいて、DPライン、DMラインが抵抗Rpd1、Rpd2を介してプルダウンされ、スイッチSW_VBUSがVBUS供給状態に切り替えられ、トランシーバーからＵＳＢにバス電源VBUSが供給される。ディスコネクションエンベロープディテクタDISは、信号HD_Selectに基づいて、イネーブル状態に切り替えられ、HSディスコネクト状態を検出する。
【０１４３】
図１４（Ｂ）は、トランシーバーがアップストリームポート動作を行う場合の接続構成例である。図１４（Ｂ）に示すように、信号HD_Selectに基づいて、スイッチSW_Rpd1、SW_Rpd2がオフされ、スイッチSW_Rpuがオンされる。そして、信号HD_Selectに基づいて、DPラインが抵抗Rpuを介してプルアップされ、スイッチSW_VBUSがVBUS検出状態に切り替えられ、トランシーバーに対してＵＳＢバスからバス電源VBUSが供給される。ディスコネクションエンベロープディテクタDISは、信号HD_Selectに基づいて、ディセーブル状態に切り替えられる。
【０１４４】
なお、図１４（Ａ）、図１４（Ｂ）では、本実施形態のハブがHS/FSモードで動作する場合に、ダウンストリームポート動作においてDPラインがプルアップされる接続構成例について説明した。但し本発明では、ハブがLSモードで動作する場合に、ダウンストリームポート動作においてDMラインが抵抗RpuとスイッチSW_Rpuを介してプルアップされてもよい。
【０１４５】
７．電子機器
図１５に、本実施形態のハブ（データ転送制御装置）が適用される電子機器の構成例を示す。例えば本実施形態のハブは、パソコン（PC:Personal Computer）、家庭用ゲーム機、カーナビゲーションシステム、プリンタ、テレビ、デジタルフォトフレーム、ＡＶレコーダ／プレーヤ等の電子機器に適用できる。
【０１４６】
図１５に示す電子機器５００は、ハブ５７０、ＣＰＵ５１０（例えば、ホスト動作とデバイス動作を切り替え可能なホスト／デバイスコントローラー）、デバイス５２０−１、５２０−２、ポート５８０、ＲＯＭ５３０（Read Only Memory）、ＲＡＭ５４０（Random Access Memory）、表示部５５０、操作部５６０を含む。
【０１４７】
ＣＰＵ５１０は、ＣＰＵバスを介して、ＲＯＭ５３０、ＲＡＭ５４０、表示部５５０、操作部５６０と通信する。表示部５５０は、例えば液晶パネル、EL（Electro Luminescence）パネル等で構成される。操作部５６０は、例えばマウス、キーボード、タッチパネル、ゲームコントローラ、赤外線受信部等で構成される。
【０１４８】
ハブ５７０の第１のアップダウンストリームポート回路には、ＣＰＵ５１０が接続され、ハブ５７０は、ＵＬＰＩのバスを介してＣＰＵ５１０と通信する。また、ハブ５７０の第２のアップダウンストリームポート回路には、ポート５８０が接続される。ポート５８０には、ＵＳＢケーブルにより外部機器６００が接続される。そして、ハブ５７０は、ＵＳＢを介して外部機器６００と通信する。ハブ５７０のダウンストリームポート回路には、デバイス５２０−１、５２０−２が接続され、ハブ５７０は、ＵＳＢを介してデバイス５２０−１、５２０−２と通信する。
【０１４９】
例えば、ハブ５７０には、外部機器６００としてＵＳＢメモリー、携帯オーディオプレーヤー、デジタルカメラ等の外付けのデバイスが接続されてもよい。そして、これらの機器が、ホスト動作とデバイス動作を切り替え可能であってもよい。すなわち、ホスト動作を行う外部機器６００がポート５８０に接続されたとき、ＣＰＵ５１０がデバイス動作を行ってもよい。一方、デバイス動作を行う外部機器６００がポート５８０に接続されたとき、ＣＰＵ５１０がホスト動作を行ってもよい。また、ハブ５７０には、デバイス５２０−１、５２０−２として、HDD（Hard Disk Drive）、DVDドライブ、CDドライブ等の内蔵デバイスや、表示部、操作部が接続されてもよい。
【０１５０】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語（シリアルバス、第１のインターフェース回路、第２のインターフェース回路、データ転送制御装置等）と共に記載された用語（ＵＳＢ、ＵＬＰＩインターフェース回路、ＵＴＭＩインターフェース回路、ハブ等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またアップダウンストリームポート回路、ダウンストリームポート回路、ハブロジック回路、ルーティングロジック回路、データ転送制御装置、電子機器等の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
【符号の説明】
【０１５１】
１０  データ転送制御装置、
２０−１,２０−２  第１,第２のアップダウンストリームポート回路、
４０  ハブロジック回路、５０  ルーティングロジック回路、
６０−１〜６０−ｋ  ダウンストリームポート回路、１００  変換回路、
１１０  受信回路、１１２  受信バッファー、１２０  送信回路、
１２２送信バッファー、１３０  制御回路、１４０  レジスター、
１５０  第１のインターフェース回路、１６０  第２のインターフェース回路、
１６２  セレクター、３１０  トランシーバー、３２０  シリアルパラレル変換回路、
３３０  パラレルシリアル変換回路、３４０  セレクター、
４１０  ハブコントローラー、４２０  ハブリピーターロジック回路、
４３０  トランザクショントランスレーター、４４０  ハブステートマシーン、
４５０  フレームタイマー、４６０  切替制御回路、５００  電子機器、
５１０  ＣＰＵ、５２０−１,５２０−２  デバイス、５３０  ＲＯＭ、
５４０  ＲＡＭ、５５０  表示部、５６０  操作部、５７０  ハブ、５８０  ポート、
６００  外部機器、
ＨＤＣＡ  ホスト／デバイスコントローラー、ＨＣＡ  ホストコントローラー、
ＤＶＡ  デバイス、ＢＵＳ１〜ＢＵＳ４  第１〜第４のバス、
ＨｏｓｔＥｎ  切替制御信号
【図１】
2010218196.tif 000003
【図２】
2010218196.tif 000004
【図３】
2010218196.tif 000005
【図４】
2010218196.tif 000006
【図５】
2010218196.tif 000007
【図６】
2010218196.tif 000008
【図７】
2010218196.tif 000009
【図８】
2010218196.tif 000010
【図９】
2010218196.tif 000011
【図１０】
2010218196.tif 000012
【図１１】
2010218196.tif 000013
【図１２】
2010218196.tif 000014
【図１３】
2010218196.tif 000015
【図１４】
2010218196.tif 000016
【図１５】
2010218196.tif 000017