(57)【要約】【課題】レイアウト面積の増加等を抑えながらダウンストリームのポート数を増やすことができるデータ転送制御装置、集積回路装置及び電子機器の提供。【解決手段】データ転送制御装置は、ホストコントローラＨＣに接続するためのアップストリームポート回路１０と、複数のデバイスＤＥＶ１〜ＤＥＶ４に接続するための複数のダウンストリームポート回路ＤＰ１〜ＤＰ４と、ホストコントローラＨＣと複数のデバイスＤＥＶ１〜ＤＥＶ４との間のデータ転送制御を行うハブロジック回路４０を含む。アップストリームポート回路１０は、第１の転送モード対応のアップストリームポート回路であり、ダウンストリームポート回路ＤＰ１〜ＤＰ３のうちのＤＰ１〜ＤＰ３は、第１の転送モード対応のダウンストリームポート回路であり、ＤＰ１〜ＤＰ３以外のダウンストリームポート回路ＤＰ４は、第１の転送モードに非対応であり第１の転送モードよりも低速の第２の転送モード対応のダウンストリームポート回路となる。【選択図】図１
2010088068.tif 000002
【特許請求の範囲】
【請求項１】
ホストコントローラに接続するためのアップストリームポート回路と、
各ダウンストリームポート回路が複数のデバイスのうちの対応するデバイスに接続するために設けられる複数のダウンストリームポート回路と、
前記ホストコントローラと前記複数のデバイスとの間のデータ転送制御を行うハブロジック回路と、
を含み、
前記アップストリームポート回路は、第１の転送モード対応のアップストリームポート回路であり、
前記複数のダウンストリームポート回路のうちの第１〜第ｉ（ｉは自然数）のダウンストリームポート回路は、第１の転送モード対応のダウンストリームポート回路であり、
前記複数のダウンストリームポート回路のうちの前記第１〜第ｉのダウンストリームポート回路以外のダウンストリームポート回路は、第１の転送モードに非対応であり前記第１の転送モードよりも低速の第２の転送モード対応のダウンストリームポート回路であることを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記第２の転送モード対応のダウンストリームポート回路は、
前記第２の転送モード対応のダウンストリームポート回路に接続された第１の転送モード対応のデバイスが、第１の転送モード対応通知を発行した場合に、前記第１の転送モード対応通知に対する返信通知を非発行にするスピードネゴシエーションを行うことを特徴とするデータ転送制御装置。
【請求項３】
請求項２において、
前記第１の転送モード対応通知はデバイスチャープであり、前記返信通知はハブチャープであることを特徴とするデータ転送制御装置。
【請求項４】
請求項２又は３において、
前記アップストリームポート回路は、
前記第２の転送モード対応のダウンストリームポート回路に前記第１の転送モード対応のデバイスが接続された場合にも、前記第２の転送モード対応のダウンストリームポート回路のバス速度が第２の転送モードの速度である旨を、前記ホストコントローラに対して通知することを特徴とするデータ転送制御装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の転送モードはＨＳ（High Speed）モードであり、前記第２の転送モードはＦＳ（Full Speed）モードであることを特徴とするデータ転送制御装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記アップストリームポート回路は、
前記ホストコントローラのリンク層回路とのインターフェース処理を行う第１のインターフェース回路を有することを特徴とするデータ転送制御装置。
【請求項７】
請求項６において、
前記第１のインターフェース回路は、
前記ホストコントローラとＵＬＰＩ規格（UTMI+ Low Pin Interface）のバスで接続され、前記ホストコントローラのリンク層回路との間のＵＬＰＩのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項８】
請求項６又は７において、
前記アップストリームポート回路は、
前記ハブロジック回路とのインターフェース処理を行う第２のインターフェース回路と、
前記第１のインターフェース回路のインターフェース信号と前記第２のインターフェース回路のインターフェース信号の変換処理を行う変換回路と、
を含むことを特徴とするデータ転送制御装置。
【請求項９】
請求項８において、
前記第２のインターフェース回路は、
前記ハブロジック回路とＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）規格のバスで接続され、前記ハブロジック回路との間のＵＴＭＩのインターフェース処理を行うことを特徴とするデータ転送制御装置。
【請求項１０】
請求項１乃至９のいずれかに記載のデータ転送制御装置を含むことを特徴とする集積回路装置。
【請求項１１】
請求項１０において、
前記集積回路装置の第１の辺に、前記アップストリームポート回路が配置され、
前記集積回路装置の第２、第３、第４の辺に、前記複数のダウンストリームポート回路が配置されることを特徴とする集積回路装置。
【請求項１２】
請求項１０又は１１に記載の集積回路装置を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、集積回路装置及び電子機器等に関する。
【背景技術】
【０００２】
近年ＵＳＢ2.0（Universal Serial Bus 2.0）等で規格化されたＵＳＢによるシリアルインターフェースが普及している。例えば、パソコンと周辺機器の接続やプリンタとデジタルカメラの接続、カーナビゲーションシステムとポータブルオーディオの接続など電子機器同士を接続するインターフェースとして広く用いられている。あるいは、光学ドライブ等の内蔵デバイスとホストコントローラを電子機器内で接続するインターフェースとしても広く用いられている。
【０００３】
このようなＵＳＢ規格では、複数のデバイスをホストに接続するためのハブが定義されている。ＵＳＢハブの従来技術としては例えば特許文献１に開示されるものがある。
【０００４】
ＵＳＢにおいてはハブはデバイスとして扱われる。そしてＵＳＢ規格では、ＦＳ（Full Speed）対応のハブでは、そのダウンストリームポートにもＦＳ対応のデバイスが接続され、ＨＳ（High Speed）対応のハブでは、そのダウンストリームポートにもＨＳ対応のデバイスが接続されることが想定されている。
【０００５】
ところが、ＨＳ対応のダウンストリームポート回路に設けられる物理層回路は、ＦＳ対応のダウンストリームポート回路に設けられる物理層回路に比べて、そのレイアウト面積が大きく、消費電力も大きい。従って、アップストリームポート回路がＨＳであるＨＳ対応のハブにおいて、ポート数を増やすためにダウンストリームポート回路の数を増やすと、レイアウト面積が非常に大きくなってしまう。特にＨＳ対応のダウンストリームポート回路を４ポート以上設けた場合には、これらの回路をレイアウト配置するのが困難になるという課題があった。
【特許文献１】特開２００４−３２８２６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、レイアウト面積の増加等を抑えながらダウンストリームのポート数を増やすことができるデータ転送制御装置、集積回路装置及び電子機器を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ホストコントローラに接続するためのアップストリームポート回路と、各ダウンストリームポート回路が複数のデバイスのうちの対応するデバイスに接続するために設けられる複数のダウンストリームポート回路と、前記ホストコントローラと前記複数のデバイスとの間のデータ転送制御を行うハブロジック回路とを含み、前記アップストリームポート回路は、第１の転送モード対応のアップストリームポート回路であり、前記複数のダウンストリームポート回路のうちの第１〜第ｉ（ｉは自然数）のダウンストリームポート回路は、第１の転送モード対応のダウンストリームポート回路であり、前記複数のダウンストリームポート回路のうちの前記第１〜第ｉのダウンストリームポート回路以外のダウンストリームポート回路は、第１の転送モードに非対応であり前記第１の転送モードよりも低速の第２の転送モード対応のダウンストリームポート回路であるデータ転送制御装置に関係する。
【０００８】
本発明の一態様によれば、ホストコントローラに接続するためのアップストリームポート回路は、第１の転送モード対応の回路となっている。また複数のデバイスに接続するための複数のダウンストリームポート回路のうちの第１〜第ｉ（ｉは自然数）のダウンストリームポート回路は、第１の転送モード対応の回路となっており、それ以外のダウンストリームポート回路は、第２の転送モード対応の回路となっている。
【０００９】
このように本発明の一態様では、アップストリームポート回路が第１の転送モード対応であるのにもかかわらず、ダウンストリームポート回路として第１の転送モード対応の回路と第２の転送モード対応の回路を混在させている。このようにすれば、ダウンストリームポート回路の全てに対して、レイアウト面積や消費電力が大きな第１の転送モード対応の物理層回路を設けなくても済むようになるため、レイアウト面積の増加等を抑えながらダウンストリームのポート数を増やすことが可能になる。
【００１０】
また本発明の一態様では、前記第２の転送モード対応のダウンストリームポート回路は、前記第２の転送モード対応のダウンストリームポート回路に接続された第１の転送モード対応のデバイスが、第１の転送モード対応通知を発行した場合に、前記第１の転送モード対応通知に対する返信通知を非発行にするスピードネゴシエーションを行ってもよい。
【００１１】
このようにすれば、第１の転送モード対応のデバイスは、第２の転送モード対応のダウンストリームポート回路を、第１の転送モードには対応していない回路であると認識するため、このダウンストリームポート回路に対して第１の転送モード対応の物理層回路を設けなくても、適正なデータ転送を実現できる。
【００１２】
また本発明の一態様では、前記第１の転送モード対応通知はデバイスチャープであり、前記返信通知はハブチャープであってもよい。
【００１３】
また本発明の一態様では、前記アップストリームポート回路は、前記第２の転送モード対応のダウンストリームポート回路に前記第１の転送モード対応のデバイスが接続された場合にも、前記第２の転送モード対応のダウンストリームポート回路のバス速度が第２の転送モードの速度である旨を、前記ホストコントローラに対して通知してもよい。
【００１４】
このようにすれば、ホストコントローラは、あたかも第１の転送モード対応のダウンストリームポート回路に第２の転送モード対応のデバイスが接続されたかのように認識するようになるため、ホストコントローラとデバイスとの間での適正なデータ転送を実現できる。
【００１５】
また本発明の一態様では、前記第１の転送モードはＨＳ（High Speed）モードであり、前記第２の転送モードはＦＳ（Full Speed）モードであってもよい。
【００１６】
また本発明の一態様では、前記アップストリームポート回路は、前記ホストコントローラのリンク層回路とのインターフェース処理を行う第１のインターフェース回路を有してもよい。
【００１７】
このようにすれば、第１のインターフェース回路が、物理層回路を介すことなくリンク層回路とのインターフェース処理を直接行うようになる。これにより、アップストリームポート回路の物理層回路を省略してデータ転送制御装置の回路規模を削減できる。またホストコントローラの物理層回路を省略して回路規模を削減することもできる。さらに、物理層回路を省略することによってハブとホストコントローラ間のデータ転送の伝搬遅延を削減することもできる。
【００１８】
また本発明の一態様では、前記第１のインターフェース回路は、前記ホストコントローラとＵＬＰＩ規格（UTMI+ Low Pin Interface）のバスで接続され、前記ホストコントローラのリンク層回路との間のＵＬＰＩのインターフェース処理を行ってもよい。
【００１９】
このようにすれば、ホストコントローラとアップストリームポート回路とのインターフェース処理をＵＬＰＩの同期インターフェース処理で行うことができ、同期化によるビットロスを削減できる。
【００２０】
また本発明の一態様では、前記アップストリームポート回路は、前記ハブロジック回路とのインターフェース処理を行う第２のインターフェース回路と、前記第１のインターフェース回路のインターフェース信号と前記第２のインターフェース回路のインターフェース信号の変換処理を行う変換回路とを含んでもよい。
【００２１】
このようにすれば、物理層回路の省略を実現できる。即ち、変換回路の変換処理により、ホストコントローラとハブロジック回路との物理層回路を介したデータ転送をエミュレーション処理できる。そしてアップストリームポート回路は、ホストコントローラとハブロジック回路に対して物理層回路がある場合と同様のインターフェース処理を行うことが可能になる。
【００２２】
また本発明の一態様では、前記第２のインターフェース回路は、前記ハブロジック回路とＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）規格のバスで接続され、前記ハブロジック回路との間のＵＴＭＩのインターフェース処理を行ってもよい。
【００２３】
このようにすればアップストリームポート回路とハブロジック回路との間の適正なインターフェース処理を実現できる。
【００２４】
また本発明の他の態様は、上記のいずれかに記載のデータ転送制御装置を含む集積回路装置に関係する。
【００２５】
また本発明の他の態様では、前記集積回路装置の第１の辺に、前記アップストリームポート回路が配置され、前記集積回路装置の第２、第３、第４の辺に、前記複数のダウンストリームポート回路が配置さてもよい。
【００２６】
また本発明の他の態様は、上記に記載の集積回路装置を含む電子機器に関係する。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２８】
１．データ転送制御装置の構成
図１に本実施形態のデータ転送制御装置（ハブ）の構成例を示す。このデータ転送制御装置は、アップストリームポート回路１０、ハブロジック回路４０、ダウンストリームポート回路ＤＰ１〜ＤＰ４（広義には複数のダウンストリームポート回路）を含む。なお、本実施形態のデータ転送制御装置は図１の構成に限定されず、これらの構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００２９】
アップストリームポート回路１０は、ホストコントローラＨＣ（ホスト）に接続するための回路である。本実施形態では、アップストリームポート回路１０はＨＳ（High Speed）対応の回路となっており、ＨＳモード（広義には第１の転送モード）でのデータ転送が可能になっている。なおホストコントローラＨＣは、例えばＯＴＧ規格のコントローラのように、ホスト動作とデバイス動作が切り替え可能なホスト／デバイスコントローラであってもよい。
【００３０】
ＵＳＢでは、ＤＰ（Ｄａｔａ＋）及びＤＭ（Ｄａｔａ−）を用いた差動信号によりデータが送受信される。そしてＵＳＢ２．０では、４８０ＭｂｐｓのＨＳモード（第１の転送モード）と１２ＭｂｐｓのＦＳモード（広義には第１の転送モードよりも低速な第２の転送モード）が、転送モードとして定義されている。ＨＳモードは、ＵＳＢ２．０により新たに定義された転送モードである。ＦＳモードは、従来のＵＳＢ１．１で既に定義されている転送モードであり、ＨＳ対応のアップストリームポート回路１０は、これらのＨＳ、ＦＳ（ＬＳ）の両方の転送モードでのデータの送受信が可能になっている。
【００３１】
具体的には、ＨＳ対応のアップストリームポート回路１０は、ＵＳＢの論理層回路の一部であるロジック回路と、ＨＳ対応の物理層回路を含むことができる。ここでロジック回路は、ＥＯＰ（End Of Packet）の生成・削除、ＳＹＮＣ（SYNChronization）の生成・削除、ＮＲＺＩエンコード（符号化）、ＮＲＺＩデコード（復号化）、ビットスタッフィング（ビット挿入）、ビットアンスタッフィング（ビット削除）、シリアル／パラレル変換、パラレル／シリアル変換、差動信号のラインステート（Ｊ、Ｋ、ＳＥ０等）の生成・検出等を行う。
【００３２】
ＨＳ対応の物理層回路は、ＦＳモードやＨＳモードでの送受信を行うための送信ドライバやレシーバや検出回路などを含む。例えば差動信号ラインを駆動（電流駆動）することによるデータ送信や、差動信号ラインを用いたデータ受信や、差動信号のデータの有効・無効の検出や、差動信号ラインの接続検出や、差動信号ラインのプルアップ制御などを行うアナログ回路を含む。具体的にはＨＳ対応の物理層回路は、ＨＳ送信ドライバ、ＨＳ差動レシーバ、シングルエンドレシーバ、ＦＳ送信ドライバ、ＦＳ差動レシーバ、検出回路（スケルチ、ディスコネクション）、プルアップ回路、スイッチ回路などを含む。
【００３３】
ハブロジック回路４０は、ホストコントローラＨＣとデバイスＤＥＶ１〜ＤＥＶ４との間のデータ転送制御を行う回路である。具体的には、ハブロジック回路４０は、アップストリームポート回路１０のデータ転送を制御してホストコントローラＨＣとデータの送受信を行う。またハブロジック回路４０は、ダウンストリームポート回路ＤＰ１〜ＤＰ４のデータ転送を制御してデバイスＤＥＶ１〜ＤＥＶ４との間でデータの送受信を行う。なおデバイスＤＥＶ１〜ＤＥＶ４は、例えばＯＴＧ規格のコントローラのように、ホスト動作とデバイス動作が切り替え可能なホスト／デバイスコントローラであってもよい。
【００３４】
例えばハブロジック回路４０は、デバイスの接続や切断の検出処理を行ったり、ホストコントローラＨＣやデバイスＤＥＶ１〜ＤＥＶ４との接続処理や切断処理を行ったり、バスのエラー（fault）の検出処理を行ったり、バスのエラーからの復帰処理を行ったりして、データ転送制御を行う。またハブロジック回路４０は、例えばホストコントローラＨＣからのＨＳトランザクションをＦＳトランザクション（又はＬＳトランザクション）にトランスレート処理してダウンストリームポート回路ＤＰ１〜ＤＰ４に送信する。
【００３５】
ダウンストリームポート回路ＤＰ１〜ＤＰ４はデバイスＤＥＶ１〜ＤＥＶ４（広義には複数のデバイス）に接続するための回路であり、ハブロジック回路４０とデバイスＤＥＶ１〜ＤＥＶ４との間のインターフェース処理を行う。
【００３６】
そして本実施形態では、複数のダウンストリームポート回路ＤＰ１〜ＤＰ４のうちのＤＰ１〜ＤＰ３（広義には第１〜第ｉのダウンストリームポート回路。ｉは自然数）は、ＨＳ対応のダウンストリームポート回路になっている。一方、複数のダウンストリームポート回路ＤＰ１〜ＤＰ４のうちのＤＰ１〜ＤＰ３以外のダウンストリームポート回路ＤＰ４は、ＨＳ非対応であり且つＦＳ対応のダウンストリームポート回路になっている。
【００３７】
例えばＨＳ対応のダウンストリームポート回路ＤＰ１〜ＤＰ３は、上述のアップストリームポート回路１０と同様に、ＵＳＢの論理層回路の一部であるロジック回路と、ＨＳ対応の物理層回路を含む。一方、ＦＳ対応（ＨＳ非対応）のダウンストリームポート回路ＤＰ４は、ＵＳＢの論理層回路の一部であるロジック回路と、ＦＳ対応（ＨＳ非対応）の物理層回路を含む。即ちダウンストリームポート回路ＤＰ１〜ＤＰ３のＨＳ対応の物理層回路は、ＨＳ送信ドライバやＨＳ差動レシーバなどのＨＳ用のアナログ回路を備えるが、ダウンストリームポート回路ＤＰ４のＦＳ対応（ＦＳ限定、ＦＳ及びＬＳ限定）の物理層回路は、これらのＨＳ用のアナログ回路を備えていない。
【００３８】
なお図１では、ＨＳ対応のダウンストリームポート回路を３個設ける場合について示しているが、２個以下や４個以上設けてもよい。またＦＳ対応のダウンストリームポート回路を１個設ける場合について示しているが、２個以上設けてもよい。
【００３９】
図１の本実施形態によれば、アップストリームポート回路１０がＨＳ対応であるのにもかかわらず、ダウンストリームポート回路としてＨＳ対応のＤＰ１〜ＤＰ３とＦＳ対応のＤＰ４を混在させている。このようにすれば、ダウンストリームポート回路の全てに対して、レイアウト面積や消費電力が大きなＨＳ対応の物理層回路を設けなくても済むようになる。従って、ハブへのデバイスの接続個数を増やすために、ダウンストリームのポート数を増やそうとした場合に、それほどレイアウト面積を大きくすることなく、これに対応できる。即ち、レイアウト面積や消費電力の増加を抑えながらダウンストリームのポート数を増やすことが可能になる。
【００４０】
例えば図２に本実施形態の比較例の構成を示す。この比較例のデータ転送制御装置（ハブ）は、ＨＳ対応のアップストリームポート回路３１０とハブロジック回路３４０とダウンストリームポート回路ＤＰＢ１〜ＤＰＢ４を含む。そしてＵＳＢ規格においては、ＨＳ対応のアップストリームポート回路３１０を備えるハブでは、その全てのダウンストリームポート回路がＨＳ対応であることが想定されている。従って、図２の比較例では、ダウンストリームポート回路ＤＰＢ１〜ＤＰＢ４の全てがＨＳ対応になっており、ＤＰＢ１〜ＤＰＢ４にはＨＳ対応の物理層回路が設けられている。このため、ダウンストリームのポート数を増やそうとした場合に、それに伴いレイアウト面積や消費電力が大きくなってしまうという課題がある。
【００４１】
例えば図３（Ａ）に本実施形態のデータ転送制御装置を含む集積回路装置（ＩＣ）のレイアウト配置例を示す。この集積回路装置の外形は、第１の辺ＳＤ１と、第２の辺ＳＤ２と、第１の辺ＳＤ１に対抗する第３の辺ＳＤ３と、第２の辺ＳＤ２に対抗する第４の辺ＳＤ４からなる四角形になっている。
【００４２】
そして集積回路装置の辺ＳＤ１に、アップストリームポート回路１０が配置され、辺ＳＤ２、ＳＤ３、ＳＤ４に複数のダウンストリームポート回路ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４が配置される。具体的にはアップストリームポート回路１０の少なくとも１つの辺は、集積回路装置の辺ＳＤ１に沿って配置される。例えば辺ＳＤ１上に配置される。
【００４３】
一方、ＤＰ１〜ＤＰ４の各ダウンストリームポート回路の少なくとも１つの辺は、集積回路装置の辺ＳＤ２、ＳＤ３、ＳＤ４に沿って配置される。例えば辺ＳＤ２、ＳＤ３、ＳＤ４上に配置される。なお集積回路装置のレイアウト配置は図３（Ａ）に限定されず、種々の変形実施が可能である。例えば図３（Ｂ）のように、アップストリームポート回路１０やダウンストリームポート回路ＤＰ１〜ＤＰ４を集積回路装置のコーナ等に配置してもよい。
【００４４】
例えば図２のような４つのＨＳ対応のダウンストリームポート回路ＤＰＢ１〜ＤＰＢ４を備える比較例では、図３（Ａ）、図３（Ｂ）に示すようなレイアウト配置を実現することは難しい。即ち、上記比較例では、集積回路装置の１つの辺に対して２個以上のＨＳ対応のダウンストリームポート回路を設ける必要があり、ダウンストリームのポート数を増やすのが難しくなる。
【００４５】
これに対して本実施形態では、複数のダウンストリームポート回路のうちの一部が、ＨＳ非対応であるＦＳ対応のダウンストリームポート回路になっている。従って、図３（Ａ）、図３（Ｂ）に示すように、４個目のＦＳ対応のダウンストリームポート回路ＤＰ４を、集積回路装置の辺ＳＤ２、ＳＤ３、ＳＤ４等にレイアウト配置することが容易になる。従って、レイアウト面積や消費電力の増加を抑えながらダウンストリームのポート数を増やして、ハブへのデバイス接続個数を増やすことが可能になる。即ち図２の比較例と比べると、同じポート数で、より低消費電力で低コストな集積回路装置を提供できる。
【００４６】
さて、図１のような構成を採用した場合、ホストコントローラＨＣは、ダウンストリームポート回路ＤＰ４についても、他のダウンストリームポート回路ＤＰ１〜ＤＰ３と同様にＨＳ対応の回路であると認識している。
【００４７】
そこで本実施形態では、適正なハブ動作を実現するために図４（Ａ）、図４（Ｂ）に示す手法を採用している。
【００４８】
例えば図４（Ａ）では、ＦＳ対応のダウンストリームポート回路ＤＰ４に対してＨＳ対応のデバイスＤＥＶ４が接続されている。この場合には後述するように、リセット期間におけるスピードネゴシエーションにおいて、ＨＳ対応のデバイスＤＥＶ４がデバイスチャープ（広義には第１の転送モード対応の通知）を発行する。このようなデバイスチャープが発行された場合に、本実施形態のＦＳ対応のダウンストリームポート回路ＤＰ４（ハブロジック回路）は、デバイスチャープに対してハブチャープ（広義には第１の転送モード対応通知に対する返信通知）を非発行にするスピードネゴシエーションを行う。即ちデバイスＤＥＶ４が発行したデバイスチャープに対して応答せず、ハブチャープを発行しないようにする。このようにすれば、デバイスＤＥＶ４は、自身が接続されたハブは、ＨＳには対応していないハブであると認識するようになる。従って、ダウンストリームポート回路ＤＰ４にＨＳ対応の物理層回路を設けなくても、ダウンストリームポート回路ＤＰ４とデバイスＤＥＶ４との間での適正なデータ転送を実現できる。また、ダウンストリームポート回路ＤＰ４に対して、ＦＳ（ＬＳ）対応のデバイスが接続された場合にも、適正なデータ転送を実現できる。
【００４９】
また、ホストコントローラＨＣは、ハブとの間のスピードネゴシエーションにより、ハブ（アップストリームポート回路１０）がＨＳ対応であると認識している。従ってホストコントローラＨＣは、このＨＳ対応のハブに設けられているダウンストリームポート回路ＤＰ４も、ＨＳ対応であると認識している。
【００５０】
そこで図４（Ｂ）では、アップストリームポート回路１０（ハブロジック回路４０）は、ＦＳ対応のダウンストリームポート回路ＤＰ４に対してＨＳ対応のデバイスＤＥＶ４が接続された場合にも、ダウンストリームポート回路ＤＰ４のバス速度がＦＳであると、ホストコントローラＨＣに対して通知する。このようにすることで、ホストコントローラＨＣとデバイスＤＥＶ４との間でのハブを介した適正なデータ転送を実現できる。
【００５１】
即ち図４（Ａ）では、ＨＳ対応のハブであるのにもかかわらず、擬似的なスピードネゴシエーションを行うことで、ダウンストリームポート回路ＤＰ４がＨＳに非対応である旨を、ＨＳ対応のデバイスＤＥＶ４に対して伝えている。つまり、デバイスＤＥＶ４は、ＨＳに対応していないＦＳ対応のハブに自身が接続されていると認識している。
【００５２】
その一方で、図４（Ｂ）に示すように、ホストコントローラＨＣに対しては、ダウンストリームポート回路ＤＰ４に対して、あたかも、ＨＳに対応していないＦＳ対応のデバイスが接続され、スピードネゴシエーションによりＤＰ４のバス速度がＦＳになったと、通知している。このようにすれば、ホストコントローラＨＣは、あたかも、ＨＳ対応のダウンストリームポート回路に対してＦＳ対応のデバイスが接続されているかのように認識するようになり、ホストコントローラＨＣとデバイスＤＥＶ４との間での適正なデータ転送を実現できる。従って、レイアウト面積や消費電力の増加を抑えながらポート数を増加させることができると共に、適正なデータ転送も実現できるようになる。
【００５３】
２．ＵＳＢのバス確立
次にＵＳＢのバス確立の手順の詳細について説明する。
【００５４】
図１のバス構成において、第１のケースでは、ホストコントローラＨＣとアップストリームポート回路１０との間のＢＵＳ０の結線が行われており、残りのバス構成についてはＢＵＳ１〜ＢＵＳ４が結線された順にバストポロジの更新が行われる。
【００５５】
一方、第２のケースは、ＢＵＳ０〜ＢＵＳ４の全ての結線が行われている状態で、全ての装置が有効にされた場合であり、この場合には、ハブのポート番号順にバストポロジの更新が行われる。
【００５６】
上記の第１、第２のケースのいずれの場合でも、デバイスがバストポロジに組み込まれる手順には変わりはない。従って、以下では接続手順の想定は行わずに、デバイスＤＥＶ１、ＤＥＶ２、ＤＥＶ３、ＤＥＶ４の順にバス要素として組み込まれたものとして説明を行う。図１のバス構成では、まずホストコントローラＨＣとの間のＢＵＳ０の確立が行われ、ＢＵＳ０の確立の前にＢＵＳ１〜ＢＵＳ４の確立が行われることはない。
【００５７】
図５に、ＵＳＢの電源投入時における接続イベントのタイミング波形例を示す。図５のタイミングＴＡ０で、ホスト（ホストコントローラ）がＶＢＵＳ給電を開始し、タイミングＴＡ１で、デバイス（ハブ）がＶＢＵＳを検知する。
【００５８】
次に、タイミングＴＡ２で、デバイス（ハブ）がＤＰをプルアップしてデバイスターミネーションをオンにすることでアタッチが検出される。そしてタイミングＴＡ３で、ホストがＤＰ／ＤＭをモニタして、デバイスの接続を検知する。
【００５９】
次に、タイミングＴＡ４で、ホストがリセットを発行し、ＴＡ４〜ＴＡ５の期間がリセット期間になる。
【００６０】
図６（Ａ）〜図６（Ｃ）に、図５のＴＡ４〜ＴＡ５のリセット期間で行われるスピードネゴシエーションの波形例を示す。図６（Ａ）は、ホストがＦＳ対応であり、デバイス（ハブ）がＨＳ対応である場合の例であり、図６（Ｂ）は、ホスト及びデバイス（ハブ）がＦＳ対応である場合の例であり、図６（Ｃ）は、ホスト及びデバイス（ハブ）がＨＳ対応である場合の例である。
【００６１】
図６（Ａ）〜図６（Ｃ）では、デバイス（ハブ）がスピードネゴシエーションを開始し、ホストがスピードネゴシエーションに応答する。そしてバス速度が確定し、ホストはリセット期間を終了する。
【００６２】
具体的にはタイミングＴＢ０で、デバイス（ハブ）がリセットを検知する。そしてデバイス（ハブ）がＨＳ対応である場合には、ＴＢ１〜ＴＢ２の期間で、デバイスチャープＫを発行する。
【００６３】
ホストがＨＳ対応である場合には、タイミングＴＢ３で、デバイスチャープへの応答としてホストチャープを発行し、タイミングＴＢ４で、デバイス（ハブ）がホストチャープを検知する。
【００６４】
そして図６（Ｃ）のように、タイミングＴＢ５で、スピードネゴシエーションによりＨＳでの接続が確立すると、ターミネーションが切り替えられ、ＨＳモードに移行する。次に、タイミングＴＢ６で、ホストのチャープ送出が終了し、タイミングＴＢ７で、リセット期間が終了する。
【００６５】
以上のような物理的結線の後に論理的結線が行われる。具体的には、エニュメレーションにより、デバイス（ハブ）の機器情報がホストに通知される。そしてホストが、ＵＳＢのドライバ等の組み込みを行い、デバイス（ハブ）の制御を可能にする。
【００６６】
以上の処理により、ホスト（ホストコントローラ）と、ホストによりデバイスとして認識されるハブ（アップストリームポート回路）との間のＢＵＳ０の確立が終了する。例えばハブがＨＳ対応である場合には、図６（Ｃ）のスピードネゴシエーションが行われて、ホストとハブとの間でＨＳでのデータ転送が可能になる。
【００６７】
そして、ホストとハブとの間のＢＵＳ０の確立の後に、ハブとデバイスＤＥＶ１〜ＤＥＶ４との間のＢＵＳ１〜ＢＵＳ４の確立が行われる。この場合にはハブがホストの立場になり、図５、図６（Ａ）〜図６（Ｃ）と同様の以下の手順でバス確立が行われる。
【００６８】
具体的には、ホストが、ハブの各ポートを有効にするようにハブに指示する。そしてホストの立場であるハブが、デバイスに対してＶＢＵＳ給電を開始し（図５のＴＡ０）、デバイスがＶＢＵＳを検知する（ＴＡ１）。
【００６９】
次に、デバイスがＤＰをプルアップしてデバイスターミネーションをオンにする（ＴＡ２）。そしてハブがＤＰ／ＤＭをモニタして、デバイスの接続を検知する（ＴＡ３）。
【００７０】
次に、ハブが、デバイスが接続されたことをホストに通知する。すると、ホストが、ハブに対してバスのリセットを指示する。
【００７１】
次に、図６（Ａ）〜図６（Ｃ）で説明したように、デバイスがスピードネゴシエーションを開始する。そしてハブがスピードネゴシエーションに応答する。
【００７２】
このとき本実施形態では、図４（Ａ）で説明したように、ＦＳ対応のダウンストリームポート回路ＤＰ４に接続されたＨＳ対応のデバイスＤＥＶ４が、デバイスチャープを発行した場合に、デバイスチャープに対してハブチャープを非発行にする。即ち図６（Ａ）のＴＢ１〜ＴＢ２でデバイスＤＥＶ４がデバイスチャープを発行した場合にも、図６（Ａ）のＴＢ３〜ＴＢ６に示すように、ハブチャープを発行しないようにする。これによりＴＢ６に示すように、ダウンストリームポート回路ＤＰ４とデバイスＤＥＶ４とを接続するＢＵＳ４の速度は、ＦＳモードに設定されることになる。
【００７３】
次に、ハブは、ダウンストリームポートのバスのスピードモードをホストに対して通知する。具体的にはハブは、ホストからのGetStatus(PORT)のリクエストに応答して、PortSpeedを返す。
【００７４】
このとき本実施形態では、図４（Ｂ）で説明したように、ダウンストリームポート回路ＤＰ４にＨＳ対応のデバイスが接続された場合にも、ＢＵＳ４の速度がＦＳである旨を、ホストに対して通知する。例えばGetStatus(PORT)のリクエストに対して、not PORT_HIGH_SPEEDやnot PORT_LOW_SPEEDを返す。これによりホストは、ダウンストリームポート回路ＤＰ４に対して、あたかもＦＳ対応のデバイスが接続されたかのように認識するようになる。
【００７５】
そして以上のような物理的結線の後に、上述したような論理的結線が行われ、バスの確立が終了する。
【００７６】
３．変形例
３．１  変形例の構成
次に本実施形態の変形例について説明する。例えば図１では、アップストリームポート回路１０が物理層回路を有し、ホストコントローラＨＣとアップストリームポート回路１０との間で、ＤＰ、ＤＭを用いた差動信号でデータ転送を行う場合について説明した。
【００７７】
しかしながら、このような物理層回路をアップストリームポート回路１０に設けると、レイアウト面積の大規模化や消費電力の増加を招く。そこで、以下に説明する本実施形態の変形例では、このようなアップストリームポート回路１０の物理層回路を省略する手法を採用している。
【００７８】
例えば図７（Ａ）に、本実施形態の変形例の第１の比較例を示す。第１の比較例は、ホストコントローラにトランシーバである物理層回路が内蔵される場合の例である。
【００７９】
具体的には、ハブはトランシーバＰＨＹ＿ＨＵＢ（物理層回路）、ハブロジック回路ＨＵＢ＿ＬＣ、ダウンストリームポート回路ＤＰ１〜ＤＰｎ（ｎは自然数）を含む。トランシーバＰＨＹ＿ＨＵＢには、ＵＳＢを介してホストコントローラのトランシーバＰＨＹ＿ＨＯＳＴが接続される。ハブロジック回路ＨＵＢ＿ＬＣとトランシーバＰＨＹ＿ＨＵＢはＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）規格のバスで接続される。ダウンストリームポート回路ＤＰ１〜ＤＰｎはそれぞれトランシーバを含み、ダウンストリームポート回路ＤＰ１〜ＤＰｎにはＵＳＢを介してデバイスＤＥＶ１〜ＤＥＶｎが接続される。そして、ホストコントローラのリンクコントローラＬＫ＿ＨＯＳＴ（リンク層回路）とハブロジック回路ＨＵＢ＿ＬＣが、ホストコントローラとハブとのインターフェース処理を制御する。また、ハブロジック回路ＨＵＢ＿ＬＣがホストコントローラとデバイスＤＥＶ１〜ＤＥＶｎとのデータ転送を制御する。
【００８０】
図７（Ｂ）に、本実施形態の変形例の第２の比較例を示す。第２の比較例は、ホストコントローラとトランシーバが別チップで構成される場合の例である。
【００８１】
具体的には、ハブのトランシーバＰＨＹ＿ＨＵＢには、ＵＳＢを介してホストコントローラと別チップのトランシーバＰＨＹ＿ＨＯＳＴが接続される。トランシーバＰＨＹ＿ＨＯＳＴとリンクコントローラＬＫ＿ＨＯＳＴはＵＬＰＩ規格のバスで接続される。そして第１の比較例と同様に、ホストコントローラのリンクコントローラＬＫ＿ＨＯＳＴとハブロジック回路ＨＵＢ＿ＬＣが、ホストコントローラとハブとのインターフェースを制御し、ハブロジック回路ＨＵＢ＿ＬＣがホストコントローラとデバイスＤＥＶ１〜ＤＥＶｎとのデータ転送を制御する。
【００８２】
このように第１、第２の比較例では、ハブとホストコントローラとをトランシーバを介して接続する。そのためハブとホストコントローラにそれぞれ物理層回路であるトランシーバが必要となり、ハブとホストコントローラの回路規模が増大するという課題がある。また第２の比較例では、ホストコントローラとトランシーバを別チップで構成する。そのためトランシーバのチップを配線基板に実装する必要があり、実装面積が増大するという課題がある。
【００８３】
図８に本実施形態の変形例のデータ転送制御装置（ハブ）の構成例を示す。このデータ転送制御装置は、アップストリームポート回路１０、ハブロジック回路４０、第１〜第ｎのダウンストリームポート回路６０−１〜６０−ｎ（複数のダウンストリームポート回路。ｎは自然数）を含む。本実施形態では、これらのダウンストリームポート回路６０−１〜６０−ｎのうちの少なくとも１つがＦＳ対応（ＨＳ非対応）の回路になっている。
【００８４】
アップストリームポート回路１０はホストコントローラＨＣに接続され、リンクコントローラＬＫ＿ＨＯＳＴ（リンク層回路）とハブロジック回路４０との間のインターフェース処理を行う。具体的には、アップストリームポート回路１０は第１のインターフェース回路２０を含み、第１のインターフェース回路２０がホストコントローラＨＣのリンクコントローラＬＫ＿ＨＯＳＴとのインターフェース処理を行う。
【００８５】
より具体的には第１のインターフェース回路２０は、トランシーバ（物理層回路）を介さずリンクコントローラＬＫ＿ＨＯＳＴと直接接続される。そしてアップストリームポート回路１０が、ホストコントローラＨＣからハブロジック回路４０へのデータ受信やハブロジック回路４０からホストコントローラＨＣへのデータ送信を行う。またアップストリームポート回路１０がインターフェース信号の変換処理を行う。
【００８６】
例えば第１のインターフェース回路２０は、ＵＬＰＩ規格（UTMI+ Low Pin Interface）のバスでホストコントローラＨＣと接続され、リンクコントローラＬＫ＿ＨＯＳＴとの間のＵＬＰＩのインターフェース処理を行う。またアップストリームポート回路１０は、例えばＵＴＭＩ規格（USB2.0 Transceiver Macrocell Interface。UTMI+規格を含む。）のバスでハブロジック回路４０に接続される。そしてアップストリームポート回路１０は、ＵＬＰＩのインターフェース信号とＵＴＭＩのインターフェース信号の変換処理を行って、データ受信やデータ送信を行う。
【００８７】
第１〜第ｎのダウンストリームポート回路６０−１〜６０−ｎの各々は、第１〜第ｎのデバイスＤＥＶ１〜ＤＥＶｎ（複数のデバイス）のうちの対応するデバイスに接続される。即ち、ダウンストリームポート回路６０−１はデバイスＤＥＶ１と接続され、ダウンストリームポート回路６０−２はデバイスＤＥＶ２と接続され、・・・ダウンストリームポート回路６０−ｎはデバイスＤＥＶｎと接続される。そしてダウンストリームポート回路６０−１〜６０−ｎは、ハブロジック回路４０とデバイスＤＥＶ１〜ＤＥＶｎとの間のインターフェース処理を行う。具体的にはダウンストリームポート回路６０−１〜６０−ｎは、それぞれトランシーバを含み、デバイスＤＥＶ１〜ＤＥＶｎのトランシーバとＵＳＢ規格（Universal Serial Bus。例えばUSB1.1、USB2.0。）のバスで接続され、ＵＳＢのインターフェース処理を行う。
【００８８】
例えばダウンストリームポート回路６０−１〜６０−ｎは、ＵＳＢ規格及びＵＴＭＩ規格に準拠したトランシーバにより構成できる。そしてダウンストリームポート回路６０−１〜６０−ｎは、ハブロジック回路４０からのＵＴＭＩのインターフェース信号を受けてＵＳＢのインターフェース信号を生成し、デバイスに出力する。あるいは、デバイスからのＵＳＢのインターフェース信号を受けてＵＴＭＩのインターフェース信号を生成し、ハブロジック回路４０に出力する。
【００８９】
ここで第１、第２の比較例で説明したように、ハブとホストコントローラとをトランシーバを介して接続した場合には、ハブとホストコントローラの回路規模が増大するという課題があった。またトランシーバで生じるＵＳＢバスの信号ディレイによって、ハブとホストコントローラ間のデータ転送の伝搬遅延が増大するという課題もあった。
【００９０】
この点、図８では、アップストリームポート回路１０が第１のインターフェース回路２０を介してホストコントローラＨＣに接続され、第１のインターフェース回路２０がホストコントローラＨＣのリンクコントローラＬＫ＿ＨＯＳＴとのインターフェース処理を行う。そしてハブロジック回路４０が、ホストコントローラＨＣと複数のダウンストリームポート回路６０−１〜６０−ｎに接続された複数のデバイスＤＥＶ１〜ＤＥＶｎとの間のデータ転送制御を行う。
【００９１】
このように図８では、第１のインターフェース回路２０がトランシーバを介すことなくリンクコントローラＬＫ＿ＨＯＳＴとのインターフェース処理を直接行う。そのため図７（Ａ）、図７（Ｂ）の第１、第２の比較例では必要だったトランシーバＰＨＹ＿ＨＵＢとトランシーバＰＨＹ＿ＨＯＳＴを介すことなく、ハブとホストコントローラＨＣを接続できる。これにより、ハブとホストコントローラからトランシーバを省略して回路規模を削減できる。また第２の比較例と比較して別チップのトランシーバが不要となり配線基板の実装面積を削減できる。そしてトランシーバでのディレイが生じないため、ハブとホストコントローラ間のデータ転送の伝搬遅延を削減することもできる。
【００９２】
またハブロジック回路４０とホストコントローラＨＣとをトランシーバを介してＵＳＢで接続する場合には、ハブ側とホストコントローラ側のクロック周波数差を吸収するために、転送データの同期化が必要であるという課題があった。
【００９３】
この点、図８では、第１のインターフェース回路２０が、ホストコントローラＨＣとＵＬＰＩ規格のバスで接続され、ホストコントローラＨＣのリンクコントローラＬＫ＿ＨＯＳＴとの間のＵＬＰＩのインターフェース処理を行う。そのため、ハブロジック回路４０とホストコントローラＨＣを同期インターフェースであるＵＬＰＩのインターフェースで接続できる。これにより、同期化によるビットロスを削減できる。また、クロック周波数差を吸収するためのバッファリングを行うエラスティシティバッファを省略して回路規模を削減できる。
【００９４】
但し、図８において、第１のインターフェース回路２０が、ホストコントローラＨＣとＵＴＭＩ規格のバスで接続され、ホストコントローラＨＣのリンクコントローラＬＫ＿ＨＯＳＴとの間のＵＴＭＩのインターフェース処理を行うようにしてもよい。これにより、ハブロジック回路４０とホストコントローラＨＣを同期インターフェースであるＵＴＭＩのインターフェースで接続できる。そして、同期化によるビットロスを削減でき、エラスティシティバッファを省略して回路規模を削減できる。
【００９５】
また図８において、第１のインターフェース回路２０がホストコントローラＨＣとＵＬＰＩ規格やＵＴＭＩ規格に準ずる又は同等のバスで接続されてもよい。またアップストリームポート回路１０がハブロジック回路４０とＵＴＭＩ規格のバスで接続されてもよく、ＵＬＰＩ規格のバスで接続されてもよく、ＵＬＰＩ規格やＵＴＭＩ規格に準ずる又は同等のバスで接続されてもよい。
【００９６】
３．２  アップストリームポート回路の構成例
図９に本実施形態の変形例に用いられるアップストリームポート回路１０の構成例を示す。図９のアップストリームポート回路１０は、第１のインターフェース回路２０、第２のインターフェース回路３０、変換回路１００を含み、トランシーバＰＨＹ＿ＨＯＳＴ、ＰＨＹ＿ＨＵＢを介したデータ転送をエミュレーション処理するための回路である。
【００９７】
第１のインターフェース回路２０は、変換回路１００とホストコントローラＨＣとの間のインターフェース処理を行う。具体的には、ＵＬＰＩのインターフェース信号data[7:0]、dir、stp、nxtの入出力を行う。すなわち第１のインターフェース回路２０は、ホストコントローラＨＣからの信号data[7:0]、stpを受けて変換回路１００に出力する。また、変換回路１００からの信号data[7:0]をホストコントローラＨＣに出力し、後述する制御回路１３０からの制御信号を受けて信号dir、nxtをホストコントローラＨＣに対して出力する。例えば第１のインターフェース回路２０は、ＵＬＰＩのバスをドライブして信号data[7:0]、nxt、dirを出力するドライバや、ＵＬＰＩのバスからの信号data[7:0]、stpを受信するレシーバにより構成できる。
【００９８】
第２のインターフェース回路３０は、変換回路１００とハブロジック回路４０との間のインターフェース処理を行う。具体的には、ＵＴＭＩのインターフェース信号DataIn[7:0]、DataOut[7:0]、TXValid、TXReady等の入出力を行う。すなわち第２のインターフェース回路３０は、ハブロジック回路４０からの信号DataIn[7:0]、TXValid、XcvrSelect[1:0]、TermSelect、OpMode[1:0]等を受けて変換回路１００に対して出力する。また、変換回路１００からの信号DataOut[7:0]を受けてハブロジック回路４０に対して出力し、後述する制御回路１３０からの制御信号を受けて信号TXReady、RXActive、RXValid、LineState[1:0]等をハブロジック回路４０に対して出力する。例えば第２のインターフェース回路３０は、第１のインターフェース回路２０と同様にデータドライバやデータレシーバにより構成できる。
【００９９】
変換回路１００は、ホストコントローラＨＣとの間のＵＬＰＩのインターフェース信号とハブロジック回路４０との間のＵＴＭＩのインターフェース信号との変換処理を行う。そして変換回路１００は、受信回路１１０、送信回路１２０、制御回路１３０（バスステートコントローラ）、レジスタ１４０を含む。
【０１００】
受信回路１１０は、ホストコントローラＨＣからの受信データを変換処理してハブロジック回路４０に対して出力する。具体的には受信回路１１０は、ホストコントローラＨＣからのＵＬＰＩの受信データdata[7:0]を受けてハブロジック回路４０に対してＵＴＭＩの受信データDataOut[7:0]を出力する。より具体的には、受信回路１１０はホストコントローラＨＣからの受信データをバッファリングする受信バッファ１１２を有する。そして受信回路１１０は、制御回路１３０からの制御信号に基づいて、受信バッファ１１２への受信データの取り込みやハブロジック回路４０に対する受信データの転送を行う。
【０１０１】
送信回路１２０は、ハブロジック回路４０からの送信データを変換処理してホストコントローラＨＣに対して出力する。具体的には送信回路１２０は、ハブロジック回路４０からのＵＴＭＩの送信データDataIn[7:0]を受けてホストコントローラＨＣに対してＵＬＰＩの送信データdata[7:0]を出力する。より具体的には送信回路１２０は、ハブロジック回路４０からの送信データをバッファリングする送信バッファ１２２を有する。そして送信回路１２０は、制御回路１３０からの制御信号に基づいて、送信バッファ１２２への送信データの取り込みやホストコントローラＨＣに対する送信データの転送を行う。
【０１０２】
制御回路１３０は、インターフェース信号の変換処理を制御する。具体的には、バスの受信状態や送信状態を検出処理することでバス状態を監視する。あるいは、データ転送を制御するためのインターフェース信号を検出処理することでバス状態を監視する。そして監視結果に基づいて、変換処理を制御する。より具体的には、制御回路１３０には、ＵＬＰＩの信号stp、data[7:0]とＵＴＭＩの信号TXValid、DataIn[7:0]、OpMode[1:0]等が入力される。また制御回路１３０には、受信バッファ１１２のバッファリング状態を示す信号が受信回路１１０から入力される。制御回路１３０には、送信バッファ１２２のバッファリング状態を示す信号が送信回路１２０から入力される。そして制御回路１３０は、これらの信号に基づいて、変換回路１００がデータ受信状態かデータ送信状態かを認識する。制御回路１３０は、その認識結果に基づいて受信回路１１０と送信回路１２０を制御する。また制御回路１３０は、第１のインターフェース回路２０を制御してＵＬＰＩの信号nxt、dirを出力させ、第２のインターフェース回路３０を制御してＵＴＭＩの信号TXReady、RXActive、RXValid等を出力させ、インターフェース信号の変換処理を制御する。
【０１０３】
レジスタ１４０は、ホストコントローラＨＣによるトランシーバ(例えば図７（Ａ）、図７（Ｂ）に示すＰＨＹ＿ＨＯＳＴ）の制御をエミュレーション処理するためのレジスタ値を設定する。具体的にはレジスタ１４０は、ＵＬＰＩ規格のバスの信号数の不足を補うために、例えばＵＴＭＩのインターフェース信号をレジスタ値として設定する。例えば、ホストコントローラＨＣからの制御信号としてOpMode[1:0]、XcvrSelect[1:0]、TermSelect等を設定する。あるいは、トランシーバＰＨＹ＿ＨＯＳＴからの信号をエミュレーション処理してLineState[1:0]等を設定する。そしてホストコントローラＨＣは、ＵＬＰＩのバスを介してレジスタ１４０にアクセスすることで、あたかもトランシーバＰＨＹ＿ＨＯＳＴが存在するかのように認識する。また制御回路１３０は、レジスタ１４０を参照してインターフェース信号の変換処理を制御する。
【０１０４】
このように本実施形態によれば、第１のインターフェース回路２０がホストコントローラＨＣとのインターフェース処理を行い、第２のインターフェース回路３０がハブロジック回路４０とのインターフェース処理を行い、変換回路１００が、第１のインターフェース回路２０のインターフェース信号と前記第２のインターフェース回路３０のインターフェース信号の変換処理を行う。
【０１０５】
このようにすれば、トランシーバＰＨＹ＿ＨＯＳＴ、ＰＨＹ＿ＨＵＢの省略を実現できる。すなわち、変換回路１００の変換処理により、トランシーバＰＨＹ＿ＨＯＳＴ、ＰＨＹ＿ＨＵＢを介したホストコントローラＨＣとハブロジック回路４０とのデータ転送のエミュレーション処理を実現できる。具体的には、ホストコントローラＨＣと変換回路１００の間ではトランシーバＰＨＹ＿ＨＯＳＴが存在する場合と同様のインターフェース処理が実現できる。また、変換回路１００とハブロジック回路４０の間ではトランシーバＰＨＹ＿ＨＵＢが存在する場合と同様のインターフェース処理が実現できる。
【０１０６】
また本実施形態によれば、変換回路１００が受信回路１１０と送信回路１２０を有する。そして受信回路１１０が、ホストコントローラＨＣからの受信データをバッファリングする受信バッファ１１２を有し、送信回路１２０が、ホストコントローラＨＣへの送信データをバッファリングする送信バッファ１２２を有する。
【０１０７】
これにより、転送データの変換処理を実現できる。そして、ハブロジック回路４０とホストコントローラＨＣのデータ転送を実現できる。具体的には、受信回路１１０により、ホストコントローラＨＣからハブロジック回路４０への受信データの変換処理を実現できる。また送信回路１２０により、ハブロジック回路４０からホストコントローラＨＣへの送信データの変換処理を実現できる。
【０１０８】
また本実施形態によれば、制御回路１３０が、第１のインターフェース回路２０とホストコントローラＨＣとを接続するバスの状態及び第２のインターフェース回路３０とハブロジック回路４０とを接続するバスの状態を監視する。そして、ホストコントローラＨＣからハブロジック回路４０へのデータ転送の制御とハブロジック回路４０からホストコントローラＨＣへのデータ転送の制御とを行う。
【０１０９】
このようにすれば、バスの状態に基づいてデータ転送を制御できる。すなわち、第１のインターフェース回路２０に接続されるバスの状態に基づいて、ホストコントローラＨＣと変換回路１００のデータ転送を制御できる。また第２のインターフェース回路３０に接続されるバスの状態に基づいて、変換回路１００とハブロジック回路４０のデータ転送を制御できる。
【０１１０】
さらに本実施形態によれば、第１のインターフェース回路２０がホストコントローラＨＣとＵＬＰＩ規格のバスで接続され、ホストコントローラＨＣのリンクコントローラＬＫ＿ＨＯＳＴとの間のＵＬＰＩのインターフェース処理を行う。そして変換回路１００が、ホストコントローラＨＣによるトランシーバＰＨＹ＿ＨＯＳＴの制御をエミュレーション処理するためのレジスタを有する。
【０１１１】
このようにすれば、ホストコントローラＨＣがトランシーバＰＨＹ＿ＨＯＳＴを制御するための信号をレジスタ値として設定できる。これにより、ホストコントローラＨＣによるトランシーバＰＨＹ＿ＨＯＳＴの制御をエミュレーション処理できる。
【０１１２】
３．３  アップストリームポートの信号波形例
図１０に変換処理の第１の信号波形例を示す。第１の信号波形例は、ハブロジック回路４０がホストコントローラＨＣから受信データを受信する場合に、変換回路１００が行う変換処理の信号波形例である。
【０１１３】
図１０のＡ１に示すように、ホストコントローラＨＣがバスdata[7:0]に受信データを出力する。制御回路１３０はそれを検出すると、Ａ２に示すように、第１のインターフェース回路２０を制御して信号nxtをアクティブにする（アサートする、第１の論理レベルにする）。そして、受信バッファ１１２が受信データのバッファリングを開始する。またＡ３に示すように、制御回路１３０が、第２のインターフェース回路３０を制御して信号RXActiveをアクティブにする。
【０１１４】
Ａ４に示すように、制御回路１３０は、受信バッファ１１２に受信データがバッファリングされたことを検出すると、第２のインターフェース回路３０を制御して信号RXValidをアクティブにする。そしてＡ５に示すように、RXActiveとRXValidがアクティブである期間において、ハブロジック回路４０に受信データが転送される。
【０１１５】
Ａ６に示すように、ホストコントローラＨＣが受信データの出力を終了すると、Ａ７に示すように、ホストコントローラＨＣが信号stpをアクティブにし、その後非アクティブにする（ネゲートする。第２の論理レベルにする）。Ａ８に示すように制御回路１３０は、信号stpがアクティブであることを検出すると、第１のインターフェース回路２０を制御して信号nxtを非アクティブにする。
【０１１６】
Ａ９に示すように、制御回路１３０が受信データの転送が終了したことを検出すると、Ａ１０、Ａ１１に示すように、第２のインターフェース回路３０を制御して信号RXActive、RXValidを非アクティブにする。
【０１１７】
なおＡ１２に示すように、データ転送中は、制御回路１３０が第２のインターフェース回路３０を制御して信号LineState[1:0]をJステートにする。
【０１１８】
また、変換回路１００が例えばＨＳモードでデータ転送を行う場合には、変換回路１００にはハブロジック回路４０からXcvrSelect[1:0]=（0,0）、TermSelect=0（０は、Ｌレベル又は第２の論理レベル）が入力される。変換回路１００が例えばトランシーバＰＨＹ＿ＨＵＢのノーマルオペレーションモードをエミュレーション処理する場合には、変換回路１００にはハブロジック回路４０からOpMode[1:0]=（0,0）が入力される。
【０１１９】
図１１に変換処理の第２の信号波形例を示す。第２の信号波形例は、ハブロジック回路４０がホストコントローラＨＣに対して送信データを送信する場合に、変換回路１００が行う変換処理の信号波形例である。
【０１２０】
図１１のＢ１、Ｂ２に示すように、ハブロジック回路４０が信号TXValidをアクティブにし、変換回路１００に対して送信データを出力する。Ｂ３に示すように、制御回路１３０は、信号TXValidがアクティブになったのを受けて、第２のインターフェース回路３０を制御して信号TXReadyをアクティブにする。そして、送信バッファ１２２が送信データのバッファリングを開始する。
【０１２１】
Ｂ４に示すように、制御回路１３０は、信号TXValidがアクティブになったのを受けて、第１のインターフェース回路２０を制御して信号dirをアクティブにする。Ｂ５に示すように、制御回路１３０は、送信バッファ１２２に送信データがバッファリングされたことを検出すると、第１のインターフェース回路２０を制御して信号nxtをアクティブにする。そしてＢ６に示すように送信回路１２０は、ターンアラウンド（turn around）を確保し、RXコマンド（RX CMD）を付加してホストコントローラＨＣに出力する。Ｂ７に示すように、制御回路１３０は、RXコマンドが出力されている期間においてnxtを非アクティブにする。
【０１２２】
なお送信回路１２０は、例えばレジスタ１４０に保持されたレジスタ値VbusState、LineState等を含むデータをRXコマンドとして出力する。送信回路１２０は、信号dirのアクティブ、非アクティブの変化点においてターンアラウンドを確保する。
【０１２３】
Ｂ８、Ｂ９に示すようにハブロジック回路４０は、送信データの出力を終了すると信号TXValidを非アクティブにする。Ｂ１０に示すように制御回路１３０は、信号TXValidが非アクティブになったのを受けて、第２のインターフェース回路２０を制御して信号TXReadyを非アクティブにする。
【０１２４】
Ｂ１１に示すように制御回路１３０は、送信データの転送が終了したことを検出すると、第１のインターフェース回路２０を制御して信号dirを非アクティブにする。Ｂ１２に示すように制御回路１３０は、送信データの転送が終了したことを検出すると、Ｂ１３に示すように、第１のインターフェース回路２０を制御して信号nxtを非アクティブにする。
【０１２５】
なお図１０と同様に信号LineState[1:0]がJステートにされ、変換回路１００には例えばXcvrSelect[1:0]=（0,0）、TermSelect=0、OpMode[1:0]=（0,0）が入力される。
【０１２６】
３．４  ハブロジック回路
図１２にハブロジック回路４０の詳細な構成例を示す。ハブロジック回路４０は、トランザクショントランスレータ２００、ハブリピータロジック回路２１０、ハブステートマシン２２０、ハブコントローラ２３０、ルーティングロジック回路２４０、フレームタイマ２５０を含む。なお本発明のハブロジック回路は、図１２の構成に限定されず、その構成の一部省略したり、他の構成要素を追加する等の種々の変形実施が可能である。
【０１２７】
トランザクショントランスレータ２００は、アップストリームポート回路がホストコントローラとＨＳモードで接続され、ダウンストリームポート回路がデバイスとＦＳモードまたはＬＳモードで接続された場合に、アップストリーム側のＨＳモードのトランザクションとダウンストリーム側のＦＳモードまたはＬＳモードのトランザクションとを変換処理する。
【０１２８】
ハブリピータロジック回路２１０は、アップストリームポート回路に接続されたホストコントローラとダウンストリームポート回路に接続されたデバイスのデータ転送速度のモードが同じ場合に、データ転送を行う。
【０１２９】
ハブステートマシン２２０は、ハブのステートを制御する。例えば、ポートとデバイスの接続や切断を検出処理する。あるいは、ポートのリセットや停止、復帰を制御する。
【０１３０】
ハブコントローラ２３０は、ハブとホストコントローラの通信を制御する。例えばエニュメレーションを行って、ハブのリソース情報や設定等をホストコントローラと交換する。また例えば、ホストコントローラからのリクエストを処理する。
【０１３１】
ルーティングロジック回路２４０は、トランザクショントランスレータ２００と各ダウンストリームポート回路とを接続する。あるいはルーティングロジック回路２４０は、ハブリピータ回路２１０と各ダウンストリームポート回路とを接続する。
【０１３２】
フレームタイマ２５０は、アップストリーム側のフレームとダウンストリーム側のフレームとの同期を取り、フレームインターバルの制御を行う。
【０１３３】
４．電子機器
図１３に本実施形態のデータ転送制御装置（ハブ）が適用される電子機器の構成例を示す。例えば本実施形態のハブは、パソコン（PC:Personal Computer）、家庭用ゲーム機、カーナビゲーションシステム、プリンタ、テレビ、デジタルフォトフレーム、AVレコーダ／プレーヤ等の電子機器に適用できる。
【０１３４】
図１３の構成例は、ハブ５００、ＣＰＵ５１０（ホストコントローラ）、デバイス５２０−１〜５２０−３、ＲＯＭ５３０（Read Only Memory）、ＲＡＭ５４０（Random Access Memory）、表示部５５０、操作部５６０を含む。
【０１３５】
ハブ５００とＣＰＵ５１０はＵＬＰＩのバスを介して通信する。ハブ５００とデバイス５２０−１〜５２０−３はＵＳＢを介して通信する。ＣＰＵ５１０とＲＯＭ５３０、ＲＡＭ５４０、表示部５５０、操作部５６０はＣＰＵバスを介して通信する。表示部５５０は、例えば液晶パネル、ＥＬ（Electro Luminescence）パネル等で構成される。操作部５６０は、例えばマウス、キーボード、タッチパネル、ゲームコントローラ、赤外線受信部等で構成される。
【０１３６】
ハブ５００にはデバイス５２０−１〜５２０−３として、例えばＨＤＤ（Hard Disk Drive）、ＤＶＤドライブ、ＣＤドライブ等の内蔵デバイスが接続される。あるいは、操作部５６０がＵＳＢを介してハブ５００に接続されてもよい。また、ＵＳＢメモリ、携帯オーディオプレーヤ、デジタルカメラ等の外付けのデバイスがＵＳＢポートを介してハブ５００に接続されてもよい。
【０１３７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語（第１の転送モード、第２の転送モード、第１の転送モード対応通知、返信通知等）と共に記載された用語（ＨＳモード、ＦＳモード、デバイスチャープ、ハブチャープ等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、データ転送制御装置、アップストリームポート回路、ハブロジック回路、ダウンストリームポート回路、電子機器等の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。また本実施形態では、ＵＬＰＩ、ＵＴＭＩ、ＵＳＢ２．０規格への本発明の適用例について説明したが、本発明は、これらの規格と同様の思想に基づく規格や、これらの規格を発展させた規格等にも適用できる。例えば本実施形態では、第１の転送モードがＵＳＢのＨＳモードであり、第２の転送モードがＵＳＢのＦＳモードである場合について説明したが、本発明の第１、第２の転送モードは、このようなＨＳモード、ＦＳモードに限定されず、種々の規格等に拡張して適用できる。同様に第１の転送モード対応通知とその返信通知も、ＵＳＢにおけるデバイスチャープやハブチャープには限定されず、種々の規格等に拡張して適用できる。
【図面の簡単な説明】
【０１３８】
【図１】本実施形態のデータ転送制御装置の構成例。
【図２】本実施形態の比較例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態の集積回路装置のレイアウト配置例。
【図４】図４（Ａ）、図４（Ｂ）は本実施形態の手法の説明図。
【図５】ＵＳＢの電源投入時における接続イベントのタイミング波形例。
【図６】図６（Ａ）〜図６（Ｃ）はスピードネゴシエーションの波形例。
【図７】図７（Ａ）、図７（Ｂ）は本実施形態の変形例の第１、第２の比較例。
【図８】本実施形態のデータ転送制御装置の変形例。
【図９】変形例のアップストリームポート回路の構成例。
【図１０】変換処理の第１の信号波形例。
【図１１】変換処理の第２の信号波形例。
【図１２】ハブロジック回路の構成例。
【図１３】電子機器の構成例。
【符号の説明】
【０１３９】
ＨＣ  ホストコントローラ、ＤＰ１〜ＤＰ４  ダウンストリームポート回路、
ＤＥＶ１〜ＤＥＶ４  デバイス、ＬＫ＿ＨＯＳＴ  リンクコントローラ、
ＰＨＹ＿ＨＯＳＴ、ＰＨＹ＿ＨＵＢ  トランシーバ
１０  アップストリームポート回路、２０  第１のインターフェース回路、
４０  ハブロジック回路、６０−１〜６０−ｎ  ダウンストリームポート回路、
１００  変換回路、１１０  受信回路、１１２  受信バッファ、
１２０  送信回路、１２２  送信バッファ、１３０  制御回路、１４０  レジスタ、
２００  トランザクショントランスレータ、２１０  ハブリピータロジック回路、
２２０  ハブステートマシン、２３０  ハブコントローラ、
２４０  ルーティングロジック回路、２５０  フレームタイマ、
５００  データ転送制御装置、５１０  ＣＰＵ、５２０−１〜５２０−３  デバイス、
５３０  ＲＯＭ、５４０  ＲＡＭ、５５０  表示部、５６０  操作部
【図１】
2010088068.tif 000003
【図２】
2010088068.tif 000004
【図３】
2010088068.tif 000005
【図４】
2010088068.tif 000006
【図５】
2010088068.tif 000007
【図６】
2010088068.tif 000008
【図７】
2010088068.tif 000009
【図８】
2010088068.tif 000010
【図９】
2010088068.tif 000011
【図１０】
2010088068.tif 000012
【図１１】
2010088068.tif 000013
【図１２】
2010088068.tif 000014
【図１３】
2010088068.tif 000015