(57)【要約】【課題】  ＶＢＵＳ給電の交代を実現できるデータ転送制御装置及び電子機器の提供。【解決手段】  転送コントローラ１０は、ＶＢＵＳ給電の交代要求パケットを、Ｂプラグ接続側（Ｂデバイス側）に送信し、ＶＢＵＳ給電の交代承諾パケットを受信した場合には、ＶＢＵＳ給電の停止を給電スイッチ回路３０に指示する。ＶＢＵＳ給電の停止前にＶＢＵＳ電圧レベルの監視を停止する。転送コントローラ５０は、ＶＢＵＳ給電の交代要求パケットをＡプラグ接続側（Ａデバイス側）から受信し、交代を承諾する場合には、ＶＢＵＳ給電の交代承諾パケットを送信し、ＶＢＵＳ給電の開始を給電スイッチ回路７０に指示する。ＶＢＵＳ給電の開始前に、ＶＢＵＳ電圧レベルの監視を停止する。コントロール転送により交代要求パケットや交代承諾パケットを送信する。【選択図】        図３
2005149293.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Universal Serial Bus）を介したデータ転送のためのデータ転送制御装置であって、
データ転送を制御する転送コントローラと、
ＵＳＢのＶＢＵＳラインへの電源給電のスイッチ制御を行う給電スイッチ回路とを含み、
前記転送コントローラが、
データ転送制御装置がＵＳＢのＡプラグ接続側のデータ転送制御装置であってＶＢＵＳ給電を行っている場合に、ＶＢＵＳ給電の交代要求パケットをＢプラグ接続側のデータ転送制御装置に送信し、Ｂプラグ接続側のデータ転送制御装置からＶＢＵＳ給電の交代承諾パケットを受信した場合には、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示することを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
ＶＢＵＳの電圧レベルを監視する監視回路を含み、
前記転送コントローラが、
ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項３】
請求項２において、
前記転送コントローラが、
ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後にＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
Ｂプラグ接続側のデータ転送制御装置がＶＢＵＳ給電を行っている場合に、
Ｂプラグ接続側のデータ転送制装置によるＶＢＵＳ給電を停止することを上層により指示された場合又はＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、前記転送コントローラが、ＶＢＵＳ給電の停止命令パケットをＢプラグ接続側のデータ転送制御装置に送信し、ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示することを特徴とするデータ転送制御装置。
【請求項５】
請求項４において、
ＶＢＵＳの電圧レベルを監視する監視回路を含み、
前記転送コントローラが、
ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項６】
請求項５において、
前記転送コントローラが、
ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記転送コントローラが、
前記交代要求パケットをＵＳＢのコントロール転送を用いて送信することを特徴とするデータ転送制御装置。
【請求項８】
ＵＳＢ（Universal Serial Bus）を介したデータ転送のためのデータ転送制御装置であって、
データ転送を制御する転送コントローラと、
ＵＳＢのＶＢＵＳラインへの電源給電のスイッチ制御を行う給電スイッチ回路とを含み、
前記転送コントローラが、
データ転送制御装置がＵＳＢのＢプラグ接続側のデータ転送制御装置でありＡプラグ接続側のデータ転送制御装置がＶＢＵＳ給電を行っている場合に、ＶＢＵＳ給電の交代要求パケットをＡプラグ接続側のデータ転送制御装置から受信し、交代を承諾する場合には、ＶＢＵＳ給電の交代承諾パケットをＡプラグ接続側のデータ転送制御装置に送信し、ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示することを特徴とするデータ転送制御装置。
【請求項９】
請求項８において、
ＶＢＵＳの電圧レベルを監視する監視回路を含み、
前記転送コントローラが、
ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項１０】
請求項９において、
前記転送コントローラが、
ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項１１】
請求項８乃至１０のいずれかにおいて、
データ転送制御装置がＢプラグ接続側としてＶＢＵＳ給電を行っている場合に、
ＶＢＵＳ給電の停止命令パケットをＡプラグ接続側のデータ転送制御装置から受信した場合又はＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示することを特徴とするデータ転送制御装置。
【請求項１２】
請求項１１において、
ＶＢＵＳの電圧レベルを監視する監視回路を含み、
前記転送コントローラが、
ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項１３】
請求項１２において、
前記転送コントローラが、
ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示することを特徴とするデータ転送制御装置。
【請求項１４】
請求項８乃至１３のいずれかにおいて、
前記転送コントローラが、
前記交代承諾パケットをＵＳＢのコントロール転送を用いて送信することを特徴とするデータ転送制御装置。
【請求項１５】
請求項１乃至１４のいずれかのデータ転送制御装置と、
前記データ転送制御装置を制御する処理部と、
を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、及び電子機器に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータと電子機器（周辺機器）とを接続するためのインターフェース規格としてＵＳＢ（Universal Serial Bus)規格が注目を集めている。このＵＳＢは、データラインの他にＶＢＵＳラインと呼ばれる電源ラインを持つという特徴がある。そしてＵＳＢ規格では、Ａプラグが接続された側がＶＢＵＳラインを使用して電源給電を行うことが規格上義務づけられている。
【０００３】
しかしながら、携帯電話などの携帯型電子機器では、電池駆動で動作するのが一般的である。従ってその電池の消耗を考慮すると、Ａプラグが接続された側であっても、携帯型電子機器が電源給電を行うことは避けた方が望ましい。
【特許文献１】特開２００２−３４４５３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ＶＢＵＳ給電の交代を実現できるデータ転送制御装置、及び電子機器を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、ＵＳＢ（Universal Serial Bus）を介したデータ転送のためのデータ転送制御装置であって、データ転送を制御する転送コントローラと、ＵＳＢのＶＢＵＳラインへの電源給電のスイッチ制御を行う給電スイッチ回路とを含み、前記転送コントローラが、データ転送制御装置がＵＳＢのＡプラグ接続側のデータ転送制御装置であってＶＢＵＳ給電を行っている場合に、ＶＢＵＳ給電の交代要求パケットを、Ｂプラグ接続側のデータ転送制御装置に送信し、Ｂプラグ接続側のデータ転送制御装置からＶＢＵＳ給電の交代承諾パケットを受信した場合には、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示するデータ転送制御装置に関係する。
【０００６】
本発明では、ＶＢＵＳ給電の交代を要求するパケットが、Ｂプラグ接続側のデータ転送制御装置（転送コントローラ）に送信される。そしてＢプラグ接続側のデータ転送制御装置から、ＶＢＵＳ給電の交代を承諾するパケットが受信されると、Ａプラグ接続側の給電スイッチ回路によるＶＢＵＳ給電が停止される。このようにすることで、ＶＢＵＳ給電をＡプラグ接続側からＢプラグ接続側に、ネゴシエーションにより交代することが可能になる。従って例えばＡプラグ接続側の電子機器が電池駆動で動作し、Ｂプラグ接続側の電子機器がＡＣ電源で動作する場合などにおいて、Ａプラグ接続側の電子機器の電池の消耗を抑制でき、ユーザの利便性を高めることができる。なおＡプラグ接続側のデータ転送制御装置とは、Ａプラグが接続される電子機器に含まれるデータ転送制御装置を意味し、Ｂプラグ接続側のデータ転送制御装置とは、Ｂプラグが接続される電子機器に含まれるデータ転送制御装置を意味する。またデータ転送制御装置は通常のＵＳＢ規格に準拠したデータ転送を行うものであってもよいし、いわゆるＯＴＧ（ＵＳＢ Ｏｎ−Ｔｈｅ−Ｇｏ）に準拠したデータ転送を行うものであってもよい。
【０００７】
また本発明では、ＶＢＵＳの電圧レベルを監視する監視回路を含み、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示するようにしてもよい。
【０００８】
即ちＶＢＵＳ給電（ＶＢＵＳ給電権）の交代のためにＡプラグ接続側がＶＢＵＳ給電を停止すると、Ｂプラグ接続側がＶＢＵＳ給電を正常に開始するまでの間、ＶＢＵＳ電圧レベルの異常状態が監視回路により誤って検出される事態が生じるおそれがある。本発明によればこのような事態を回避できる。
【０００９】
また本発明では、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後にＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示するようにしてもよい。
【００１０】
このようにすれば、Ｂプラグ接続側のＶＢＵＳ給電によりＶＢＵＳ電圧レベルが安定するのを待ってから、Ｂプラグ接続側によるＶＢＵＳ給電を、Ａプラグ側の監視回路を用いて適正に監視できるようになる。
【００１１】
また本発明では、Ｂプラグ接続側のデータ転送制御装置がＶＢＵＳ給電を行っている場合に、Ｂプラグ接続側のデータ転送制装置によるＶＢＵＳ給電を停止することを上層により指示された場合又はＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、前記転送コントローラが、ＶＢＵＳ給電の停止命令パケットをＢプラグ接続側のデータ転送制御装置に送信し、ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示するようにしてもよい。
【００１２】
このようにすれば、アプリケーションプログラムやデータ転送制御装置を制御するファームウェアなどの上層から指示があった場合や、ＶＢＵＳ電圧レベルが異常状態になった場合に、Ｂプラグ接続側によるＶＢＵＳ給電を停止し、Ａプラグ接続側の給電スイッチ回路によるＶＢＵＳ給電を再開できる。
【００１３】
また本発明では、ＶＢＵＳの電圧レベルを監視する監視回路を含み、前記転送コントローラが、ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示するようにしてもよい。
【００１４】
このようにＶＢＵＳ給電の再開前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。
【００１５】
また本発明では、前記転送コントローラが、ＶＢＵＳ給電の再開を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示するようにしてもよい。
【００１６】
このようにウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ａプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００１７】
また本発明では、前記転送コントローラが、前記交代要求パケットをＵＳＢのコントロール転送を用いて送信するようにしてもよい。
【００１８】
なおコントロール転送以外の転送方式で、交代要求パケットを送信するようにしてもよい。
【００１９】
また本発明は、ＵＳＢ（Universal Serial Bus）を介したデータ転送のためのデータ転送制御装置であって、データ転送を制御する転送コントローラと、ＵＳＢのＶＢＵＳラインへの電源給電のスイッチ制御を行う給電スイッチ回路とを含み、前記転送コントローラが、データ転送制御装置がＵＳＢのＢプラグ接続側のデータ転送制御装置でありＡプラグ接続側のデータ転送制御装置がＶＢＵＳ給電を行っている場合に、ＶＢＵＳ給電の交代要求パケットをＡプラグ接続側のデータ転送制御装置から受信し、交代を承諾する場合には、ＶＢＵＳ給電の交代承諾パケットをＡプラグ接続側のデータ転送制御装置に送信し、ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示するデータ転送制御装置に関係する。
【００２０】
本発明では、Ａプラグ接続側のデータ転送制御装置（転送コントローラ）からＶＢＵＳ給電の交代要求パケットが受信され、交代を承諾する場合には、ＶＢＵＳ給電の交代承諾パケットがＡプラグ接続側のデータ転送制御装置（転送コントローラ）に送信される。そしてＢプラグ接続側の給電スイッチ回路によるＶＢＵＳ給電が開始される。このようにすることで、ＶＢＵＳ給電をＡプラグ接続側からＢプラグ接続側に、ネゴシエーションにより交代することが可能になる。従って例えばＡプラグ接続側の電子機器が電池駆動で動作し、Ｂプラグ接続側の電子機器がＡＣ電源で動作する場合などにおいて、Ａプラグ接続側の電子機器の電池の消耗を抑制でき、ユーザの利便性を高めることができる。
【００２１】
また本発明では、ＶＢＵＳの電圧レベルを監視する監視回路を含み、前記転送コントローラが、ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示するようにしてもよい。
【００２２】
このようにＶＢＵＳ給電の開始前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。
【００２３】
また本発明では、前記転送コントローラが、ＶＢＵＳ給電の開始を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示するようにしてもよい。
【００２４】
このようにウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ｂプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００２５】
また本発明では、データ転送制御装置がＢプラグ接続側としてＶＢＵＳ給電を行っている場合に、ＶＢＵＳ給電の停止命令パケットをＡプラグ接続側のデータ転送制御装置から受信した場合又はＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示するようにしてもよい。
【００２６】
このようにすれば、ＶＢＵＳ給電の停止命令パケットを受信した場合や、ＶＢＵＳ電圧レベルが異常状態になった場合に、Ｂプラグ接続側によるＶＢＵＳ給電を停止できる。
【００２７】
また本発明では、ＶＢＵＳの電圧レベルを監視する監視回路を含み、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示する前に、ＶＢＵＳ電圧レベルの監視の停止を前記監視回路に指示するようにしてもよい。
【００２８】
このようにＶＢＵＳ給電の停止前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。
【００２９】
また本発明では、前記転送コントローラが、ＶＢＵＳ給電の停止を前記給電スイッチ回路に指示した後、ウェイト処理を行い、その後に、ＶＢＵＳ電圧レベルの監視の再開を前記監視回路に指示するようにしてもよい。
【００３０】
このようにウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ａプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００３１】
また本発明では、前記転送コントローラが、前記交代承諾パケットをＵＳＢのコントロール転送を用いて送信するようにしてもよい。
【００３２】
なおコントロール転送以外の転送方式で、交代承諾パケットを送信するようにしてもよい。
【００３３】
また本発明は、上記のいずれかのデータ転送制御装置と、前記データ転送制御装置を制御する処理部とを含む電子機器に関係する。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３５】
１．Ａプラグ、Ｂプラグ
ＵＳＢではコネクタの規格として図１（Ａ）に示すようなＡプラグ、Ｂプラグ（第１、第２のプラグ）が定義されている。またＡプラグが挿入可能な構造を有するＡレセプタクルとＢプラグが挿入可能な構造を有するＢレセプタクルが定義されている。またコネクタ形状を小型化するために、Mini-Ａプラグ、Mini-Ｂプラグ、Mini-Ａレセプタクル、Mini-Ｂレセプタクルが定義されている。更に、ペリフェラル（ＵＳＢデバイス）に簡易ホスト機能を持たせることができるＯＴＧ（ＵＳＢ Ｏｎ−Ｔｈｅ−Ｇｏ）では、Mini-Ａプラグ及びMini-Ｂプラグの両方が挿入可能な構造を有するMini-ＡＢレセプタクルが定義されている。
【００３６】
ＵＳＢではＡプラグ（Mini-Ａプラグ）に接続された側が、Ｂプラグ（Mini-Ｂプラグ）に接続された側に対してＶＢＵＳ給電を行う。従って図１（Ｂ）では、Ａプラグ接続側の電子機器（データ転送制御装置）が、Ｂプラグ接続側の電子機器（データ転送制御装置）にＶＢＵＳ給電を行うことになる。
【００３７】
なお通常のＵＳＢでは、Ａプラグはホスト（ＵＳＢホスト）に接続され、ＢプラグはＵＳＢデバイス（ペリフェラル）に接続される。これに対して、ＯＴＧでは、Ａプラグ接続側はＡデバイスと呼ばれ、Ｂプラグ接続側はＢデバイスと呼ばれる。そしてデフォルト状態では、Ａデバイスがホストになり、Ｂデバイスがペリフェラル（ＵＳＢデバイス）になるが、ホスト交換手順ＨＮＰ（Host Negotiation Protocol）を用いることでホストとペリフェラルの役割を交換できる。従ってＡプラグに接続されたＡデバイスがペリフェラルになり、Ｂプラグに接続されたＢデバイスがホストになることも可能となり、いわゆるデュアルロールデバイスを実現できる。
【００３８】
またＯＴＧでは、Ｍｉｎｉ−ＡＢレセプタクルに挿入されたプラグの種類を判別するため、図１（Ｃ）に示すように、ＶＢＵＳ、Ｄ＋／−、ＧＮＤの端子に加えてＩＤ端子が定義されている。Ｍｉｎｉ−ＡプラグではＩＤ端子がＧＮＤに接続され、Ｍｉｎｉ−ＢプラグではＩＤ端子がオープン状態になる。従って、このＩＤ端子を用いて、Ｍｉｎｉ−ＡＢレセプタクルに挿入されたプラグが、Ｍｉｎｉ−ＡプラグなのかＭｉｎｉ−Ｂプラグなのかを判別できる。
【００３９】
２．ＶＢＵＳ給電の交代のネゴシエーション
上述のようにＵＳＢではＡプラグ接続側がＢプラグ接続側にＶＢＵＳ給電を行うことが規格上義務づけられている。例えば図２（Ａ）において、携帯型電子機器であるデジタルカメラ３００は、通常はＵＳＢのＡレセプタクル（Mini-Ａレセプタクル、Mini-ＡＢレセプタクル）を備えており、ＵＳＢケーブルのＡプラグが接続される。一方、プリンタ３１０などの電子機器は、通常はＵＳＢのＢレセプタクルを備えており、ＵＳＢケーブルのＢプラグが接続される。従ってこの場合には、Ａプラグ接続側（Ａデバイス側）であるデジタルカメラ３００が、Ｂプラグ接続側（Ｂデバイス側）であるプリンタ３１０に対してＶＢＵＳ給電（ＶＢＵＳラインへの電源供給）を行わなければならない。
【００４０】
ところが、デジタルカメラ３００は通常は電池駆動であるため、デジタルカメラ３００側がＶＢＵＳ給電を行うと、電池を直ぐに消耗してしまい、ユーザの利便性に欠ける。一方、プリンタ３１０はＡＣ電源を備えているため、プリンタ３１０がＶＢＵＳ給電を行うことにはあまり問題がない。
【００４１】
そこで本実施形態では、ＶＢＵＳ給電を行う側をネゴシエーションにより決定して交代する手法を採用している。即ちアプリケーションプログラムやフォームウェアなどがＶＢＵＳ給電の交代についてのネゴシエーションを指示すると、Ａプラグ接続側とＢプラグ接続側のいずれによりＶＢＵＳ給電を行うかについてのネゴシエーションが開始される。そして、このネゴシエーションにより、ＶＢＵＳの給電側が決定され、その給電側によりＶＢＵＳ給電が行われる。このようにすることで、図２（Ｂ）に示すように、ＡＣ電源を備えるプリンタ３１０がデジタルカメラ３００にＶＢＵＳ給電を行うことが可能になり、デジタルカメラ３００の電池消耗を抑制できるようになる。
【００４２】
３．構成
図３に本実施形態の手法を実現できるデータ転送制御装置の構成例を示す。Ａプラグ接続側（Ａデバイス側）のデータ転送制御装置（Ａプラグに接続される電子機器に含まれるデータ転送制御装置）は、転送コントローラ１０、給電スイッチ回路３０、監視回路４０を含む。ここで転送コントローラ１０はＵＳＢを介したデータ転送を制御するためのコントローラであり、トランシーバ１２、ＳＩＥ（Serial Interface Engine）１４、データバッファ１６、ＶＢＵＳコントローラ１８、処理部２０（ＣＰＵ）を含む。なおこれらの機能（回路）ブロックの一部を省略した構成にしてもよい。
【００４３】
トランシーバ１２は、差動データ信号Ｄ＋、Ｄ−を用いてＵＳＢのデータを送受信する回路であり、ＵＳＢの物理層回路を含む。より具体的にはトランシーバ１２は、Ｄ＋、Ｄ−のラインステート（Ｊ、Ｋ、ＳＥ０等）の生成、シリアル／パラレル変換、パラレル／シリアル変換、ビットスタッフィング、ビットアンスタッフィング、ＮＲＺＩデコード、ＮＲＺＩエンコードなどを行う。
【００４４】
ＳＩＥ１４は、ＵＳＢのパケット転送のための種々の処理を行う回路である。このＳＩＥ１４には、図示しないパケットハンドラ回路、サスペンド＆レジューム制御回路、トランザクション管理回路などを含めることができる。
【００４５】
データバッファ１６は、ＵＳＢを介して転送されるデータ（送信データ又は受信データ）を一時的に格納（バッファリング）するためバッファ（ＦＩＦＯ）である。このデータバッファ１６はＲＡＭ（Random Access Memory）などのメモリにより構成できる。
【００４６】
ＶＢＵＳコントローラ１８はＶＢＵＳ給電やＶＢＵＳ電圧レベル監視のためのコントローラである。具体的にはＶＢＵＳコントローラ１８は、給電スイッチ回路３０でのＶＢＵＳ給電を制御したり、監視回路４０でのＶＢＵＳ電圧監視を制御する。
【００４７】
処理部２０（ＣＰＵ）は、転送コントローラ１０内の各回路ブロックを制御したり、データ転送制御のためのソフトウェア処理を行う。この処理部２０は、ＶＢＵＳ給電の交代のネゴシエーション処理を行うネゴシエーション部２２を含む。このネゴシエーション部２２の機能は、ＣＰＵ（プロセッサ）などのハードウェアと、ファームウェアやアプリケーションプログラムなどのソフトウェアにより実現される。
【００４８】
給電スイッチ回路３０は、ＶＢＵＳラインへの電源給電のスイッチ制御を行う回路である。具体的には給電スイッチ回路３０は、トランジスタ等で構成されるスイッチ素子ＳＡを含む。そしてＶＢＵＳコントローラ１８からのスイッチ信号ＳＳＡがアクティブになるとスイッチ素子ＳＡがオンになり、電源ＶＣＣがＶＢＵＳラインに接続される。これによりＶＣＣによるＶＢＵＳ給電が開始される。一方、スイッチ信号ＳＳＡが非アクティブになるとスイッチ素子ＳＡがオフになり、電源ＶＣＣとＶＢＵＳラインの間の接続が遮断される。これによりＶＢＵＳ給電が停止される。なお電源ＶＣＣは、電池（充電式蓄電池）により供給することもできるし、ＡＣ電源により供給することもできる。
【００４９】
監視回路４０はＶＢＵＳの電圧レベルを監視する回路である。具体的には監視回路４０はコンパレータＣＰＡを含む。このコンパレータＣＰＡはＶＢＵＳ電圧レベルと基準電圧レベルＶＲ（例えば４．４Ｖなどの動作有効電圧レベル）とを比較し、ＶＢＵＳ電圧レベルがＶＲよりも低くなると、検出信号ＶＤＡをアクティブにする。
【００５０】
例えばＵＳＢ（ＯＴＧ）では、電流供給能力の低いローパワーデバイスの場合には、ＶＢＵＳ電圧レベルを４．４Ｖ〜５．２５Ｖの範囲に維持しなければならない。また電流供給能力の高いハイパワーデバイスの場合には、ＶＢＵＳ電圧レベルを４．７５Ｖ〜５．２５Ｖの範囲に維持しなければならない。従って、いずれにせよＶＢＵＳ電圧レベルが４．４Ｖ（動作有効電圧レベル）よりも小さくなった状態は異常状態であり、監視回路４０はＶＢＵＳの電圧レベルを監視して、この異常状態を検出し、検出信号ＶＤＡをアクティブにする。
【００５１】
Ｂプラグ接続側（Ｂデバイス側）のデータ転送制御装置（Ｂプラグに接続される電子機器に含まれるデータ転送制御装置）は、転送コントローラ５０、給電スイッチ回路７０、監視回路８０を含む。また転送コントローラ５０は、トランシーバ５２、ＳＩＥ５４、データバッファ５６、ＶＢＵＳコントローラ５８、処理部６０（ＣＰＵ）を含む。なおこれらの機能（回路）ブロックの一部を省略した構成にしてもよい。これらのＢプラグ接続側の転送コントローラ５０、トランシーバ５２、ＳＩＥ５４、データバッファ５６、ＶＢＵＳコントローラ５８、処理部６０、給電スイッチ回路７０、監視回路８０等の構成及び動作は、Ａプラグ接続側の転送コントローラ１０、トランシーバ１２、ＳＩＥ１４、データバッファ１６、ＶＢＵＳコントローラ１８、処理部２０、給電スイッチ回路３０、監視回路４０等の構成及び動作と、ネゴシエーション処理などを除いてほぼ同様であるため、説明を省略する。
【００５２】
なおＡプラグ接続側やＢプラグ接続側のデータ転送制御装置をＵＳＢのＯＴＧ規格に準拠させる場合には、ホストの役割として動作するホスト動作のステートとペリフェラルの役割として動作するペリフェラル動作のステートを含む複数のステートの制御を行うステートコントローラと、ホスト動作時においてホストとしてのデータ転送を行うホストコントローラと、ペリフェラル動作時においてペリフェラルとしてのデータ転送を行うペリフェラルコントローラを、データ転送制御装置に含ませればよい。
【００５３】
４．動作
次に本実施形態のデータ転送制御装置の動作の概要について説明する。本実施形態ではＡプラグ接続側（Ａデバイス側）の転送コントローラ１０が、ＶＢＵＳ給電の交代時に、ＶＢＵＳ給電の交代要求パケットをＢプラグ接続側（Ｂデバイス側）のデータ転送制御装置（転送コントローラ５０）に送信する。そしてＢプラグ接続側のデータ転送制御装置（転送コントローラ５０）からＶＢＵＳ給電の交代承諾パケットを受信した場合には、転送コントローラ１０は、ＶＢＵＳ給電の停止を給電スイッチ回路３０に指示する。
【００５４】
具体的には、転送コントローラ１０のトランシーバ１２、ＳＩＥ１４などが、例えばＵＳＢのコントロール転送により、交代要求パケットの送信や交代承諾パケットの受信を行う。そして交代承諾パケットが受信されると、ＶＢＵＳコントローラ１８がスイッチ信号ＳＳＡを非アクティブにして、スイッチ素子ＳＡをオフにする。これにより、Ａプラグ接続側によるＶＢＵＳ給電が停止される。なお、これらの一連のネゴシエーション処理はネゴシエーション部２２の制御のもとで行われる。
【００５５】
一方、Ｂプラグ接続側の転送コントローラ５０は、ＶＢＵＳ給電の交代要求パケットをＡデイバス側のデータ転送制御装置（転送コントローラ１０）から受信する。そしてＶＢＵＳ給電の交代を承諾する場合には、ＶＢＵＳ給電の交代承諾パケットをＡプラグ接続側のデータ転送制御装置（転送コントローラ１０）に送信する。そしてＶＢＵＳ給電の開始を給電スイッチ回路７０に指示する。
【００５６】
具体的には、転送コントローラ５０のトランシーバ５２、ＳＩＥ５４などが、例えばＵＳＢのコントロール転送により、交代要求パケットの受信や交代承諾パケットの送信を行う。そしてＶＢＵＳ給電の交代を承諾した場合には、ＶＢＵＳコントローラ５８がスイッチ信号ＳＳＢをアクティブにして、スイッチ素子ＳＢをオンにする。これにより、Ｂプラグ接続側によるＶＢＵＳ給電が開始される。なお、これらの一連のネゴシエーション処理はネゴシエーション部６２の制御のもとで行われる。
【００５７】
以上のようにすることで本実施形態では、Ａプラグ接続側からＢプラグ接続側へのＶＢＵＳ給電の交代に成功している。これにより図２（Ｂ）に示すように、Ｂプラグ接続のプリンタ３１０が、Ａプラグ接続のデジタルカメラ３００にＶＢＵＳ給電を行うことが可能になる。従って、プリンタ３１０がＡＣ電源を有する場合には、このＡＣ電源を利用して、電池駆動のデジタルカメラ３００にＶＢＵＳ給電することが可能になり、デジタルカメラ３００の電池消耗を抑制できる。しかも本実施形態では、このようなＶＢＵＳ給電の交代が、パケット転送を用いたネゴシエーション処理により実現される。従って、相手の電子機器がＡＣ電源を有するか否かなどを確認し合いながらＶＢＵＳ給電を交代できるため、安全且つ確実なＶＢＵＳ給電の交代を実現できる。またＶＢＵＳ給電の交代のためのファームウェアやアプリケーションプログラムなどをデータ転送制御装置に実装するだけで、ＶＢＵＳ給電の交代を実現できるという利点もある。なおＶＢＵＳ給電の交代要求や交代承諾をパケット転送以外の手法（例えばデータラインの電圧レベルの変化等）で伝えるようにしてもよい。
【００５８】
次に本実施形態のデータ転送制御装置の動作の詳細について図４〜図７のフローチャート及び図８、図９の状態遷移図を用いて説明する。
【００５９】
図４、図５はＡプラグ接続側のデータ転送制御装置の動作フローである。まずＡプラグ接続側がＶＢＵＳ給電している状態で（ステップＳ１）、Ｂプラグ接続側に対してＶＢＵＳ給電の交代要求パケットを送信する（ステップＳ２）。そしてＢプラグ接続側から交代承諾パケットを受信した場合には（ステップＳ３）、ＶＢＵＳ動作有効電圧レベルの監視を停止する（ステップＳ４）。即ちＶＢＵＳ電圧レベルの監視の停止を監視回路４０に指示する。
【００６０】
次にＶＢＵＳ給電を停止し、ＶＢＵＳ電圧レベル安定のためのウェイト処理を行う（ステップＳ５）。即ちＶＢＵＳ給電の停止（スイッチ素子ＳＡのオフ）を給電スイッチ回路３０に指示する。またＶＢＵＳ電圧レベルが安定するのを待つために、所与の規定時間だけ処理をウェイトする。そして規定時間の経過後、ＶＢＵＳ電圧レベルが動作有効電圧レベルに達していた場合には（ステップＳ６）、動作有効電圧レベルの監視を再開する（ステップＳ７）。即ちＶＢＵＳ電圧レベルの監視の再開を監視回路４０に指示する。このようにしてＢプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ８）。
【００６１】
一方、規定時間の経過後、ＶＢＵＳ電圧レベルが動作有効電圧レベルに達していなかった場合には（ステップＳ６）、Ａプラグ接続側によるＶＢＵＳ給電を再開する（ステップＳ９）。即ちＶＢＵＳ給電の再開（スイッチ素子ＳＡのオン）を給電スイッチ回路３０に指示する。そしてＶＢＵＳ電圧レベルが安定するのを待つために、所与の規定時間だけ処理をウェイトし（ステップＳ１０）、その後、動作有効電圧レベルの監視を再開する（ステップＳ７）。このようにしてＡプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ１１）。
【００６２】
図４に示すように本実施形態では、ＶＢＵＳ給電の停止前に、ＶＢＵＳ電圧レベルの監視を停止している（ステップＳ４、Ｓ５）。そしてＶＢＵＳ給電の停止後に、ウェイト処理を行い、その後にＶＢＵＳ電圧レベルの監視を再開している（ステップＳ５、Ｓ６、Ｓ７）。
【００６３】
即ちＶＢＵＳ給電の交代のためにＡプラグ接続側がＶＢＵＳ給電を停止すると、Ｂプラグ接続側によるＶＢＵＳ給電が正常に行われるまでの間、ＶＢＵＳ電圧レベルが不安定になる。この時に、ＶＢＵＳ電圧レベルの監視を通常どおりに行ってしまうと、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまうおそれがある。
【００６４】
そこで本実施形態ではＶＢＵＳ給電の停止前にＶＢＵＳ電圧レベルの監視を停止しており、これにより、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。また本実施形態ではウェイト処理後にＶＢＵＳ電圧レベルの監視を再開しており、これにより、Ｂプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。このようにすることで本実施形態では、ＶＢＵＳ給電の交代を実現しながらも、ＶＢＵＳ電圧レベルに関するＵＳＢ規格の要求を満たすことに成功している。
【００６５】
次に図５の動作フローについて説明する。Ｂプラグ接続側がＶＢＵＳ給電している状態で（ステップＳ２１）、Ｂプラグ接続側によるＶＢＵＳ給電を停止することを上層（アプリケーション層等）により指示された場合（ステップＳ２２）や、ＶＢＵＳ動作有効電圧レベルがダウンした場合には（ステップＳ２３）には、ＶＢＵＳ動作電圧レベルの異常が検出され、次にＶＢＵＳ動作有効電圧レベルの監視を停止する（ステップＳ２４）。即ちＶＢＵＳ電圧レベルの監視の停止を監視回路４０に指示する。
【００６６】
次に、Ｂプラグ接続側に対してＶＢＵＳ給電の停止命令パケットを送信して（ステップＳ２５）、Ａプラグ接続側によるＶＢＵＳ給電を再開する（ステップＳ２６）。即ちＶＢＵＳ給電の停止命令を発行して、ＶＢＵＳ給電の再開を給電スイッチ回路３０に指示する。そしてＶＢＵＳ電圧レベルが安定するのを待つために、処理をウェイトする（ステップＳ２７）。その後、ＶＢＵＳ動作有効電圧レベルの監視を再開する（ステップＳ２８）。即ちＶＢＵＳ電圧レベルの監視の再開を監視回路４０に指示する。このようにしてＡプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ２９）。
【００６７】
本実施形態では、Ｂプラグ接続側によるＶＢＵＳ給電を停止することが、上層により指示された場合や、ＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、ＶＢＵＳ給電の停止命令パケットがＢプラグ接続側に送信される（ステップＳ２２、Ｓ２３、Ｓ２５）。そしてＡプラグ接続側によるＶＢＵＳ給電が再開される（ステップＳ２６）。
【００６８】
このようにすれば、アプリケーションプログラムやファームウェアなどで、Ｂプラグ接続側給電の停止意思が発生した場合や、ＶＢＵＳ電圧レベルが異常状態になった場合に、Ｂプラグ接続側によるＶＢＵＳ給電を停止し、Ａプラグ接続側によるＶＢＵＳ給電に戻すことができる。従って、Ｂプラグ接続側のＶＢＵＳ給電に異常事態が発生した場合には、Ａプラグ接続側がＶＢＵＳ給電することで、この異常事態を回避できる。また例えばＢプラグ接続側がＶＢＵＳ給電することでＢプラグ接続側の電池残量が無くなったような場合に、Ａプラグ接続側のアプリケーションプログラムの指示によりＢプラグ接続側のＶＢＵＳ給電を停止し、Ａプラグ接続側の電池でＶＢＵＳ給電を行うことなども可能になる。
【００６９】
また本実施形態では、ＶＢＵＳ給電の再開前に、ＶＢＵＳ電圧レベルの監視が停止される（ステップＳ２４、Ｓ２６）。そしてＶＢＵＳ給電の再開後、ウェイト処理が行われ、その後にＶＢＵＳ電圧レベルの監視が再開される（ステップＳ２６、Ｓ２７、Ｓ２８）。
【００７０】
このようにＶＢＵＳ給電の再開前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。またウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ａプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００７１】
図６、図７は、Ｂプラグ接続側のデータ転送制御装置の動作フローである。まずＡプラグ接続側がＶＢＵＳ給電している状態で（ステップＳ３１）、Ａプラグ接続側からＶＢＵＳ給電の交代要求パケットを受信する（ステップＳ３２）。そしてＢプラグ接続側がＶＢＵＳ給電を承諾する場合には（ステップＳ３３）、Ａプラグ接続側に対して交代承諾パケットを送信する（ステップＳ３４）。
【００７２】
次に、ＶＢＵＳ動作有効電圧レベルの監視を停止する（ステップＳ３５）。即ちＶＢＵＳ電圧レベルの監視の停止を監視回路８０に指示する。そしてＢプラグ接続側によるＶＢＵＳ給電を開始し、ＶＢＵＳ電圧レベル安定のためのウェイト処理を行う（ステップＳ３６）。即ちＶＢＵＳ給電の開始（スイッチ素子ＳＢのオン）を給電スイッチ回路７０に指示する。またＶＢＵＳ電圧レベルが安定するのを待つために、所与の規定時間だけ処理をウェイトする。そして規定時間の経過後、動作有効電圧レベルの監視を再開する（ステップＳ３７）。即ちＶＢＵＳ電圧レベルの監視の再開を監視回路８０に指示する。このようにしてＢプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ３８）。
【００７３】
一方、Ｂプラグ接続側がＶＢＵＳ給電を承諾しない場合には（ステップＳ３３）、Ａプラグ接続側に対してＶＢＵＳ給電の拒否パケットを送信する（ステップＳ３９）。このようにしてＡプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ４０）。
【００７４】
図６に示すように本実施形態では、ＶＢＵＳ給電の開始前に、ＶＢＵＳ電圧レベルの監視を停止している（ステップＳ３５、Ｓ３６）。そしてＶＢＵＳ給電の開始後に、ウェイト処理を行い、その後にＶＢＵＳ電圧レベルの監視を再開している（ステップＳ３６、Ｓ３７）。
【００７５】
このようにＶＢＵＳ給電の開始前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。またウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ｂプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００７６】
次に図７の動作フローについて説明する。Ｂプラグ接続側がＶＢＵＳ給電している状態で（ステップＳ４１）、Ａプラグ接続側から給電停止命令パケットを受信した場合、或いはＶＢＵＳ動作有効電圧レベルがダウンした場合には（ステップＳ４２）には、ＶＢＵＳ動作有効電圧レベルの監視を停止する（ステップＳ４３）。即ちＶＢＵＳ電圧レベルの監視の停止を監視回路８０に指示する。そしてＢプラグ接続側によるＶＢＵＳ給電を停止する（ステップＳ４４）。即ちＶＢＵＳ給電の停止を給電スイッチ回路７０に指示する。
【００７７】
次に、ＶＢＵＳ電圧レベルが安定するのを待つために、処理をウェイトする（ステップＳ４５）。その後、ＶＢＵＳ動作有効電圧レベルの監視を再開する（ステップＳ４６）。即ちＶＢＵＳ電圧レベルの監視の再開を監視回路８０に指示する。このようにしてＡプラグ接続側がＶＢＵＳを給電している状態になる（ステップＳ４７）。
【００７８】
本実施形態によれば、ＶＢＵＳ給電の停止命令パケットをＡプラグ接続側から受信した場合又はＶＢＵＳ電圧レベルが動作有効電圧レベルよりもダウンした場合には、ＶＢＵＳ給電が停止される（ステップＳ４２、Ｓ４４）。
【００７９】
このようにすれば、Ａプラグ接続側のアプリケーションプログラムやファームウェアなどで、Ｂプラグ接続側の給電の停止意思が発生した場合や、ＶＢＵＳ電圧レベルが異常状態になった場合に、Ｂプラグ接続側によるＶＢＵＳ給電を停止できる。これにより、Ｂプラグ接続側のＶＢＵＳ給電の異常事態の回避等を実現できる。
【００８０】
また本実施形態では、ＶＢＵＳ給電の停止前に、ＶＢＵＳ電圧レベルの監視が停止される（ステップＳ４３、Ｓ４４）。そしてＶＢＵＳ給電の停止後、ウェイト処理が行われ、その後にＶＢＵＳ電圧レベルの監視が再開される（ステップＳ４４、Ｓ４５、Ｓ４６）。
【００８１】
このようにＶＢＵＳ給電の停止前にＶＢＵＳ電圧レベルの監視を停止するようにすれば、ＶＢＵＳ電圧レベルの異常状態が誤って検出されてしまう事態を防止できる。またウェイト処理後にＶＢＵＳ電圧レベルの監視を再開するようにすれば、Ａプラグ接続側のＶＢＵＳ給電が正常に行われているか否かを適正に監視できる。
【００８２】
図８にＡプラグ接続側の動作を表す状態遷移図を示す。まずＡプラグ接続側ＶＢＵＳ給電状態で（ステートＳ５１）、給電交代要求が発行されると、Ｂプラグ接続側からの給電交代要求の返答を待つ（ステートＳ５２）。そして拒否の返答が来た場合には、Ａプラグ接続側ＶＢＵＳ給電状態のままとなる（ステートＳ５１）。一方、承諾の返答が来た場合には、Ａプラグ接続側によるＶＢＵＳ給電を停止し、Ｂプラグ接続側の給電によりＶＢＵＳ電圧レベルが安定するのをウェイトする（ステートＳ５３）。そしてＶＢＵＳ電圧レベルが有効（valid）である場合には、Ｂプラグ接続側ＶＢＵＳ給電状態になる（ステートＳ５４）。
【００８３】
一方、ステートＳ５３、Ｓ５４で、ＶＢＵＳ電圧レベルが非有効（non valid）である場合には、Ａプラグ接続側によるＶＢＵＳ給電を開始し、Ａプラグ接続側給電によりＶＢＵＳ電圧レベルが安定するのをウェイトする（ステートＳ５５）。そしてＶＢＵＳ電圧レベルが非有効である場合には、異常状態（ステートＳ５６）であると判断される。一方、ＶＢＵＳ電圧レベルが有効である場合には、Ａプラグ接続側ＶＢＵＳ給電状態になる（ステートＳ５１）。
【００８４】
図９にＢプラグ接続側の動作を表す状態遷移図を示す。まずＡプラグ接続側ＶＢＵＳ給電状態で（ステートＳ６１）、Ａプラグ接続側から給電交代要求を受信し、それを承諾してＶＢＵＳ給電を開始すると、Ｂプラグ接続側ＶＢＵＳ給電状態になる（ステートＳ６２）。一方、給電交代要求を拒否した場合には、Ａプラグ接続側ＶＢＵＳ給電状態のままとなる（ステートＳ６１）。
【００８５】
Ｂプラグ接続側ＶＢＵＳ給電状態（ステートＳ６２）で、ＶＢＵＳ電圧レベルが非有効になった場合又はＡプラグ接続側から給電停止命令を受信した場合には、ＶＢＵＳ給電を停止し、Ａプラグ接続側の給電によりＶＢＵＳ電圧レベルが安定するのをウェイトする（ステートＳ６３）。そしてＶＢＵＳ電圧レベルが有効である場合には、Ａプラグ接続側ＶＢＵＳ給電状態になる（ステートＳ６１）。一方、ＶＢＵＳ電圧レベルが非有効である場合には、Ｂプラグ接続側アイドル状態（動作停止）になる（ステートＳ６４）。
【００８６】
５．コントロール転送の利用
ＶＢＵＳ給電の交代要求パケットの送信や、ＶＢＵＳ給電の交代承諾パケットの送信は、ＵＳＢのコントロール転送を用いて行うことができる。
【００８７】
図１０にＵＳＢのコントロール転送を模式的に示す。なお図１０において、「Ｈ→Ｄ」は、ホストからＵＳＢデバイス（ターゲット、ペリフェラル）にパケットを転送することを意味し、「Ｈ←Ｄ」は、ＵＳＢデバイスからホストにパケットを転送することを意味する。そしてＵＳＢでは通常の場合、Ａプラグ接続側がホストであり、Ｂプラグ接続側がＵＳＢデバイスである。但し、ＯＴＧの場合には、ＨＮＰ（Host Negotiation Protocol）によりホストとＵＳＢデバイス（ペリフェラル）の役割を交換することで、Ａプラグ接続側であるＡデバイスがＵＳＢデバイスになり、Ｂプラグ接続側であるＢデバイスがホストになることもできる。
【００８８】
コントロール転送は、ホストとＵＳＢデバイスとの間でコントロールエンドポイント（エンドポイント番号が０のエンドポイント）を介して行われる制御用の転送モードである。このコントロール転送は図１０に示すように、ホストがＵＳＢデバイスにデバイスリクエストを送るセットアップステージと、デバイスリクエストで指定される転送方向でデータを転送するデータステージと、データ転送が成功したか否かを伝えるステータスステージとにより構成される。
【００８９】
コントロール転送のセットアップステージでは、ホスト（Ｈ）がＳＥＴＵＰトークンパケットを生成して、ＵＳＢデバイス（Ｄ）に送信する。次に、デバイスリクエストを含むＳＥＴＵＰデータのパケットを、ホストがＵＳＢデバイスに送信する。ＳＥＴＵＰデータパケットを受信したＵＳＢデバイスは、ＡＣＫ（ACKnowledgement）のハンドシェークパケットをホストに送信する。ＵＳＢデバイスからＡＣＫのハンドシェークパケットが返ってくると、ホストはセットアップステージを終了する。
【００９０】
セットアップステージが終了するとデータステージに移行する。なおデータステージが無いデバイスリクエストでは、データステージは省略されてステータスステージに移行する。
【００９１】
データステージでの転送方向が「ＩＮ」であるデバイスリクエストでは、データステージにおいてホストがＩＮトランザクションを発生し、ＵＳＢデバイスからホストにデータが転送される。一方、  データステージでの転送方向が「ＯＵＴ」であるデバイスリクエストでは、データステージにおいてホストがＯＵＴトランザクションを発生し、ホストからＵＳＢデバイスにデータが転送される。そしてデータステージが終了するとステータスステージに移行する。
【００９２】
ステータスステージでは、データステージがＩＮトランザクションであった場合には、ホストからＯＵＴトークンが発行されて、ホストからＵＳＢデバイスにゼロ長のＯＵＴデータのパケットが送信される。一方、データステージがＯＵＴトランザクションであった場合には、ホストからＩＮトークンが発行されて、ＵＳＢデバイスからホストにゼロ長のＩＮデータのパケットが送信される。
【００９３】
例えば交代要求パケットを送信する場合には、Ａプラグ接続側であるホストが、交代要求を知らせるデータをＯＵＴデータに含ませて、Ｂプラグ接続側であるＵＳＢデバイスに送信すればよい。即ち交代要求パケットをＯＵＴデータパケットで送信する。一方、交代承諾パケットを送信する場合には、Ｂプラグ接続側であるＵＳＢデバイスが、交代承諾を知らせるデータをＩＮデータに含ませて、Ａプラグ接続側であるホストに送信すればよい。即ち交代承諾パケットをＩＮトークンパケットで送信する。
【００９４】
またＯＴＧによりホストとペリフェラル（ＵＳＢデバイス）の役割を交換し、Ａプラグ接続側であるＡデバイスがペリフェラルになり、Ｂプラグ接続側であるＢデバイスがホストになった場合には、交代要求パケットをＩＮトークンパケットで送信し、交代承諾パケットをＯＵＴトークンパケットで送信すればよい。
【００９５】
なおＯＴＧのＨＮＰ（Host Negotiation Protocol）により、Ａデバイス（Ａプラグ接続側）がペリフェラルになり、Ｂデバイス（Ｂプラグ接続側）がホストになった場合に、トークンは、ホストであるＢデバイスしか発行出来なくなる。また本実施形態のネゴシエーション手法では、Ａデバイスが主導でＶＢＵＳのネゴシエーションを開始する事が前提になっている。以上により、ＶＢＵＳのネゴシエーションは、Ａデバイスがホストになった時に行われることが必要である。
【００９６】
この場合、ＯＴＧの規定では、Ａデバイスはいつでもホストとして動作することが許されている。即ちＨＮＰによりＡデバイスがペリフェラルになった場合にも、Ａデバイスはいつでもホスト動作権（ホストとして動作する権利）を取り戻すことができる。従って、Ａデバイスが、ＨＮＰによりペリフェラルとして動作している時には、Ａデバイスが、ＨＮＰにより一旦ホスト動作権を取り戻してから、本実施形態の手法によりＶＢＵＳのネゴシエーション（ＶＢＵＳ給電交代のネゴシエーション）を行う。その後、再度、ＨＮＰにより、Ａデバイスがペリフェラル動作モードに移行すればよい。
【００９７】
以上のようにコントロール転送を利用して、交代要求パケットや交代承諾パケットを送信するようにすれば、ＶＢＵＳ給電の交代を安全且つ確実に行うことが可能になるという利点がある。
【００９８】
６．電子機器
図１１に本実施形態のデータ転送制御装置を含む電子機器の構成例を示す。この電子機器２００は、本実施形態で説明したデータ転送制御装置２１０、ＡＳＩＣなどで構成されるアプリケーション層デバイス２２０、ＣＰＵ２３０、ＲＯＭ２４０、ＲＡＭ２５０、表示部２６０、操作部２７０を含む。なおこれらの機能ブロックの一部を省略する構成としてもよい。
【００９９】
ここでアプリケーション層デバイス２２０は、例えばハードディスクドライブ、光ディスクドライブ、或いはプリンタを制御するデバイスや、ＭＰＥＧエンコーダ、ＭＰＥＧデコーダ等を含むデバイスなどである。処理部２３０（ＣＰＵ）はデータ転送制御装置２１０や電子機器全体の制御を行う。ＲＯＭ２４０は制御プログラムや各種データを記憶する。ＲＡＭ２５０は処理部２３０やデータ転送制御装置２１０のワーク領域やデータ格納領域として機能する。表示部２６０は種々の情報をユーザに表示する。操作部２７０はユーザが電子機器を操作するためのものである。
【０１００】
なお図１１ではＤＭＡバスとＣＰＵバスが分離されているが、これらを共通化してもよい。またデータ転送制御装置２１０を制御する処理部と、電子機器を制御する処理部とを別々に設けてもよい。また本実施形態が適用できる電子機器としては、光ディスクドライブ（ＣＤ−ＲＯＭ、ＤＶＤ）、光磁気ディスクドライブ（ＭＯ）、ハードディスクドライブ、ＴＶ、ＴＶチューナ、ＶＴＲ、ビデオカメラ、オーディオ機器、電話機、プロジェクタ、パーソナルコンピュータ、電子手帳、或いはワードプロセッサなどの種々のものがある。
【０１０１】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１０２】
例えば、本発明のデータ転送制御装置の構成は図３等で説明した構成に限定されるものではなく、種々の変形実施が可能である。また本発明のデータ転送制御装置の動作も図４〜図９等で説明した動作に限定されない。
【０１０３】
また、明細書や図面中の記載において広義又は同義な用語（Ａプラグ接続側、Ｂプラグ接続側等）として引用された用語は、明細書や図面中の他の記載においても広義又は同義な用語（Ａデバイス側、Ｂデバイス側等）に置き換えることができる。
【図面の簡単な説明】
【０１０４】
【図１】図１（Ａ）（Ｂ）（Ｃ）はＵＳＢのＡプラグ、Ｂプラグの説明図。
【図２】図２（Ａ）（Ｂ）は本実施形態のＶＢＵＳ給電交代手法の説明図。
【図３】本実施形態のデータ転送制御装置の構成例。
【図４】Ａプラグ接続側のデータ転送制御装置の動作フロー。
【図５】Ａプラグ接続側のデータ転送制御装置の動作フロー。
【図６】Ｂプラグ接続側のデータ転送制御装置の動作フロー。
【図７】Ｂプラグ接続側のデータ転送制御装置の動作フロー。
【図８】Ａプラグ接続側のデータ転送制御装置の状態遷移図。
【図９】Ｂプラグ接続側のデータ転送制御装置の状態遷移図。
【図１０】ＵＳＢのコントロール転送の説明図。
【図１１】電子機器の構成例。
【符号の説明】
【０１０５】
１０  転送コントローラ、１２  トランシーバ、１４  ＳＩＥ、１６  データバッファ、
１８  ＶＢＵＳコントローラ、２０  処理部（ＣＰＵ）、２２  ネゴシエーション部、
３０  給電スイッチ回路、４０  監視回路、
５０  転送コントローラ、５２  トランシーバ、５４  ＳＩＥ、５６  データバッファ、
５８  ＶＢＵＳコントローラ、６０  処理部（ＣＰＵ）、６２  ネゴシエーション部、
７０  給電スイッチ回路、８０  監視回路、
【図１】
2005149293.tif 000003
【図２】
2005149293.tif 000004
【図３】
2005149293.tif 000005
【図４】
2005149293.tif 000006
【図５】
2005149293.tif 000007
【図６】
2005149293.tif 000008
【図７】
2005149293.tif 000009
【図８】
2005149293.tif 000010
【図９】
2005149293.tif 000011
【図１０】
2005149293.tif 000012
【図１１】
2005149293.tif 000013
【手続補正書】
【提出日】平成16年12月1日(2004.12.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
例えば交代要求パケットを送信する場合には、Ａプラグ接続側であるホストが、交代要求を知らせるデータをＯＵＴデータに含ませて、Ｂプラグ接続側であるＵＳＢデバイスに送信すればよい。即ち交代要求パケットをＯＵＴデータパケットで送信する。一方、交代承諾パケットを送信する場合には、Ｂプラグ接続側であるＵＳＢデバイスが、交代承諾を知らせるデータをＩＮデータに含ませて、Ａプラグ接続側であるホストに送信すればよい。即ち交代承諾パケットをＩＮデータパケットで送信する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
またＯＴＧによりホストとペリフェラル（ＵＳＢデバイス）の役割を交換し、Ａプラグ接続側であるＡデバイスがペリフェラルになり、Ｂプラグ接続側であるＢデバイスがホストになった場合には、交代要求パケットをＩＮデータパケットで送信し、交代承諾パケットをＯＵＴデータパケットで送信すればよい。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2005149293.tif 000014