(57)【要約】【課題】例えばＯＴＧ規格の周辺機器同士のデータ転送を行う場合に無駄な電力消費を削減するデータ転送制御装置、電子機器及び電源切替方法を提供する。【解決手段】データ転送処理回路１１０のステートコントローラ１１２はステート遷移により、Ａデバイス又はＢデバイスのホスト又はペリフェラルとしての動作の切り替えを行う。給電スイッチ回路１３０は、ステートコントローラ１１２の遷移に基づいて電源回路１２０とＶＢＵＳラインとを接続する。電源制御回路１４０の電源切替回路１４２は、切替信号ＰＷＲＳＥＬにより、ＶＢＵＳライン又は電源回路１２０のいずれかと、データ転送処理回路１１０とを接続する。切替信号ＰＷＲＳＥＬは、切替スイッチ回路１４４の出力信号、又はステートコントローラ１１２からの制御信号に基づいて生成される。【選択図】　　　　図７
2004094914.tif 000002
【特許請求の範囲】
【請求項１】
デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置であって、
電源回路と、
前記第１のデバイスとしての動作時に前記電源ラインと前記電源回路とを接続する給電スイッチ回路と、
前記データラインを介してデータ転送を行うデータ転送処理回路と、
所与の切替信号に基づいて、前記電源ライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路と、
を含むことを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記所与の切替信号をオン又はオフにする切替スイッチ回路を含み、
前記所与の切替信号は、
前記切替スイッチ回路の出力に基づいて生成されることを特徴とするデータ転送制御装置。
【請求項３】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置であって、
電源回路と、
Ａデバイスとしての動作時にＶＢＵＳラインと前記電源回路とを接続する給電スイッチ回路と、
データラインを介してデータ転送を行うデータ転送処理回路と、
所与の切替信号に基づいて、前記ＶＢＵＳライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路と、
を含み、
前記電源切替回路は、
Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給することを特徴とするデータ転送制御装置。
【請求項４】
デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置であって、
電源回路と、
前記第１のデバイスとしての動作時に前記電源ラインと前記電源回路とを接続する給電スイッチ回路と、
前記データラインを介してデータ転送を行うデータ転送処理回路と、
前記電源ラインの電圧が第２の閾値を超えたか否かを検出する電源ライン電圧検出回路と、
所与の切替信号に基づいて、前記電源ライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路と、
を含み、
前記電源切替回路は、
前記第２のデバイスとして動作し、かつ前記電源ラインの電圧が前記第２の閾値より低い第１の閾値を超えていると判断された場合に、前記電源ラインから前記データ転送処理回路に対して電源を供給し、
前記電源ラインの電圧が前記第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給することを特徴とするデータ転送制御装置。
【請求項５】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置であって、
Ａデバイスとしての動作時にＶＢＵＳラインと前記電源回路とを接続する給電スイッチ回路と、
データラインを介してデータ転送を行うデータ転送処理回路と、
前記ＶＢＵＳラインの電圧が第２の閾値を超えたか否かを検出する電源ライン電圧検出回路と、
所与の切替信号に基づいて、前記ＶＢＵＳライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路と、
を含み、
前記電源切替回路は、
Ｂデバイスとして動作し、かつ前記ＶＢＵＳラインの電圧が前記第２の閾値より低い第１の閾値を超えていると判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給し、
前記ＶＢＵＳラインの電圧が前記第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給することを特徴とするデータ転送制御装置。
【請求項６】
請求項５において、
前記電源回路から前記ＶＢＵＳラインへの前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのアイドル状態からペリフェラル状態に遷移した後に行われ、
前記ＶＢＵＳラインから前記電源回路への前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのペリフェラル状態からアイドル状態に切り替わる前に行われることを特徴とするデータ転送制御装置。
【請求項７】
請求項５において、
前記第２の閾値は、
Ｂデバイスのセッションバリッド閾値より高く、ＡデバイスのＶＢＵＳバリッド閾値より低いことを特徴とするデータ転送制御装置。
【請求項８】
請求項１乃至７のいずれか記載のデータ転送制御装置と、
前記データ転送処理装置及びバスを介して転送されるデータの出力処理又は取り込み処理又は記憶処理を行う装置と、
を含むことを特徴とする電子機器。
【請求項９】
デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置の電源切替方法であって、
前記データラインを介してデータ転送を行うデータ転送処理回路に対し、前記第１のデバイスとしての動作時に前記電源ラインに接続される電源回路から電源を供給した状態で、前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が第１の閾値を超えたか否かを判断し、
前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が前記第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記電源ラインから電源を供給することを特徴とする電源切替方法。
【請求項１０】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置の電源切替方法であって、
前記データラインを介してデータ転送を行うデータ転送処理回路に対し、Ａデバイスとしての動作時にＶＢＵＳラインに接続される前記電源回路から電源を供給した状態で、Ｂデバイスとして動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたか否かを判断し、
Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が前記第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給することを特徴とする電源切替方法。
【請求項１１】
デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置の電源切替方法であって、
前記データラインを介してデータ転送を行うデータ転送処理回路に対し、前記第１のデバイスとしての動作時に前記電源ラインに接続される電源回路から電源を供給した状態で、前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記電源ラインから電源を供給し、
前記データ転送処理回路に対し前記電源ラインから電源を供給した状態で、前記電源ラインの電圧が第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給することを特徴とする電源切替方法。
【請求項１２】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置の電源切替方法であって、
データラインを介してデータ転送を行うデータ転送処理回路に対し、Ａデバイスとしての動作時にＶＢＵＳラインに接続される電源回路から電源を供給した状態で、Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給し、
前記データ転送処理回路に対し前記ＶＢＵＳラインから電源を供給した状態で、前記ＶＢＵＳラインの電圧が第２の閾値を超えないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給することを特徴とする電源切替方法。
【請求項１３】
請求項１２において、
前記電源回路から前記ＶＢＵＳラインへの前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのアイドル状態からペリフェラル状態に遷移した後に行われ、
前記ＶＢＵＳラインから前記電源回路への前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのペリフェラル状態からアイドル状態に切り替わる前に行われることを特徴とする電源切替方法
【請求項１４】
請求項１１乃至１３のいずれかにおいて、
前記第１の閾値は、前記第２の閾値よりも低く設定されていることを特徴とする電源切替方法。
【請求項１５】
請求項１２において、
前記第２の閾値は、
Ｂデバイスのセッションバリッド閾値より高く、ＡデバイスのＶＢＵＳバリッド閾値より低いことを特徴とする電源切替方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送制御装置、電子機器及び電源切替方法に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
近年、パーソナルコンピュータと周辺機器（広義には電子機器）とを接続するためのインタフェース規格として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）規格が注目を集めている。ところが、ＵＳＢ規格では必ずホストが必要であり、これまで周辺機器間でＵＳＢ規格のデータ転送を行うことができなかった。そこでＵＳＢ２．０規格の追加規格として、「ＵＳＢ　Ｏｎ−Ｔｈｅ−Ｇｏ（ＯＴＧ）１．０」規格（以下では、ＯＴＧ規格と略す。）が策定され、周辺機器間でもＵＳＢ規格のデータ転送を行うことができる。
【０００３】
ＯＴＧ規格では、ＵＳＢ規格におけるデバイスとして動作するペリフェラルに、ホストとして動作するために必要なホスト機能を持たせることができる。これによって、従来のＵＳＢ規格におけるデバイスだった周辺機器同士を相互に接続することができ、従来のＵＳＢ規格におけるホストを介することなく、データ転送を行うことができる。
【０００４】
そのためＯＴＧ規格では、デュアルロールデバイス（Ｄｕａｌ−ｒｏｌｅ　Ｄｅｖｉｃｅ）とペリフェラルオンリーデバイス（Ｐｅｒｉｐｈｅｒａｌ−ｏｎｌｙ　Ｄｅｖｉｃｅ）とが規定される。デュアルロールデバイスとなる機器は、ホストとしてもペリフェラルとしても動作することができる。またペリフェラルオンリーデバイスとなる機器は、ペリフェラルとしてのみ動作することができる。
【０００５】
ところでＯＴＧ規格では、消費電力を削減するため、例えばホストとして動作中のデバイスがバスを使用しないときは電源ラインの駆動を停止することができる。そこで、例えばペリフェラルとして動作中のデバイスが未使用中のバスを使用したいときは、ホストとして動作するデバイス側に対して使用を要求するＳＲＰ（Ｓｅｓｓｉｏｎ　Ｒｅｑｕｅｓｔ　Ｐｒｏｔｏｃｏｌ）という手順により当該バスを使用することができる。ＳＲＰでは、データラインパルシング又はＶＢＵＳ（電源バス）パルシングと呼ばれる手法で、ペリフェラルとして動作するデバイスが、ホストとして動作するデバイスに対しＶＢＵＳラインに電源を供給するように要求することになる。その結果として、ＯＴＧ規格に準拠したデバイスでは、上述のＳＲＰをイニシエート（ｉｎｉｔｉａｔｅ）するため、セルフパワー電源であることが必要とされる。
【０００６】
ここで、ＯＴＧ規格に準拠したデバイス（ＯＴＧデバイス）が、ＵＳＢ規格に準拠した標準ホスト（例えばパーソナルコンピュータ）に接続される場合を考える。規格上、標準ホストはＶＢＵＳラインに電源を供給する必要がある。ところがＯＴＧデバイスはセルフパワー電源であるため、標準ホストからＶＢＵＳラインに対し常に電源が供給されているにも関わらず、ＯＴＧデバイスは自己の電源からの電力を消費して動作することになり、無駄な電力を消費していたという問題があった。特に、ＯＴＧデバイスが携帯型の情報機器である場合には、バッテリの寿命が短くなってしまう。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、例えばＯＴＧ規格の周辺機器同士のデータ転送を行う場合に無駄な電力消費を削減するデータ転送制御装置、電子機器及び電源切替方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために本発明は、デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置であって、電源回路と、前記第１のデバイスとしての動作時に前記電源ラインと前記電源回路とを接続する給電スイッチ回路と、前記データラインを介してデータ転送を行うデータ転送処理回路と、所与の切替信号に基づいて、前記電源ライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路とを含むデータ転送制御装置に関係する。
【０００９】
本発明においては、第１のデバイスとして動作するときは給電スイッチ回路により電源ラインに電源を供給するデータ転送制御装置において、電源切替回路により電源回路から電源ラインに切り替えてデータ転送処理回路に対して電源を供給することができる。したがって、例えば第２のデバイスとして動作するときに、電源ラインからの電源供給でデータ処理回路を動作させることができるので、電源回路の電力消費を削減することができる。
【００１０】
また本発明に係るデータ転送制御装置は、前記所与の切替信号をオン又はオフにする切替スイッチ回路を含み、前記所与の切替信号は、前記切替スイッチ回路の出力に基づいて生成されてもよい。
【００１１】
本発明によれば、切替スイッチ回路により適宜電源供給元を切り替えることができるのでデータ転送制御装置の消費電力の最適化を図ることができる。
【００１２】
また本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置であって、電源回路と、Ａデバイスとしての動作時にＶＢＵＳラインと前記電源回路とを接続する給電スイッチ回路と、データラインを介してデータ転送を行うデータ転送処理回路と、所与の切替信号に基づいて、前記ＶＢＵＳライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路とを含み、前記電源切替回路は、Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給するデータ転送制御装置に関係する。
【００１３】
ＯＴＧ規格に準拠したデータ転送制御装置では、セルフパワー電源であることが必要とされる。したがって例えば標準ホストによりＶＢＵＳラインに電源が供給されている場合でも、当該データ転送制御装置では自己の電源回路の電力を消費することになってしまう。
【００１４】
本発明によれば、電源切替回路により、データ処理回路に対し、電源ラインから電源を供給してバスパワー電源で動作させることができるので、セルフパワー電源として搭載される電源回路の無駄な電力消費を削減することができる。またステート遷移結果により電源切替回路を動作させることができるので、特に大規模な付加回路を設けることなく電源切替の最適化を図ることができる。
【００１５】
また本発明は、デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置であって、電源回路と、前記第１のデバイスとしての動作時に前記電源ラインと前記電源回路とを接続する給電スイッチ回路と、前記データラインを介してデータ転送を行うデータ転送処理回路と、前記電源ラインの電圧が第２の閾値を超えたか否かを検出する電源ライン電圧検出回路と、所与の切替信号に基づいて、前記電源ライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路とを含み、前記電源切替回路は、前記第２のデバイスとして動作し、かつ前記電源ラインの電圧が前記第２の閾値より低い第１の閾値を超えていると判断された場合に、前記電源ラインから前記データ転送処理回路に対して電源を供給し、前記電源ラインの電圧が前記第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給するデータ転送制御装置に関係する。
【００１６】
また本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置であって、Ａデバイスとしての動作時にＶＢＵＳラインと前記電源回路とを接続する給電スイッチ回路と、データラインを介してデータ転送を行うデータ転送処理回路と、前記ＶＢＵＳラインの電圧が第２の閾値を超えたか否かを検出する電源ライン電圧検出回路と、所与の切替信号に基づいて、前記ＶＢＵＳライン又は前記電源回路のいずれかから前記データ転送処理回路に対して電源を供給するための電源切替回路とを含み、前記電源切替回路は、Ｂデバイスとして動作し、かつ前記ＶＢＵＳラインの電圧が前記第２の閾値より低い第１の閾値を超えていると判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給し、前記ＶＢＵＳラインの電圧が前記第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給するデータ転送制御装置に関係する。
【００１７】
本発明によれば、上述したようにセルフパワー電源からバスパワー電源に切り替えた後に、バスパワー電源の供給元が何らかの原因で電源を供給することができなくなった場合でも、電源ライン（ＶＢＵＳライン）を監視して電源切替回路により再びセルフパワー電源に切り替えることができるので、電源切替により低消費電力化を図ったデータ転送制御装置の信頼性を向上させることができる。またＯＴＧ規格に準拠したデータ転送制御装置の低消費化と信頼性向上とを両立させることができる。
【００１８】
また本発明に係るデータ転送制御装置は、前記電源回路から前記ＶＢＵＳラインへの前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのアイドル状態からペリフェラル状態に遷移した後に行われ、前記ＶＢＵＳラインから前記電源回路への前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのペリフェラル状態からアイドル状態に切り替わる前に行われてもよい。
【００１９】
本発明によれば、Ｂデバイスのアイドル状態ではＶＢＵＳラインの電圧を監視するのみでよいため、ステート管理による制御の簡素化を図ることができる。
【００２０】
また本発明に係るデータ転送制御装置は、前記第２の閾値は、Ｂデバイスのセッションバリッド閾値より高く、ＡデバイスのＶＢＵＳバリッド閾値より低くてもよい。
【００２１】
本発明によれば、第２の閾値の設定のみで、Ｂデバイスのアイドル状態でＶＢＵＳの電圧を監視させることができるので、構成及び制御の簡素化を図ることができる。
【００２２】
また本発明に係る電子機器は、上記いずれか記載のデータ転送制御装置と、前記データ転送処理装置及びバスを介して転送されるデータの出力処理又は取り込み処理又は記憶処理を行う装置とを含むことができる。
【００２３】
本発明によれば、セルフパワー電源で動作するデータ転送制御装置を搭載する場合であっても、バスパワー電源に切り替えて無駄な電力消費を削減する電子機器を提供することができる。
【００２４】
また本発明は、デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置の電源切替方法であって、前記データラインを介してデータ転送を行うデータ転送処理回路に対し、前記第１のデバイスとしての動作時に前記電源ラインに接続される電源回路から電源を供給した状態で、前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が第１の閾値を超えたか否かを判断し、前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が前記第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記電源ラインから電源を供給する電源切替方法に関係する。
【００２５】
また本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置の電源切替方法であって、前記データラインを介してデータ転送を行うデータ転送処理回路に対し、Ａデバイスとしての動作時にＶＢＵＳラインに接続される前記電源回路から電源を供給した状態で、Ｂデバイスとして動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたか否かを判断し、Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が前記第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給する電源切替方法に関係する。
【００２６】
また本発明は、デフォルト状態においてセルフパワー電源によりデータ転送制御を行う第１のデバイスのステート遷移又はデフォルト状態においてバスパワー電源によりデータ転送制御を行う第２のデバイスのステート遷移により、ホスト及びペリフェラルのステートの切り替え制御を行って、データライン及び電源ラインを介してデータの転送制御を行うデータ転送制御装置の電源切替方法であって、前記データラインを介してデータ転送を行うデータ転送処理回路に対し、前記第１のデバイスとしての動作時に前記電源ラインに接続される電源回路から電源を供給した状態で、前記第２のデバイスとしての動作時のアイドル状態において前記電源ラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記電源ラインから電源を供給し、前記データ転送処理回路に対し前記電源ラインから電源を供給した状態で、前記電源ラインの電圧が第２の閾値を超えていないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給する電源切替方法に関係する。
【００２７】
また本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に従ってデータ転送を制御するデータ転送制御装置の電源切替方法であって、データラインを介してデータ転送を行うデータ転送処理回路に対し、Ａデバイスとしての動作時にＶＢＵＳラインに接続される電源回路から電源を供給した状態で、Ｂデバイスとしての動作時のアイドル状態において前記ＶＢＵＳラインの電圧が第１の閾値を超えたと判断された場合に、前記データ転送処理回路に対して前記ＶＢＵＳラインから電源を供給し、前記データ転送処理回路に対し前記ＶＢＵＳラインから電源を供給した状態で、前記ＶＢＵＳラインの電圧が第２の閾値を超えないと判断された場合に、前記データ転送処理回路に対して前記電源回路から電源を供給する電源切替方法に関係する。
【００２８】
また本発明に係る電源切替方法は、前記電源回路から前記ＶＢＵＳラインへの前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのアイドル状態からペリフェラル状態に遷移した後に行われ、前記ＶＢＵＳラインから前記電源回路への前記データ転送処理回路に対する電源の供給元の切り替えは、Ｂデバイスのペリフェラル状態からアイドル状態に切り替わる前に行われてもよい。
【００２９】
また本発明に係る電源切替方法は、前記第１の閾値は、前記第２の閾値よりも低く設定されていてもよい。
【００３０】
また本発明に係る電源切替方法は、前記第２の閾値は、Ｂデバイスのセッションバリッド閾値より高く、ＡデバイスのＶＢＵＳバリッド閾値より低くてもよい。
【００３１】
【発明の実施の形態】
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００３２】
１．　ＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格
１．１　ＡデバイスとＢデバイス
まず、ＯＴＧ規格について簡単に説明する。
【００３３】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）規格は、ホスト（ｈｏｓｔ）（例えばパーソナルコンピュータ）と１又は複数のペリフェラル（ｐｅｒｉｐｈｅｒａｌ）（例えば周辺機器）との間のデータ転送を行うための規格であり、ホスト側でデータ転送制御が行われる。その一方で、ＵＳＢ規格においてペリフェラルであった携帯機器等において処理するデータ量が増大し、ホストを介在させることなく、低消費電力でＵＳＢ規格のデータ転送する要求が高まっている。
【００３４】
このような背景の下、ＯＴＧ規格はＵＳＢ２．０規格の追加規格として策定された。ＯＴＧ規格では、コネクタの小型化や、ホストとして動作するために必要なホスト機能をペリフェラルに持たせるデュアルロールデバイス等についての規格が新たに盛り込まれている。
【００３５】
ＯＴＧ規格によるデータ転送を行う場合、例えば図１（Ａ）に示すように、その両端にＭｉｎｉ−Ａプラグ（ｐｌｕｇ）及びＭｉｎｉ−Ｂプラグが設けられたＵＳＢケーブルにより、ホストとペリフェラルとが接続される。Ｍｉｎｉ−Ａプラグは、Ｍｉｎｉ−Ａレセプタクル（ｒｅｃｅｐｔａｃｌｅ）及びＭｉｎｉ−ＡＢレセプタクルに挿入可能な構造を有している。Ｍｉｎｉ−Ｂプラグは、Ｍｉｎｉ−Ｂレセプタクル及びＭｉｎｉ−ＡＢレセプタクルに挿入可能な構造を有している。デュアルロールデバイスの場合、Ｍｉｎｉ−ＡＢレセプタクルを備えておく必要がある。
【００３６】
ところで、ＵＳＢ規格では、ＶＢＵＳ（電源バス）ライン、ＧＮＤ（グラウンド）及び２本のデータ信号線（Ｄ＋、Ｄ−）のみでホストとペリフェラルとを接続することができる。ＶＢＵＳラインには、ホスト側から電源（電力。より具体的には電源電流）が供給される。データ信号線（データライン）Ｄ＋、Ｄ−は、差動で用いられる。
【００３７】
ＯＴＧ規格では、図１（Ｂ）に示すようにＭｉｎｉ−Ａプラグが接続されたデュアルロールデバイスは、Ａデバイス（Ａ−Ｄｅｖｉｃｅ）（広義には第１のデバイス）となる。Ａデバイスは、セッション開始時においてホストとして動作し、所与の条件の下で、Ｂデバイスに対してホスト機能を譲ることができる。一方、Ｍｉｎｉ−Ｂプラグが接続されたデュアルロールデバイスは、Ｂデバイス（Ｂ−Ｄｅｖｉｃｅ）（広義には第２のデバイス）となる。Ｂデバイスは、セッション開始時においてペリフェラルとして動作し、Ａデバイスからホストとして動作することが許可される。なおＶＢＵＳラインには、Ａデバイスにより電源が供給される。Ａデバイスは、デフォルト状態としてセルフパワー電源によりデータ転送制御を行う。Ｂデバイスは、デフォルト状態としてバスパワー電源によりデータ転送制御を行う。
【００３８】
デュアルロールデバイスにおいて、Ｍｉｎｉ−ＡＢレセプタクルに挿入されたプラグの種類を判別するため、図１（Ｃ）に示すように、これまでのコネクタの端子（ＶＢＵＳ、Ｄ−、Ｄ＋、ＧＮＤ）の他に、ＩＤ端子が定義されている。Ｍｉｎｉ−ＡプラグではＩＤ端子がＧＮＤに接続され、Ｍｉｎｉ−ＢプラグではＩＤ端子がオープン状態である。
【００３９】
図２に、ＵＳＢケーブルが接続されたデュアルロールデバイスの例を模式的に示す。
【００４０】
Ｍｉｎｉ−Ａプラグが接続されたデュアルロールデバイス１０と、Ｍｉｎｉ−Ｂプラグが接続されたデュアルロールデバイス２０とは、ＵＳＢケーブルを介して接続されている。デュアルロールデバイス１０、２０は、ＩＤ検出回路１２、２２を含む。ＩＤ検出回路１２、２２は、それぞれＩＤ端子と電気的に接続される信号線をプルアップし、該信号線の電圧に応じて、ＩＤ端子が接地されているか否かを検出する。図２におけるＩＤ検出回路１２は、ＩＤ端子に接続される信号線が接地されるため、Ｍｉｎｉ−Ａプラグであることを検出することができる。一方、ＩＤ検出回路２２は、ＩＤ端子に接続される信号線がプルアップされるため、Ｍｉｎｉ−Ｂプラグであることを検出する。
【００４１】
デュアルロールデバイス１０では、ホスト及びペリフェラルとして動作するため、データ信号線Ｄ＋をプルアップするためのプルアップ抵抗Ｒ１と、データ信号線Ｄ＋をプルダウンするためのプルダウン抵抗Ｒ２とを有している。プルアップ抵抗Ｒ１は、プルアップのオン／オフを切り替えるために、スイッチ回路ＳＷ１を介して電源電圧線に接続される。プルダウン抵抗Ｒ２は、プルダウンのオン／オフを切り替えるために、スイッチ回路ＳＷ２を介して接地線に接続される。スイッチ回路ＳＷ１、ＳＷ２については、いずれか一方がオンのとき、他方がオフとなるように排他的に制御される。
【００４２】
デュアルロールデバイス２０も同様に、データ信号線Ｄ＋をプルアップするためのプルアップ抵抗Ｒ３と、データ信号線Ｄ＋をプルダウンするためのプルダウン抵抗Ｒ４とを有している。プルアップ抵抗Ｒ３は、プルアップのオン／オフを切り替えるために、スイッチ回路ＳＷ３を介して電源電圧線に接続される。プルダウン抵抗Ｒ４は、プルダウンのオン／オフを切り替えるために、スイッチ回路ＳＷ４を介して接地線に接続される。スイッチ回路ＳＷ３、ＳＷ４については、いずれか一方がオンのとき、他方がオフとなるように排他的に制御される。
【００４３】
デュアルロールデバイス１０、２０では、データ信号線Ｄ−はプルダウンされている。
【００４４】
またデュアルロールデバイス１０、２０は、ともにＡデバイスになり得るため、ＶＢＵＳラインに電流を供給する電源制御回路ＶＢＡ、ＶＢＢを含む。図２では、デュアルロールデバイス１０が、電源制御回路ＶＢＡによりＶＢＵＳラインに電流を供給する。
【００４５】
１．２　ＳＲＰ（Ｓｅｓｓｉｏｎ　Ｒｅｑｕｅｓｔ　Ｐｒｏｔｏｃｏｌ）
ＯＴＧ規格では、バス上でやり取りがないとき、ＡデバイスがＶＢＵＳラインへの電流供給を停止することができる。したがって、バッテリで動作する携帯機器等がホストとして動作した場合でも無駄な電力消費を削減し、低消費電力化を図ることができるようになっている。この状態でＢデバイスがセッションを開始してデータ転送を行う場合、ＳＲＰと呼ばれる手順にしたがってＡデバイスに対しＶＢＵＳラインへの電流供給を要求することができる。ここで、セッションとはＶＢＵＳラインの電圧が所与の閾値電圧を越えている期間をいう。
【００４６】
図３に、図２に示したデュアルロールデバイスの構成を参照しながら、ＦＳモードにおけるＳＲＰの実行手順を説明するための図を示す。
【００４７】
ＦＳモードでは、ホスト側のデータ信号線Ｄ＋はプルダウンされ（スイッチ回路ＳＷ１がオフ、スイッチ回路ＳＷ２がオン）、ペリフェラル側のデータ信号線Ｄ＋はプルアップされている（スイッチ回路ＳＷ３がオン、スイッチ回路ＳＷ４がオフ）。
【００４８】
バス上のやり取りがなくＡデバイスがＶＢＵＳラインへの電流供給を停止すると（Ｓ１０）、ＶＢＵＳの電圧が下がり「Ｖｂ＿ｓｅｓｓ＿ｖｌｄ」レベル（Ｂ−Ｄｅｖｉｃｅ　Ｓｅｓｓｉｏｎ　Ｖａｌｉｄ未満）となる（Ｓ１１）。Ｂデバイスは、これを検出すると、スイッチ回路ＳＷ３によりデータ信号線Ｄ＋のプルアップ抵抗を無効にする（Ｓ１２）。これにより、データ信号線のラインステートは「ＳＥ０」状態（ＦＳモードでは、データ信号線Ｄ＋が「Ｌ」レベル、データ信号線Ｄ−が「Ｌ」レベルの状態）となる（Ｓ１３）。
【００４９】
ＶＢＵＳの電圧が「Ｖｂ＿ｓｅｓｓ＿ｅｎｄ」（Ｂ−Ｄｅｖｉｃｅ　Ｓｅｓｓｉｏｎ　Ｅｎｄ）より小さく、かつラインステートの「ＳＥ０」状態が２ｍｓ以上継続すると、ＢデバイスがＳＲＰを開始（ｉｎｉｔｉａｔｅ）することができる。ＳＲＰは、データラインパルシング（Ｄａｔａ−ｌｉｎｅ　Ｐｕｌｓｉｎｇ）又はＶＢＵＳパルシング（ＶＢＵＳ　Ｐｕｌｓｉｎｇ）により行うことができる。データラインパルシングは、ラインステートを「ＳＥ０」状態、「Ｊ」状態（ＦＳモードでは、データ信号線Ｄ＋が「Ｈ」レベル、データ信号線Ｄ−が「Ｌ」レベルの状態）、「ＳＥ０」状態に遷移させる方法である。ＶＢＵＳパルシングは、ＢデバイスからＶＢＵＳラインに電流を供給し、ＶＢＵＳラインの電圧を「Ｌ」レベル（Ｖｂ＿ｓｅｓｓ＿ｅｎｄ未満）、「Ｈ」レベル（Ｖａ＿ｓｅｓｓ＿ｖｌｄより大）、「Ｌ」レベルの状態に遷移させる方法である（Ｓ１４、Ｓ１５）。
【００５０】
Ａデバイスは、データ信号線又はＶＢＵＳラインの電圧を監視して、いずれかの方法によりＳＲＰが行われたことを検出すると、ＡデバイスがＶＢＵＳラインへの電流供給を開始する（Ｓ１６）。これにより、ＶＢＵＳラインの電圧が「Ｖｂ＿ｓｅｓｓ＿ｖｌｄ」以上となる（Ｓ１７）。
【００５１】
Ｂデバイスは、ＶＢＵＳラインの電圧が「Ｖｂ＿ｓｅｓｓ＿ｅｎｄ」以上になったことを検出すると、スイッチ回路ＳＷ３によりデータ信号線Ｄ＋のプルアップ抵抗を有効にして（Ｓ１８）、ラインステートを「Ｊ」状態に遷移させ（Ｓ１９）、ペリフェラルとして動作開始する。
【００５２】
Ａデバイスは、ラインステートが「Ｊ」状態になったことを検出すると、ホストとして動作開始する（Ｓ２０）。
【００５３】
１．３　ＨＮＰ（Ｈｏｓｔ　Ｎｅｇｏｔｉａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）
ＯＴＧ規格では、接続されたプラグによりＡデバイスかＢデバイスかが決まるが、そのプラグを差し替えることなく、ホスト機能とペリフェラル機能とを交換することができる。ＨＮＰは、このホスト機能とペリフェラル機能とを交換するための手順である。
【００５４】
図４に、図２に示したデュアルロールデバイスの構成を参照しながら、ＦＳモードにおけるＨＮＰの実行手順を説明するための図を示す。
【００５５】
Ａデバイスがホストとして動作し、Ｂデバイスがペリフェラルとして動作し、ＨＮＰがイネーブルの状態であるものとする。
【００５６】
Ａデバイスがバスの使用を終了すると（Ｓ３０）、ラインステートをアイドル状態（ＦＳモードでは、「Ｊ」状態）にする（Ｓ３１）。
【００５７】
Ｂデバイスは、３ｍｓ以上「Ｊ」状態であることを検出すると、スイッチ回路ＳＷ３によりデータ信号線Ｄ＋のプルアップ抵抗を無効にして（Ｓ３２）、ラインステートを「ＳＥ０」状態にする（Ｓ３３）。Ａデバイスは、ラインステートが「ＳＥ０」状態であることを検出すると、スイッチ回路ＳＷ１によりデータ信号線Ｄ＋のプルアップ抵抗を有効（プルダウン抵抗を無効）にする（Ｓ３４）。これにより、ラインステートが「Ｊ」状態となるので（Ｓ３５）、Ａデバイスはペリフェラルとして動作を開始し、Ｂデバイスはラインステートが「Ｊ」状態であることを検出してホストとして動作を開始することができる（Ｓ３６）。
【００５８】
Ｂデバイスが、ホストとしてバスの使用を終了すると（Ｓ３７）、スイッチ回路ＳＷ３、ＳＷ４によりラインステートをアイドル状態にする（Ｓ３８）。Ａデバイスは、これを検出するとデータ信号線Ｄ＋のプルアップ抵抗を無効にして（Ｓ３９）、ラインステートを「ＳＥ０」状態に遷移させる（Ｓ４０）。Ｂデバイスは、ラインステートが「ＳＥ０」状態であることを検出すると、スイッチ回路ＳＷ３によりデータ信号線Ｄ＋のプルアップ抵抗を有効（プルダウン抵抗を無効）にする（Ｓ４１）。これにより、ラインステートが「Ｊ」状態となるので（Ｓ４２）、Ｂデバイスはペリフェラルとして動作を開始し、Ａデバイスはラインステートが「Ｊ」状態であることを検出してホストとして動作を開始することができる（Ｓ４３）。
【００５９】
このようなプロトコルによるデータ転送制御は、それぞれの状態を規定したステート間を遷移条件にしたがって遷移させることで、実現することができる。
【００６０】
以下では、Ａデバイス及びＢデバイスのステート遷移について説明する。
【００６１】
１．４　Ａデバイスのステート遷移
図５に、Ａデバイスのステート遷移を説明するための図を示す。
【００６２】
Ａデバイスは、ａ＿ｉｄｌｅステートが開始ステートである（ＳＴ１）。
【００６３】
デュアルロールデバイスのＭｉｎｉ−ＡＢレセプタクルに、ＵＳＢケーブルのＭｉｎｉ−Ａプラグが挿入されていないとき、プルアップされたＩＤ端子は「Ｈ」レベル（ｉｄ）となるため、ｂ＿ｉｄｌｅステートに遷移する（ＳＴ２）。すなわち、デュアルロールデバイスでは、デフォルトでＢデバイスとなる。一方、Ｍｉｎｉ−Ａプラグが挿入されると、ＩＤ端子が「Ｌ」レベル（ｉｄ／）となるためａ＿ｉｄｌｅステートとなる（ＳＴ１）。
【００６４】
ａ＿ｉｄｌｅステートでは、ＶＢＵＳへの電流供給が停止される。またデータ信号線Ｄ＋のプルアップが無効化（オフ）される（プルダウンが有効化される。より具体的には、スイッチ回路ＳＷ１がオフ、スイッチ回路ＳＷ２がオン）。したがって、ラインステートは「ＳＥ０」状態となる。上位アプリケーションからＶＢＵＳラインの電圧を落とす要求がないとき（ａ＿ｂｕｓ＿ｄｒｏｐ／）であって、ＵＳＢ転送を行いたいとき（ａ＿ｂｕｓ＿ｒｅｑ）又はＢデバイスからのＳＲＰを検出したとき（ａ＿ｓｒｐ＿ｄｅｔ）、ａ＿ｗａｉｔ＿ｖｒｉｓｅステートに遷移する（ＳＴ３）。
【００６５】
ａ＿ｗａｉｔ＿ｖｒｉｓｅステートでは、ＶＢＵＳラインへの電流供給が開始され、ＶＢＵＳラインの電圧が上がる。Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、ＶＢＵＳラインの電圧が所与の閾値電圧を越えたとき（ａ＿ｖｂｕｓ＿ｖｌｄ）、又は当該ステートに規定時間以上経過したとき（ａ＿ｗａｉｔ＿ｖｒｉｓｅ＿ｔｍｏｕｔ）、ａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する（ＳＴ４）。
【００６６】
ａ＿ｗａｉｔ＿ｂｃｏｎステートでは、Ａデバイス側のデータ信号線Ｄ＋のプルアップがオフとなる。このときＢデバイスによりデータ信号線Ｄ＋のプルアップが有効化（オン）（Ｂデバイスのスイッチ回路ＳＷ３がオン、スイッチ回路ＳＷ４がオフ）され、データ信号線Ｄ＋が「Ｈ」レベルになったとき（ラインステートが「Ｊ」状態）（ｂ＿ｃｏｎｎ）、ａ＿ｈｏｓｔステートに遷移する（ＳＴ５）。なお、Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、又は当該ステートで規定時間以上経過したとき（ａ＿ｗａｉｔ＿ｂｃｏｎ＿ｔｍｏｕｔ）、ａ＿ｗａｉｔ＿ｖｆａｌｌステートに遷移する（ＳＴ６）。また、何らかの原因で、ＶＢＵＳラインの電圧が所与の閾値電圧を下回ったとき（ａ＿ｖｂｕｓ＿ｖｌｄ／）、ａ＿ｖｂｕｓ＿ｅｒｒステートに遷移する（ＳＴ７）。
【００６７】
すなわちデュアルロールデバイスは、デフォルト状態ではＢデバイスであるため、Ａデバイスについては、ａ＿ｗａｉｔ＿ｂｃｏｎステートまで、データ信号線Ｄ＋はプルダウンされた状態のままである。ａ＿ｗａｉｔ＿ｖｒｉｓｅステートにおいてＶＢＵＳラインへの電流供給が開始されると、Ｂデバイスのプルアップがオンとなる。これにより、データ信号線Ｄ＋がプルダウンされた状態であるＡデバイスはホストとして動作し、データ信号線Ｄ＋がプルアップされた状態であるＢデバイスはペリフェラルとして動作する。
【００６８】
ａ＿ｈｏｓｔステートでは、ＡデバイスがＵＳＢ規格のホストとして動作する。より具体的には、ホストとしてペリフェラルをエニュメレート（ｅｎｕｍｅｒａｔｅ）するため、バスリセットするためのリセット信号として、「ＳＥ０」状態にデータ信号線を駆動する。そして、所与の規定時間だけその状態を継続させることにより、ペリフェラルではリセット処理が行われる。その後、ホストは、コントロール転送を用いて、コンフィギュレーション情報の転送やアドレスの割り当てなどを行い、ＵＳＢ転送を開始する。当該ステートにおいて、ホストになったがバスを使わなくなったとき（ａ＿ｂｕｓ＿ｒｅｑ／）、又はサスペンド状態への遷移要求があるとき（ａ＿ｓｕｓｐｅｎｄ＿ｒｅｑ）、ａ＿ｓｕｓｐｅｎｄステートに遷移する（ＳＴ８）。また、Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、ラインステートが「Ｊ」状態から「ＳＥ０」の状態になったとき（ｂ＿ｃｏｎｎ／）、又は上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、ａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する（ＳＴ９）。また、何らかの原因で、ＶＢＵＳラインの電圧が所与の閾値電圧を下回ったとき（ａ＿ｖｂｕｓ＿ｖｌｄ／）、ａ＿ｖｂｕｓ＿ｅｒｒステートに遷移する（ＳＴ１０）。
【００６９】
ａ＿ｓｕｓｐｅｎｄステートでは、ＳＯＦ（Ｓｔａｒｔ　Ｏｆ　Ｆｒａｍｅ）パケットの送出が停止される。このとき、Ｂデバイスはペリフェラルとして動作しており、Ｂデバイスではｂ＿ｐｅｒｉｐｈｅｒａｌステートのままである。このとき、ＡデバイスがＢデバイスに対して上述のＨＮＰを許可し（ａ＿ｓｅｔ＿ｂ＿ｈｎｐ＿ｅｎ）、Ｂデバイスにおいてプルアップがオフされてラインステートが「ＳＥ０」状態になると（ｂ＿ｃｏｎｎ／）、ａ＿ｐｅｒｉｐｈｅｒａｌステートに遷移する（ＳＴ１１）。また、Ａデバイスがバスを使用したいとき（ａ＿ｂｕｓ＿ｒｅｑ）、又はＢデバイスがラインステートを「Ｋ」状態にしたとき（ｂ＿ｂｕｓ＿ｒｅｓｕｍｅ）、ａ＿ｈｏｓｔステートに遷移する（ＳＴ１２）。更にまたＡデバイスがＢデバイスに対して上述のＨＮＰを許可せず（ａ＿ｓｅｔ＿ｂ＿ｈｎｐ＿ｅｎ／）、Ｂデバイスにおいてプルアップがオフされてラインステートが「ＳＥ０」状態になると（ｂ＿ｃｏｎｎ／）、ａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する（ＳＴ１３）。更にまたＭｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、又はａ＿ｓｕｓｐｅｎｄステートで規定時間以上経過したとき（ａ＿ａｉｄｌ＿ｂｄｉｓ＿ｔｍｏｕｔ）、ａ＿ｗａｉｔ＿ｖｆａｌｌステートに遷移する（ＳＴ１４）。また、何らかの原因で、ＶＢＵＳラインの電圧が所与の閾値電圧を下回ったとき（ａ＿ｖｂｕｓ＿ｖｌｄ／）、ａ＿ｖｂｕｓ＿ｅｒｒステートに遷移する（ＳＴ１５）。
【００７０】
ａ＿ｐｅｒｉｐｈｅｒａｌステートでは、Ａデバイスではプルアップをオンにし、Ｂデバイスでは後述するようにＡデバイスからＨＮＰのイネーブルによりＢデバイス側のプルアップがオフされるため、Ａデバイスがペリフェラルとなり、Ｂデバイスがホストになる。ホストとなったＢデバイスがデータ転送を終えた場合のようにＢデバイスがバスを使わないとき（ｂ＿ｂｕｓ＿ｓｕｓｐｅｎｄ）、ａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する（ＳＴ１６）。ａ＿ｗａｉｔ＿ｂｃｏｎステートでは、上述したようにＡデバイスのプルアップがオフされる。また、ａ＿ｐｅｒｉｐｈｅｒａｌステートにおいて、Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、又は上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、ａ＿ｗａｉｔ＿ｖｆａｌｌステートに遷移する（ＳＴ１７）。また、何らかの原因で、ＶＢＵＳラインの電圧が所与の閾値電圧を下回ったとき（ａ＿ｖｂｕｓ＿ｖｌｄ／）、ａ＿ｖｂｕｓ＿ｅｒｒステートに遷移する（ＳＴ１８）。
【００７１】
ａ＿ｂｕｓ＿ｅｒｒステートでは、過電流状態となるため、例えばファームウェアによりＶＢＵＳラインの電圧を落とすように要求される。このようなステートにおいては、Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、又は上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき（ａ＿ｂｕｓ＿ｄｒｏｐ）、ａ＿ｗａｉｔ＿ｖｆａｌｌステートに遷移する（ＳＴ１９）。
【００７２】
ａ＿ｗａｉｔ＿ｖｆａｌｌステートでは、ＶＢＵＳラインへの電流供給が停止される。Ｍｉｎｉ−Ａプラグが抜かれたとき（ｉｄ）、バスを使いたいとき（ａ＿ｂｕｓ＿ｒｅｑ）、又はＶＢＵＳラインの電圧が所与の閾値電圧を下回った状態で（ａ＿ｓｅｓｓ＿ｖｌｄ／）Ｂデバイスにおいてプルアップがオフされてラインステートが「ＳＥ０」状態になると（ｂ＿ｃｏｎｎ／）、ａ＿ｉｄｌｅステートに遷移する（ＳＴ２０）。
【００７３】
１．５　Ｂデバイスのステート遷移
図６に、Ｂデバイスのステート遷移を説明するための図を示す。
【００７４】
Ｂデバイスは、ｂ＿ｉｄｌｅステートが開始ステートである（ＳＴ３０）。
【００７５】
ｂ＿ｉｄｌｅステートでは、ＶＢＵＳラインへの電流供給は停止される。したがって、ＶＢＵＳラインの電圧は、所与の閾値電圧を下回る。またデータ信号線Ｄ＋のプルアップがオフされる。このとき、Ｍｉｎｉ−Ａプラグが挿入されると、ＩＤ端子が「Ｌ」レベル（ｉｄ／）となるためａ＿ｉｄｌｅステートとなる（ＳＴ３１）。またＶＢＵＳラインの電圧が所与の閾値電圧を越えると（ｂ＿ｓｅｓｓ＿ｖｌｄ）、ｂ＿ｐｅｒｉｐｈｅｒａｌステートに遷移する（ＳＴ３２）。
【００７６】
ｂ＿ｐｅｒｉｐｈｅｒａｌステートでは、データ信号線Ｄ＋のプルアップがオンとなるため、Ａデバイスのａ＿ｗａｉｔ＿ｂｃｏｎステートにおいてｂ＿ｃｏｎｎの検出を行うことができる。ｂ＿ｐｅｒｉｈｅｒａｌステートでは、Ａデバイスからの要求に応答して、ペリフェラルとして動作する。Ｂデバイスがホストになるときは、Ａデバイスがａ＿ｓｕｓｐｅｎｄになったことを検出し（ａ＿ｂｕｓ＿ｓｕｓｐｅｎｄ）、Ｂデバイスの上位アプリケーションからのホスト動作要求（ｂ＿ｂｕｓ＿ｒｅｑ）があって、かつＡデバイスからＨＮＰをイネーブルに設定されているとき（ｂ＿ｈｎｐ＿ｅｎ）、ｂ＿ｗａｉｔ＿ａｃｏｎステートに遷移する（ＳＴ３３）。またｂ＿ｐｅｒｉｐｈｅｒａｌステートにおいて、Ｍｉｎｉ−Ａプラグが挿入されたとき（ｉｄ／）、又はＶＢＵＳラインの電圧が所与の閾値電圧を下回ったとき（ｂ＿ｓｅｓｓ＿ｖｌｄ／）、ｂ＿ｉｄｌｅステートに遷移する（ＳＴ３４）。この結果、ｂ＿ｉｄｌｅステートにおいてプルアップがオフされ、例えばＡデバイスはａ＿ｗａｉｔ＿ｖｆａｌｌステートからａ＿ｉｄｌｅステートに遷移することができる。
【００７７】
ｂ＿ｗａｉｔ＿ａｃｏｎステートでは、Ｂデバイスのデータ信号線Ｄ＋のプルアップがオフされ、Ａデバイス側でデータ信号線Ｄ＋がプルアップされるのを待つ。そして、Ａデバイス側でデータ信号線Ｄ＋のプルアップがオンされると（ａ＿ｃｏｎｎ）、ｂ＿ｈｏｓｔステートに遷移する（ＳＴ３５）。またｂ＿ｗａｉｔ＿ａｃｏｎステートにおいて、Ａデバイスがラインステートを「Ｋ」状態にしたことを検出したとき（ａ＿ｂｕｓ＿ｒｅｓｕｍｅ）、又はｂ＿ｗａｉｔ＿ａｃｏｎステートで規定時間以上経過すると（ｂ＿ａｓｅ０＿ｂｒｓｔ＿ｔｍｏｕｔ）、ｂ＿ｐｅｒｉｐｈｅｒａｌステートに遷移する（ＳＴ３６）。また、Ｍｉｎｉ−Ａプラグが挿入されたとき（ｉｄ／）、又はＶＢＵＳラインの電圧が所与の閾値電圧を下回るとき（ｂ＿ｓｅｓｓ＿ｖｌｄ／）、ｂ＿ｉｄｌｅステートに遷移する（ＳＴ３７）。
【００７８】
ｂ＿ｈｏｓｔステートでは、ホスト処理が行われる。すなわち、バスリセットを行って、ＳＯＦパケットの生成を開始する。Ａデバイスは、ホストとして動作するＢデバイスからの要求に応答することになる。Ｂデバイスが、ホストとして転送するデータがなくなりバスを使用しないとき（ｂ＿ｂｕｓ＿ｒｅｑ／）、又はＡデバイスにおいてプルアップがオフされたことが検出されたとき（ａ＿ｃｏｎｎ／）、ｂ＿ｐｅｒｉｐｈｅｒａｌに遷移する（ＳＴ３８）。このとき、Ａデバイスは、Ｂデバイスのｂ＿ｂｕｓ＿ｓｕｓｐｅｎｄとして検出することができ、Ａデバイスではａ＿ｐｅｒｉｐｈｅｒａｌステートからａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する。この結果、Ａデバイスのプルアップがオフされる。ｂ＿ｐｅｒｉｐｈｅｒａｌステートでは、Ｂデバイスはプルアップがオンされる。また、ｂ＿ｈｏｓｔステートにおいて、Ｍｉｎｉ−Ａプラグが挿入されたとき（ｉｄ／）、又はＶＢＵＳラインの電圧が所与の閾値電圧を下回るとき（ｂ＿ｓｅｓｓ＿ｖｌｄ／）、ｂ＿ｉｄｌｅステートに遷移する（ＳＴ３９）。
【００７９】
Ｂデバイスは、Ａデバイスがサスペンド状態のときＳＲＰによりセッション開始を要求することができる。すなわち、ｂ＿ｉｄｌｅステートにおいて、Ｂデバイスの上位アプリケーションからのバス使用要求があり（ｂ＿ｂｕｓ＿ｒｅｑ）、ＶＢＵＳラインの電圧がＢデバイスのセッション終了閾値電圧を下回った状態で（ｂ＿ｓｅｓｓ＿ｅｎｄ）、かつラインステートが「ＳＥ０」の状態で規定時間以上経過したとき（ｂ＿ｓｅ０＿ｓｒｐ）、ｂ＿ｓｒｐ＿ｉｎｉｔステートに遷移する（ＳＴ４０）。
【００８０】
ｂ＿ｓｒｐ＿ｉｎｉｔステートでは、ＳＲＰによりセッション開始をＡデバイスに対して要求する。ＢデバイスがＳＲＰを終了したとき（ｂ＿ｓｒｐ＿ｄｏｎｅ）、又はＭｉｎｉ−Ａプラグが挿入されたとき（ｉｄ／）、ｂ＿ｉｄｌｅステートに遷移する（ＳＴ４１）。
【００８１】
２．　データ転送制御装置
ＯＴＧ規格に準拠したデバイスは、上述したＳＲＰをイニシエートする必要性からセルフパワーで動作することが必要となってくる。したがって、当該デバイスが例えばＵＳＢ（ＵＳＢ１．１又はＵＳＢ２．０）準拠の標準ホストと接続される場合には、標準ホストからＶＢＵＳラインに電流が供給されているにも関わらず、自デバイス内の電源を消費するという無駄が生じる。
【００８２】
そこで、以下に述べる実施形態におけるＯＴＧ規格に準拠したデバイスとしてのデータ転送制御装置は、上述のステート遷移により、デュアルロールデバイスとしての動作を実現する一方、電源切替回路を設け、該電源切替回路により無駄な電力消費を削減することができるようになっている。
【００８３】
２．１　第１の実施形態
第１の実施形態におけるデータ転送制御装置は、電源切替回路により、セルフパワー電源からバスパワー電源に切り替えることができる。
【００８４】
図７に、第１の実施形態におけるデータ転送制御装置の構成の概要を示す。
【００８５】
データ転送制御装置１００は、ＯＴＧコントローラとしてＯＴＧ規格に従ったデータ転送を制御することができる。
【００８６】
このようなデータ転送制御装置１００は、データ転送処理回路１１０と、電源回路１２０と、給電スイッチ回路１３０と、電源制御回路１４０と、ＩＤ検出回路１５０と、ＶＢＵＳコンパレータ１６０とを含む。
【００８７】
データ転送処理回路１１０は、ステートコントローラ１１２を含む。ステートコントローラ１１２は、図５及び図６に示すステート遷移により、Ａデバイス（第１のデバイス）のホスト又はペリフェラルとしての動作、Ｂデバイス（第２のデバイス）のペリフェラル又はホストとしての動作の切り替えを行うことができる。データ転送処理回路１１０は、ステートコントローラ１１２のステート遷移により、データ信号線（データライン。Ｄ＋、Ｄ−）を介して、ＯＴＧ規格に従ったデータ転送の処理を行う。
【００８８】
電源回路１２０は、内部電源切替回路１２２を含む。内部電源切替回路１２２は、例えばコンセント等を介して接続される外部電源（ＡＣ電源）１２４、又はデータ転送制御装置１００に内蔵する充電式蓄電池１２６のいずれかから、給電スイッチ回路１３０を介してＶＢＵＳライン、若しくは電源制御回路１４０を介してデータ転送処理回路１１０に対して、電源を供給することができるようになっている。
【００８９】
給電スイッチ回路１３０は、ステートコントローラ１１２において遷移したステートに対応した制御信号ＶＢＵＳＯＮに基づいて、電源回路１２０とＶＢＵＳラインとを電気的に接続することができる。制御信号ＶＢＵＳＯＮは、図５に示すＡデバイスのａ＿ｗａｉｔ＿ｖｒｉｓｅステート、ａ＿ｗａｉｔ＿ｂｃｏｎステート、ａ＿ｈｏｓｔステート、ａ＿ｓｕｓｐｅｎｄステート及びａ＿ｐｅｒｉｐｈｅｒａｌステートのときアクティブになる。また制御信号ＶＢＵＳＯＮは、図６に示すＢデバイスのｂ＿ｓｒｐ＿ｉｎｉｔステートでＶＢＵＳパルシングを実施中にアクティブになる。制御信号ＶＢＵＳＯＮがアクティブのとき、給電スイッチ回路１３０は電源回路１２０とＶＢＵＳラインとを電気的に接続する。
【００９０】
電源制御回路１４０は、電源切替回路１４２を含む。電源切替回路１４２は、切替信号ＰＷＲＳＥＬにより、ＶＢＵＳライン又は電源回路１２０のいずれかと、データ転送処理回路１１０とを電気的に接続する。すなわち、切替信号ＰＷＲＳＥＬにより、データ転送処理回路１１０に対し、ＶＢＵＳライン又は電源回路１２０のいずれかから電源が供給される。
【００９１】
切替信号ＰＷＲＳＥＬは、切替スイッチ回路１４４の出力信号、又はステートコントローラ１１２からの制御信号に基づいて生成される。ここで切替スイッチ回路１４４は、例えば機械的にオン・オフを設定可能なスイッチ回路であって、データ転送制御装置１００の操作者による手動で切替可能に構成されているものであってもよい。また、ソフトウェア的にオン・オフを設定可能なスイッチ回路であってもよい。また切替信号ＰＷＲＳＥＬは、切替スイッチ回路１４４の出力信号とステートコントローラ１１２からの制御信号とに基づいて生成されるものであってもよい。
【００９２】
ＩＤ検出回路１５０は、図２に示すＩＤ検出回路１２、２２と同様にＩＤ端子に接続される信号線の電圧を検出し、ＵＳＢケーブルのプラグの種類を判別するためのものである。
【００９３】
ＶＢＵＳコンパレータ１６０は、ＶＢＵＳラインの電圧を監視する。より具体的には、ＶＢＵＳコンパレータ１６０は、Ａデバイスとして動作時にはＶＢＵＳの電圧がＡデバイスのセッションバリッド閾値（Ｓｅｓｓｉｏｎ　Ｖａｌｉｄ　ｔｈｒｅｓｈｏｌｄ）（Ｖａ＿ｓｅｓｓ＿ｖｌｄ）やＶＢＵＳバリッド閾値（ＶＢＵＳ　Ｖａｌｉｄ　ｔｈｒｅｓｈｏｌｄ）（Ｖａ＿ＶＢＵＳ＿ｖｌｄ）を超えたか否かを検出する。またＶＢＵＳコンパレータ１６０は、Ｂデバイスとして動作時にはＶＢＵＳの電圧がＢデバイスのセッションバリッド閾値（Ｖｂ＿ｓｅｓｓ＿ｖｌｄ）を超えたか否かを検出する。ＩＤ検出回路１５０の出力であるＩＤ検出信号ＩＤＤＥＴＥＣＴは、ステートコントローラ１１２に入力される。ＶＢＵＳコンパレータ１６０の出力であるＶＢＵＳ検出信号ＶＣＯＭＰは、ステートコントローラ１１２に入力される。
【００９４】
図８に、第１の実施形態におけるデータ転送制御装置の電源切替フローの一例を示す。
【００９５】
ここでは切替信号が、ステートコントローラ１１２の出力に基づいて生成される場合を説明する。
【００９６】
まず電源が投入されると、データ転送制御装置１００は初期化される。そして、ステートコントローラ１１２では、図５及び図６に示したようにｂ＿ｉｄｌｅステートに遷移した状態となる（ステップＳ２００）。これにより、セルフパワー電源、すなわち図７の外部電源１２４又は充電式蓄電池１２６からの電源供給により、データ転送制御やその他の回路ブロックが動作する。
【００９７】
ここでユーザによってＵＳＢケーブルが接続されると、ＩＤ端子に接続される信号線の電圧を検出する（ステップＳ２０１）。ＩＤ検出回路１５０により、接続されたＵＳＢケーブルのプラグがＭｉｎｉ−Ａプラグであることが検出されたとき以外、すなわちＩＤ検出信号ＩＤＤＥＴＥＣＴが「Ｈ」のとき（ステップＳ２０１：Ｙ）、ステートコントローラ１１２の出力を判別する（ステップＳ２０２）。
【００９８】
より具体的には、ステートコントローラ１１２の出力より、ｂ＿ｉｄｌｅステート（広義には、Ｂデバイスのアイドル状態）であり、かつＶＢＵＳラインの電圧が「Ｖｂ＿ｓｅｓｓ＿ｖｌｄ」（第１の閾値）を超えた（ｂ＿ｓｅｓｓ＿ｖｌｄが真）か否かを判別する。これは、データの転送先又は転送元が、ＵＳＢ規格の標準ホスト、或いはＯＴＧ規格のＡデバイスであって常にＶＢＵＳラインに電源を供給するデバイスであるか判別するものである。
【００９９】
そして、ｂ＿ｉｄｌｅステートであり、かつｂ＿ｓｅｓｓ＿ｖｌｄが真のとき（ステップＳ２０２：Ｙ）、バスパワー電源に切り替える（ステップＳ２０３）。すなわち電源制御回路１４０の電源切替回路１４２により、データ転送処理回路１１０に対して、ＶＢＵＳラインから電源を供給するように切り替える。これにより、Ｂデバイスで動作時においても、データ転送処理回路１１０はバスパワー電源で動作することになる。
【０１００】
その後、電源回路１２０をディセーブルにして、無駄な電力消費を削減する（ステップＳ２０４）。より具体的には、内部電源切替回路１２２において、外部電源１２４又は充電式蓄電池１２６と他の内部回路とを電気的に切断する。
【０１０１】
なおステップＳ２０１でＩＤ検出回路１５０により、接続されたＵＳＢケーブルのプラグがＭｉｎｉ−Ａプラグであることが検出されたとき（ステップＳ２０１：Ｙ）、又はステップＳ２０２でｂ＿ｉｄｌｅステートかつｂ＿ｓｅｓｓ＿ｖｌｄが真ではないと判別されたとき（ステップＳ２０２：Ｎ）、少なくともデータ転送処理回路１１０はセルフパワー電源により動作することに変化はない。ステップＳ２０２で「Ｎ」の場合、セルフパワー電源により接続相手に対してＳＲＰをイニシエートすることができる。
【０１０２】
このように、データ転送制御装置１００がセルフパワー電源で動作することが必要とされる場合に、接続相手からＶＢＵＳラインに電源が供給されていることが確認されたときに、セルフパワー電源からバスパワー電源に切り替えることができる（内部の電源の供給元を電源回路１２０からＶＢＵＳラインに切り替えることができる）。したがって、接続相手から供給される電源を用いて内部回路を動作させることができるので、内部の電源回路において無駄な電力消費を削減することができる。
【０１０３】
なお図８ではステートコントローラ１１２の出力に基づいて切替信号ＰＷＲＳＥＬを生成するものとして説明したが、切替スイッチ回路１４４やソフトウェアを用いて切替信号ＰＷＲＳＥＬを生成するようにしてもよい。
【０１０４】
２．２　第２の実施形態
第１の実施形態では、電源制御回路１４０の電源切替回路１４２によりセルフパワー電源からバスパワー電源に切り替えることができるデータ転送制御装置を提供する。ところが、バスパワー電源に切り替え後、ＶＢＵＳラインに電源を供給する接続相手が何らかの原因で電源を供給できなくなった場合には、データ転送制御装置は、異常状態としてデータ転送制御を停止せざるを得ない。
【０１０５】
そこで第２の実施形態では、バスパワー電源に切り替え後にＶＢＵＳラインに電源を供給する接続相手が何らかの原因で電源を供給できなくなった場合であっても、バックアップ電源に切り替えて内部回路を正常に動作させ続けることができるようになっている。
【０１０６】
図９に、第２の実施形態におけるデータ転送制御装置の構成の概要を示す。
【０１０７】
ここでは第２の実施形態におけるデータ転送制御装置同士が、ＵＳＢケーブルを介して接続されている状態を示している。すなわち、一方がＡデバイスとしてホスト側の電子機器Ｐに搭載され、他方がＢデバイスとしてペリフェラル側の電子機器Ｑに搭載される。
【０１０８】
また図７に示した第１の実施形態におけるデータ転送制御装置と同一部分には同一符号を付して適宜説明を省略する。ただし、各符号には、ホスト側のブロックであることを示す「ｈ」、又はペリフェラル側のブロックであることを示す「ｐ」を添えて付している。
【０１０９】
電子機器Ｐ、Ｑに搭載されるデータ転送制御装置３００、４００は、同一構成である。図９に示すように、データ転送制御装置３００にはＭｉｎｉ−Ａプラグが接続されているため、データ転送制御装置３００はＡデバイスとして動作する。データ転送制御装置４００にはＭｉｎｉ−Ｂプラグが接続されているため、データ転送制御装置４００はＢデバイスとして動作する。
【０１１０】
データ転送制御装置３００、４００が、第１の実施形態におけるデータ転送制御装置１００と異なる点は、電源制御回路３４０ｈ、３４０ｐの構成と、新たに付加されたＶＢＵＳ電圧検出回路（電源ライン電圧検出回路）３５０ｈ、３５０ｐである。
【０１１１】
電源制御回路３４０ｈ、３４０ｐは、電源切替回路１４２ｈ、１４２ｐを含む。電源切替回路１４２ｈに入力される切替信号ＰＷＲＳＥＬは、ＩＤ検出回路１５０ｈと、ＶＢＵＳ電圧検出回路３５０ｈの出力信号ＣＯＭＰＯＵＴとの論理積演算結果である。電源切替回路１４２ｐに入力される切替信号ＰＷＲＳＥＬは、ＩＤ検出回路１５０ｐと、ＶＢＵＳ電圧検出回路３５０ｐの出力信号ＣＯＭＰＯＵＴとの論理積演算結果である。
【０１１２】
ＶＢＵＳ電圧検出回路３５０ｈ、３５０ｐは、ＶＢＵＳラインの電圧が所与の閾値（第２の閾値）を超えたか否かを検出し、その検出結果を出力信号ＣＯＭＰＯＵＴとして出力する。ＶＢＵＳ電圧検出回路３５０ｈにおける閾値（第２の閾値）は、ＶＢＵＳコンパレータ１６０ｈにおける閾値（第１の閾値）より高い。ＶＢＵＳ電圧検出回路３５０ｐにおける閾値（第２の閾値）は、ＶＢＵＳコンパレータ１６０ｐにおける閾値（第１の閾値）より高い。
【０１１３】
図１０に、第２の実施形態におけるデータ転送制御装置の電源切替フローの一例を示す。
【０１１４】
まず電源が投入されると、データ転送制御装置は初期化される。そして、ステートコントローラでは、図５及び図６に示したようにｂ＿ｉｄｌｅステートに遷移した状態となる（ステップＳ４５０）。これにより、セルフパワー電源、すなわち図１０の外部電源１２４ｈ（１２４ｐ）又は充電式蓄電池１２６ｈ（１２６ｐ）からの電源供給により、データ転送制御やその他の回路ブロックが動作する。
【０１１５】
ここでユーザによってＵＳＢケーブルが接続されると、ＩＤ端子に接続される信号線の電圧を検出する（ステップＳ４５１）。ＩＤ検出回路１５０ｈ（１５０ｐ）により、接続されたＵＳＢケーブルのプラグがＭｉｎｉ−Ａプラグであることが検出されたとき以外、すなわちＩＤ検出信号ＩＤＤＥＴＥＣＴが「Ｈ」のとき（ステップＳ４５１：Ｎ）、ステートコントローラ１１２ｈ（１１２ｐ）の出力を判別する（ステップＳ４５２）。
【０１１６】
より具体的には、ステートコントローラ１１２ｈ（１１２ｐ）の出力より、ｂ＿ｉｄｌｅステート（広義には、Ｂデバイスのアイドル状態）であり、かつＶＢＵＳの電圧が「Ｖｂ＿ｓｅｓｓ＿ｖｌｄ」（第１の閾値）を超えた（ｂ＿ｓｅｓｓ＿ｖｌｄが真）か否かを判別する。そして、ｂ＿ｉｄｌｅステートであり、かつｂ＿ｓｅｓｓ＿ｖｌｄが真のとき（ステップＳ４５２：Ｙ）、バスパワー電源に切り替える（ステップＳ４５３）。すなわち電源制御回路３４０ｈ（３４０ｐ）の電源切替回路１４２ｈ（１４２ｐ）により、データ転送処理回路１１０ｈ（１１０ｐ）に対して、ＶＢＵＳラインから電源を供給するように切り替える。
【０１１７】
その後、電源回路１２０ｈ（１２０ｐ）をディセーブルにして、無駄な電力消費を削減する（ステップＳ４５４）。より具体的には、内部電源切替回路１２２ｈ（１２２ｐ）において、外部電源１２４ｈ（１２４ｐ）又は充電式蓄電池１２６ｈ（１２６ｐ）と他の内部回路とを電気的に切断する。
【０１１８】
続いて、状態変数ｂ＿ｂａｃｋｕｐが偽か否かを判別する（ステップＳ４５５）。状態変数ｂ＿ｂａｃｋｕｐは、ＶＢＵＳラインの電圧がバックアップ用閾値ＶＢ＿ＢＡＣＫＵＰ（第２の閾値）を超えたときに真となる。バックアップ用閾値ＶＢ＿ＢＡＣＫＵＰは、任意に設定可能な閾値であって、後述するようにＢデバイスのセッションバリッド電圧「Ｖｂ＿ｓｅｓｓ＿ｖｌｄ」（第１の閾値）より高く、ＡデバイスのＶＢＵＳバリッド電圧「Ｖａ＿ＶＢＵＳ＿ｖｌｄ」より低く設定される。状態変数ｂ＿ｂａｃｋｕｐは、ＶＢＵＳ電圧検出回路３５０ｈ（３５０ｐ）の出力信号ＣＯＭＰＯＵＴである。
【０１１９】
そして、状態変数ｂ＿ｂａｃｋｕｐが偽になったとき（ステップＳ４５５：Ｎ）、すなわちＶＢＵＳラインの電圧がバックアップ用閾値ＶＢ＿ＢＡＣＫＵＰ（第２の閾値）を下回ったとき、電源回路１２０をイネーブルにし（ステップＳ４５６）、セルフパワー電源に切り替える（ステップＳ４５７）。
【０１２０】
なおステップＳ４５１でＩＤ検出回路１５０ｈ（１５０ｐ）により、接続されたＵＳＢケーブルのプラグがＭｉｎｉ−Ａプラグであることが検出されたとき（ステップＳ４５１：Ｎ）、又はステップＳ４５２でｂ＿ｉｄｌｅステートかつｂ＿ｓｅｓｓ＿ｖｌｄが真ではないと判別されたとき（ステップＳ４５２：Ｎ）、少なくともデータ転送処理回路１１０はセルフパワー電源により動作することに変化はない。ステップＳ４５２で「Ｎ」の場合、セルフパワー電源により接続相手に対してＳＲＰをイニシエートすることができる。
【０１２１】
このように、ＯＴＧ規格に準拠したデータ転送制御装置において、セルフパワー電源からバスパワー電源に切り替わった後、何らかの原因でＶＢＵＳラインに電源が供給されなくなった場合であっても、ＶＢＵＳラインの電圧降下を検出してセルフパワー電源に切り替えるようにした。これにより、Ｂデバイスでバスパワー電源に切り替えられた後に、何らかの原因でＶＢＵＳラインに電源が供給されなくなっても、セルフパワー電源に切り替えることができるので、内部回路に対し充電式蓄電池等のバックアップ用電源から電源を供給し続けることができる。
【０１２２】
次に、第２の実施形態におけるデータ転送制御装置の具体的な動作について説明する。
【０１２３】
図１１に、図９に示す第２の実施形態におけるデータ転送制御装置同士が接続された場合の電源切替のタイミングチャートの一例を示す。
【０１２４】
電源投入後、データ転送制御装置３００、４００は初期化され、いずれもＢデバイスのアイドル状態（ｂ＿ｉｄｌｅステート）に遷移する。データ転送制御装置３００、４００は、ともにＯＴＧ規格に準拠したデータ転送制御を行うため、デフォルト状態ではセルフパワー電源で動作する。
【０１２５】
時刻ｔ１において、ＵＳＢケーブルが接続されるものとする。データ転送制御装置３００にＭｉｎｉ−Ａプラグが接続され、データ転送制御装置４００にＭｉｎｉ−Ｂプラグが接続されたものとして考える。
【０１２６】
データ転送制御装置３００のＩＤ検出回路１５０ｈでは、ＩＤ端子に接続された信号線が接地されるため、ＩＤ検出信号ＩＤＤＥＴＥＣＴが「Ｌ」となる。したがって、データ転送制御装置３００は、ＵＳＢケーブルの接続が変更されない限り、時刻ｔ１以降ではＡデバイスとして動作することになり、ａ＿ｉｄｌｅステートに遷移する。すなわち、データ転送制御に関する限り、デフォルト状態ではセルフパワー電源で行われる。一方、データ転送制御装置４００のＩＤ検出回路１５０ｐでは、ＩＤ端子がプルアップされたままであるため、ＩＤ検出信号ＩＤＤＥＴＥＣＴが「Ｈ」となる。したがって、データ転送制御装置４００は、ＵＳＢケーブルの接続が変更されない限り、時刻ｔ１以降ではＢデバイスとして動作することになり、ｂ＿ｉｄｌｅステートのままとなる。すなわち、データ転送制御に関する限り、デフォルト状態ではバスパワー電源で行われる。
【０１２７】
そして、データ転送制御装置４００において、上位アプリケーションからのバス使用要求等によりＳＲＰをイニシエートするため、時刻ｔ２においてｂ＿ｓｒｐ＿ｉｎｉｔステートに遷移する。このステートでは、データ転送制御装置４００は、データ転送制御装置３００に対し、ＳＲＰをイニシエートする。その結果、データ転送制御装置３００がデータ転送制御装置４００からのＳＲＰを検出し、時刻ｔ３において、ａ＿ｗａｉｔ＿ｖｒｉｓｅステートに遷移する。一方、データ転送制御装置４００は、ｂ＿ｓｒｐ＿ｄｏｎｅ（ＳＲＰ完了）により、ｂ＿ｉｄｌｅステートに戻る。
【０１２８】
データ転送制御装置３００では、ａ＿ｗａｉｔ＿ｖｒｉｓｅステートにおいて制御信号ＶＢＵＳＯＮがアクティブになり、給電スイッチ回路１３０ｈを介して電源回路１２０ｈとＶＢＵＳラインとが電気的に接続される。これにより、ＶＢＵＳラインへの電流供給（電源供給）が開始され、ＶＢＵＳラインの電圧が上がる。
【０１２９】
データ転送制御装置４００では、ＶＢＵＳコンパレータ１６０ｐにより、ＶＢＵＳの電圧が監視されている。そして、ＶＢＵＳコンパレータ１６０ｐにより、ＶＢＵＳの電圧がＢデバイスのセッションバリッド閾値（Ｖｂ＿ｓｅｓｓ＿ｖｌｄ）（第１の閾値）を超えたと判断された時刻ｔ４において、ステートコントローラ１１２ｐにおいて、ｂ＿ｐｅｒｉｐｈｅｒａｌステートに遷移する。データ転送制御装置４００は、ｂ＿ｐｅｒｉｐｈｅｒａｌステートでは、Ａデバイスであるデータ転送制御装置３００からの要求に応答して、ペリフェラルとして動作する。
【０１３０】
続く時刻ｔ５では、データ転送制御装置３００、４００のＶＢＵＳ電圧検出回路３５０ｈ、３５０ｐにより、ＶＢＵＳラインの電圧が、Ｂデバイスのセッションバリッド閾値より高く設定されるバックアップ用閾値ＶＢ＿ＢＡＣＫＵＰ（第２の閾値）を超えたことが検出される。このとき、ＶＢＵＳ電圧検出回路３５０ｈ、３５０ｐの出力信号ＣＯＭＰＯＵＴが「Ｈ」となる。したがって、データ転送制御装置３００の電源切替回路１４２ｈでは、切替信号ＰＷＲＳＥＬが「Ｌ」のままであるため、電源回路１２０ｈとデータ転送処理回路１１０ｈとを接続した状態でセルフパワー電源のまま動作する。一方、データ転送制御装置４００の電源切替回路１４２ｐでは、切替信号ＰＷＲＳＥＬが「Ｈ」に変化するため、データ転送処理回路１１０ｐに対し、ＶＢＵＳラインから電源が供給されるように切り替えられ、バスパワー電源で動作することになる。
【０１３１】
時刻ｔ６では、Ａデバイスとして動作するデータ転送制御装置３００において、ＶＢＵＳコンパレータ１６０ｈにより、ＶＢＵＳラインのＡデバイスのＶＢＵＳバリッド閾値を超えたことが検出されたとき、ａ＿ｗａｉｔ＿ｂｃｏｎステートに遷移する。
【０１３２】
データ転送制御装置３００は、ａ＿ｗａｉｔ＿ｂｃｏｎステートにおいてデータ転送制御装置４００においてデータラインＤ＋がプルアップされたことを時刻ｔ７で確認すると、ａ＿ｈｏｓｔステートに遷移する。ａ＿ｈｏｓｔステートでは、データ転送制御装置３００は、ＵＳＢ規格のホストとして動作する。
【０１３３】
ａ＿ｈｏｓｔステートで、データ転送制御装置３００がバスを使用しなくなったとき、又は上位アプリケーションからサスペンド状態への遷移要求があるとき、時刻ｔ８にａ＿ｓｕｓｐｅｎｄステートに遷移する。
【０１３４】
ここで、上位アプリケーションからＶＢＵＳラインの電圧を落とす要求があったとき、時刻ｔ９において、データ転送制御装置３００は、ａ＿ｗａｉｔ＿ｖｆａｌｌステートに遷移する。ａ＿ｗａｉｔ＿ｖｆａｌｌステートでは、ＶＢＵＳラインへの電流供給が停止され、ＶＢＵＳラインの電圧が降下する。
【０１３５】
そして時刻ｔ１０において、データ転送制御装置３００、４００のＶＢＵＳ電圧検出回路３５０ｈ、３５０ｐにより、ＶＢＵＳラインの電圧が、バックアップ用閾値ＶＢ＿ＢＡＣＫＵＰ（第２の閾値）を下回ったことが検出される。このとき、ＶＢＵＳ電圧検出回路３５０ｈ、３５０ｐの出力信号ＣＯＭＰＯＵＴが「Ｌ」となる。したがって、データ転送制御装置３００の電源切替回路１４２ｈでは、切替信号ＰＷＲＳＥＬが「Ｌ」のままであるため、電源回路１２０ｈとデータ転送処理回路１１０ｈとを接続した状態でセルフパワー電源のまま動作する。一方、データ転送制御装置４００の電源切替回路１４２ｐでは、切替信号ＰＷＲＳＥＬが「Ｌ」に変化するため、データ転送処理回路１１０ｐに対し、電源回路１２０ｐから電源が供給されるように切り替えられ、セルフパワー電源で動作することになる。
【０１３６】
そして、時刻ｔ１１において、データ転送制御装置４００では、ＶＢＵＳコンパレータ１６０ｐにより、ＶＢＵＳラインの電圧がＢデバイスのセッションバリッド閾値（Ｖｂ＿ｓｅｓｓ＿ｖｌｄ）（第１の閾値）を下回ったと判断されると、ステートコントローラ１１２ｐにおいて、ｂ＿ｉｄｌｅステートに遷移する。
【０１３７】
続く時刻ｔ１２では、ＶＢＵＳラインの電圧がＢデバイスのセッションバリッド閾値（Ｖｂ＿ｓｅｓｓ＿ｖｌｄ）（第１の閾値）を下回るため、データ転送制御装置４００においてプルアップがオフされてラインステートが「ＳＥ０」状態になると、データ転送制御装置３００ではａ＿ｉｄｌｅステートに遷移する。
【０１３８】
このように、Ａデバイスとして動作するデータ転送制御装置３００はセルフパワー電源のまま動作する。また、Ｂデバイスとして動作するデータ転送制御装置４００は、データ転送制御に関する限りデフォルト状態としてセルフパワー電源として動作するが、ＶＢＵＳラインを介して電源が供給された状態でペリフェラル動作を行うときにはバスパワー電源で動作することができる。そして、再びＶＢＵＳラインを介して電源が供給されなくなったことを検出すると、セルフパワー電源に切り替えて次のデータ転送処理に備える。
【０１３９】
ところで、Ｂデバイスに設定されたデータ転送制御装置では、ｂ＿ｉｄｌｅステートで、ＶＢＵＳラインの電圧を検出することが望ましい。そのため、セルフパワー電源からバスパワー電源に切り替えるときには、ｂ＿ｉｄｌｅステートからｂ＿ｐｅｒｉｐｈｅｒａｌステートに遷移してから切り替え動作を行うことが望ましい。また、バスパワー電源からセルフパワー電源に切り替えるときには、ｂ＿ｉｄｌｅステートに遷移する前にセルフパワー電源に切り替えておくことが望ましい。
【０１４０】
図１２に、セルフパワー電源とバスパワー電源の切替時のタイミング図を示す。
【０１４１】
ここでは、図１１に示すタイミング図の該当部分を拡大したものである。第２の実施形態では、バックアップ用閾値ＶＢ＿ＢＡＣＫＵＰ（第２の閾値）を、Ｂデバイスのセッションバリッド閾値（Ｖｂ＿ｓｅｓｓ＿ｖｌｄ。例えば４．０Ｖ。）（第１の閾値）より高く、かつＡデバイスのＶＢＵＳバリッド閾値（Ｖａ＿ＶＢＵＳ＿ｖｌｄ。例えば４．４Ｖ）より低い電圧（例えば４．２Ｖ）に設定している。
【０１４２】
こうすることで、Ｂデバイスでは、ＶＢＵＳラインの電圧がＢデバイスのセッションバリッド閾値（第１の閾値）を超えたことを条件にｂ＿ｉｄｌｅステートからｂ＿ｐｅｒｉｈｅｒａｌステートに遷移するため、セルフパワー電源からバスパワー電源への切替をｂ＿ｐｅｒｉｐｈｅｒａｌステートで行うことができる。
【０１４３】
また、Ｂデバイスでは、ＶＢＵＳラインの電圧がＢデバイスのセッションバリッド閾値（第１の閾値）を下回ったことを条件にｂ＿ｐｅｒｉｈｅｒａｌステートからｂ＿ｉｄｌｅステートに遷移するため、バスパワー電源からセルフパワー電源への切替をｂ＿ｐｅｒｉｐｈｅｒａｌステートで行うことができる。
【０１４４】
なおＡデバイスでは、ＶＢＵＳラインの電圧を少なくともＡデバイスのＶＢＵＳバリッド閾値Ｖａ＿ＶＢＵＳ＿ｖｌｄまで上げる必要があるため、バックアップ用閾値ＶＢ＿ＢＡＣＫＵＰはＡデバイスのＶＢＵＳバリッド閾値Ｖａ＿ＶＢＵＳ＿ｖｌｄより低く設定される必要がある。
【０１４５】
３．　電子機器
次に第１又は第２の実施形態のデータ転送制御装置を含む電子機器の例について説明する。例えば図１３（Ａ）に電子機器の１つであるプリンタの内部ブロック図を示し、図１４（Ａ）にその外観図を示す。ＣＰＵ（マイクロコンピュータ）５１０はシステム全体の制御などを行う。操作部５１１はプリンタをユーザが操作するためのものである。ＲＯＭ５１６には、制御プログラム、フォントなどが格納され、ＲＡＭ５１７はＣＰＵ５１０のワーク領域として機能する。ＤＭＡＣ５１８は、ＣＰＵ５１０を介さずにデータ転送を行うためのＤＭＡコントローラである。表示パネル５１９はプリンタの動作状態をユーザに知らせるためのものである。
【０１４６】
ＵＳＢを介してパーソナルコンピュータなどの他のデバイスから送られてきたシリアルの印字データは、データ転送制御装置５００によりパラレルの印字データに変換される。そして、変換後のパラレル印字データは、ＣＰＵ５１０又はＤＭＡＣ５１８により、印字処理部（プリンタエンジン）５１２に送られる。そして、印字処理部５１２においてパラレル印字データに対して所与の処理が施され、プリントヘッダなどからなる印字部（データの出力処理を行う装置）５１４により紙に印字されて出力される。
【０１４７】
図１３（Ｂ）に電子機器の１つであるデジタルカメラの内部ブロック図を示し、図１４（Ｂ）にその外観図を示す。ＣＰＵ５２０はシステム全体の制御などを行う。操作部５２１はデジタルカメラをユーザが操作するためのものである。ＲＯＭ５２６には制御プログラムなどが格納され、ＲＡＭ５２７はＣＰＵ５２０のワーク領域として機能する。ＤＭＡＣ５２８はＤＭＡコントローラである。
【０１４８】
ＣＣＤなどからなる撮像部５２２により撮影対象の画像が読み取られ、読み取られた画像のデータは画像処理部５２４により処理される。そして、処理後の画像データは、ＣＰＵ５２０又はＤＭＡＣ５２８によりデータ転送制御装置５００に送られる。データ転送制御装置５００は、このパラレルの画像データをシリアルデータに変換し、ＵＳＢを介してパーソナルコンピュータなどの他のデバイスに送信する。
【０１４９】
図１３（Ｃ）に電子機器の１つであるＣＤ−ＲＷドライブの内部ブロック図を示し、図１４（Ｃ）にその外観図を示す。ＣＰＵ５３０はシステム全体の制御などを行う。操作部５３１はＣＤ−ＲＷをユーザが操作するためのものである。ＲＯＭ５３６には制御プログラムなどが格納され、ＲＡＭ５３７はＣＰＵ５３０のワーク領域として機能する。ＤＭＡＣ５３８はＤＭＡコントローラである。
【０１５０】
レーザ、モータ、光学系などからなる読み取り＆書き込み部（データの取り込み処理を行う装置又はデータの記憶処理を行うための装置）５３３によりＣＤ−ＲＷ５３２から読み取られたデータは、信号処理部５３４に入力され、エラー訂正処理などの所与の信号処理が施される。そして、信号処理が施されたデータが、ＣＰＵ５３０又はＤＭＡＣ５３８によりデータ転送制御装置５００に送られる。データ転送制御装置５００は、このパラレルのデータをシリアルデータに変換し、ＵＳＢを介してパーソナルコンピュータなどの他のデバイスに送信する。
【０１５１】
一方、ＵＳＢを介して他のデバイスから送られてきたシリアルのデータは、データ転送制御装置５００によりパラレルのデータに変換される。そして、このパラレルデータは、ＣＰＵ５３０又はＤＭＡＣ５３８により信号処理部５３４に送られる。そして、信号処理部５３４においてこのパラレルデータに対して所与の信号処理が施され、読み取り＆書き込み部５３３によりＣＤ−ＲＷ５３２に記憶される。
【０１５２】
なお、図１３（Ａ）、（Ｂ）、（Ｃ）において、ＣＰＵ５１０、５２０、５３０の他に、データ転送制御装置５００でのデータ転送制御のためのＣＰＵを別に設けるようにしてもよい。
【０１５３】
上述の実施形態のデータ転送制御装置を電子機器に用いれば、ホスト動作を行うパーソナルコンピュータと接続することなく、ＵＳＢ転送を行うことができる。特に携帯型の電子機器に用いることによって、ユーザはパーソナルコンピュータを持ち歩く必要がなくなり、手軽にＵＳＢ転送を行うことができる。例えば、パーソナルコンピュータを介することなく、プリンタや、ＣＤ−ＲＷとの間でＵＳＢ転送を行うことができる。
【０１５４】
また上述の実施形態のデータ転送制御装置を電子機器に用いれば、ＣＰＵ上で動作するファームウェアの処理負荷が軽減され、安価なＣＰＵを用いることが可能になる。更に、データ転送制御装置の低コスト化、小規模化を図れるため、電子機器の低コスト化、小規模化も図れるようになる。
【０１５５】
なお上述の実施形態のデータ転送制御装置を適用できる電子機器としては、上記以外にも例えば、種々の光ディスクドライブ（ＣＤ−ＲＯＭ、ＤＶＤ）、光磁気ディスクドライブ（ＭＯ）、ハードディスクドライブ、ＴＶ、ＶＴＲ、ビデオカメラ、オーディオ機器、電話機、プロジェクタ、パーソナルコンピュータ、電子手帳、ワードプロセッサなど種々のものを考えることができる。
【０１５６】
なお、本発明は第１又は第２の実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１５７】
また、本発明は、ＯＴＧ規格でのデータ転送に適用されることが特に望ましいが、これに限定されるものではない。例えばＯＴＧ規格と同様の思想に基づく規格やＯＴＧ規格を発展させた規格におけるデータ転送にも本発明は適用できる。
【０１５８】
更に上述した実施形態において、転送に先立ってＭｉｎｉ−Ａプラグが挿入されたデバイスをＡデバイス、Ｍｉｎｉ−Ｂプラグが挿入されたデバイスをＢデバイスであるものとして説明したが、転送制御中に、Ａデバイス及びＢデバイスを入れ替え、例えばＶＢＵＳの供給源を切り替えるようにした場合でも、本発明は適用できる。
【図面の簡単な説明】
【図１】図１（Ａ）は、Ｍｉｎｉ−Ａプラグ及びＭｉｎｉ−Ｂプラグを有するＵＳＢケーブルの模式図。図１（Ｂ）は、Ａデバイス及びＢデバイスについての説明図。図１（Ｃ）は、端子表を示す図。
【図２】ＵＳＢケーブルが接続されたデュアルロールデバイスの模式例。
【図３】ＳＲＰについての説明図。
【図４】ＨＮＰについての説明図。
【図５】Ａデバイスのステート遷移を説明する図。
【図６】Ｂデバイスのステート遷移を説明する図。
【図７】第１の実施形態におけるデータ転送制御装置の構成ブロック図。
【図８】第１の実施形態におけるデータ転送制御装置の電源切替フローの一例を示すフロー図。
【図９】第２の実施形態におけるデータ転送制御装置の構成ブロック図。
【図１０】第２の実施形態におけるデータ転送制御装置の電源切替フローの一例を示すフロー図。
【図１１】図９に示す第２の実施形態におけるデータ転送制御装置同士が接続された場合の電源切替のタイミングチャートの一例のタイミング図。
【図１２】セルフパワー電源とバスパワー電源の切替時のタイミング図。
【図１３】図１３（Ａ）〜（Ｃ）は電子機器の内部ブロック図。
【図１４】図１４（Ａ）〜（Ｃ）は電子機器の外観図。
【符号の説明】
１００　データ転送制御装置、１１０　データ転送処理回路、１１２　ステートコントローラ、１２０　電源回路、１２２　内部電源切替回路、１２４　外部電源、１２６　充電式蓄電池、１３０　給電スイッチ回路、１４０　電源制御回路、１４２　電源切替回路、１４４　切替スイッチ回路、１６０　ＶＢＵＳコンパレータ
【図１】
2004094914.tif 000003
【図２】
2004094914.tif 000004
【図３】
2004094914.tif 000005
【図４】
2004094914.tif 000006
【図５】
2004094914.tif 000007
【図６】
2004094914.tif 000008
【図７】
2004094914.tif 000009
【図８】
2004094914.tif 000010
【図９】
2004094914.tif 000011
【図１０】
2004094914.tif 000012
【図１１】
2004094914.tif 000013
【図１２】
2004094914.tif 000014
【図１３】
2004094914.tif 000015
【図１４】
2004094914.tif 000016