(57)【要約】【課題】ＤＲＰ機能を実装したＰｏｗｅｒＢａｎｋについてのユーザの意図しない動作を回避できる。【解決手段】コントローラは、バッテリの充放電を制御するための電源管理部に結合されたステート管理部と、ステート管理部からの指示に従って、ＵＳＢケーブル内の通信ラインを介して接続先との間で信号を遣り取りする信号伝送モジュールとを含む。信号伝送モジュールは、給電側を示す第１の抵抗または受電側を示す第２の抵抗を、通信ラインに選択的に接続することが可能である。ステート管理部は、給電側を示す第１の抵抗を通信ラインに接続して、バッテリに蓄えられた電力を接続先へ供給中に、接続先への電力供給ができなくなると、第１の抵抗を通信ラインに接続した状態を維持したまま、接続先への電力供給を停止する。【選択図】図７
2020036391.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Universal Serial Bus）  Ｔｙｐｅ−Ｃ規格に従って、給電側および受電側のいずれにもなり得るＤＲＰ（Dual Role Power）に対応したポートを提供するためのコントローラであって、
バッテリの充放電を制御するための電源管理部に結合されたステート管理部と、
前記ステート管理部からの指示に従って、ＵＳＢケーブル内の通信ラインを介して接続先との間で信号を遣り取りする信号伝送モジュールとを備え、
前記信号伝送モジュールは、給電側を示す第１の抵抗または受電側を示す第２の抵抗を、前記通信ラインに選択的に接続することが可能であり、
前記ステート管理部は、給電側を示す前記第１の抵抗を前記通信ラインに接続して、前記バッテリに蓄えられた電力を前記接続先へ供給中に、前記接続先への電力供給ができなくなると、前記第１の抵抗を前記通信ラインに接続した状態を維持したまま、前記接続先への電力供給を停止する、コントローラ。
【請求項２】
前記ステート管理部は、前記接続先との接続が切断されると、給電側を示す前記第１の抵抗に代えて、受電側を示す前記第２の抵抗を前記通信ラインに接続する、請求項１に記載のコントローラ。
【請求項３】
前記ステート管理部は、前記通信ラインがオープン状態になると、前記接続先との接続が切断されたと判断する、請求項２に記載のコントローラ。
【請求項４】
前記ステート管理部は、自コントローラが給電側であり、かつ、前記接続先が受電側である場合に前記通信ラインに現れるべき電圧とは異なる電圧が、前記通信ラインに予め定められた時間を超えて継続すると、前記接続先との接続が切断されたと判断する、請求項２に記載のコントローラ。
【請求項５】
前記予め定められた時間は、ＥｒｒｏｒＲｅｃｏｖｅｒｙステートにおいて前記通信ラインをオープンに維持する時間と、ＤＲＰ  Ｔｏｇｇｌｅ動作に要する時間との合計以上となるように設定される、請求項４に記載のコントローラ。
【請求項６】
前記ステート管理部は、前記バッテリが充電されることで、前記接続先への電力供給が可能な状態に回復すると、受電側としてのシーケンスに従って、前記接続先への電力供給を再開する、請求項１〜５のいずれか１項に記載のコントローラ。
【請求項７】
ポート毎に前記信号伝送モジュールが設けられる、請求項１〜５のいずれか１項に記載のコントローラ。
【請求項８】
前記ステート管理部は、プロセッサが制御プログラムを実行することで実現される、請求項１〜５のいずれか１項に記載のコントローラ。
【請求項９】
ＵＳＢ（Universal Serial Bus）  Ｔｙｐｅ−Ｃ規格に従って、給電側および受電側のいずれにもなり得るＤＲＰ（Dual Role Power）に対応したポートを提供するためのコントローラを用いた制御方法であって、
前記コントローラは、ＵＳＢケーブル内の通信ラインを介して接続先との間で信号を遣り取りする信号伝送モジュールを備え、
前記信号伝送モジュールは、給電側を示す第１の抵抗または受電側を示す第２の抵抗を、前記通信ラインに選択的に接続することが可能であり、
前記制御方法は、
給電側を示す前記第１の抵抗を前記通信ラインに接続して、バッテリに蓄えられた電力を前記接続先へ供給するステップと、
電力供給中に前記接続先への電力供給ができなくなると、前記第１の抵抗を前記通信ラインに接続した状態を維持したまま、前記接続先への電力供給を停止するステップとを備える、制御方法。
【請求項１０】
ＵＳＢ（Universal Serial Bus）  Ｔｙｐｅ−Ｃ規格に従って、給電側および受電側のいずれにもなり得るＤＲＰ（Dual Role Power）に対応したポートを提供するためのコントローラのプロセッサで実行される制御プログラムであって、
前記コントローラは、ＵＳＢケーブル内の通信ラインを介して接続先との間で信号を遣り取りする信号伝送モジュールを備え、
前記信号伝送モジュールは、給電側を示す第１の抵抗または受電側を示す第２の抵抗を、前記通信ラインに選択的に接続することが可能であり、
前記制御プログラムは、前記プロセッサに、
給電側を示す前記第１の抵抗を前記通信ラインに接続して、バッテリに蓄えられた電力を前記接続先へ供給するステップと、
電力供給中に前記接続先への電力供給ができなくなると、前記第１の抵抗を前記通信ラインに接続した状態を維持したまま、前記接続先への電力供給を停止するステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コントローラに関し、例えば、ＵＳＢ（Universal Serial Bus）規格に従うシーケンスを実行して接続先との間で受給電動作を実行するために用いられる。
【背景技術】
【０００２】
モバイルデバイスの普及に伴って、モバイルデバイスなどに電力を供給するモバイルバッテリなどが普及している（例えば、特許文献１など参照）。以下の説明においては、外部電源から供給される電力を蓄えるとともに、外部デバイスに対して蓄えている電力を供給する蓄電装置を「Ｐｏｗｅｒ  Ｂａｎｋ」と称す。
【０００３】
現在一般的に用いられているＰｏｗｅｒ  Ｂａｎｋは、外部デバイスに電力を供給するための出力（給電）ポート、および、外部電源から電力を受取るための入力（受電）ポートは、それぞれ別々に設けられている。例えば、給電ポートにはＵＳＢ  Ｓｔａｎｄａｒｄ−Ａ型インターフェースが用いられ、受電ポートにはＵＳＢ  Ｍｉｃｒｏ−Ｂ型インターフェースが用いられる。このように給電ポートおよび受電ポートが機能別に独立に設けられているため、例えば、Ｐｏｗｅｒ  Ｂａｎｋへの充電が完了した後に、ケーブルを繋いだままにしておいても、蓄えた電力が逆流するようなことはない。
【０００４】
より新しいＵＳＢ規格として、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースが普及しつつある（例えば、非特許文献１など参照）。ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースによれば、給電および受電は同一形状のポートが用いられることになる。そのため、単一のポートで給電および受電の両方に対応することになる。
【０００５】
ＵＳＢ  Ｔｙｐｅ−Ｃ規格においては、電力を供給するデバイス（給電側）を「Ｓｏｕｒｃｅ」あるいは「ＳＲＣ」と称し、電力を受電するデバイス（受電側）を「Ｓｉｎｋ」あるいは「ＳＮＫ」と称する。さらに、給電および受電の両方に対応するデバイスを「ＤＲＰ（Dual Role Power）」と称する。ＤＲＰ機能を実装することで、従来では別々に２つ必要だったポートが一つで済み、コストおよびスペースを削減できる（例えば、特許文献２など参照）。
【０００６】
このような利点により、Ｐｏｗｅｒ  Ｂａｎｋをはじめ、スマートフォン、タブレット、パーソナルコンピュータなどのモバイルデバイスにおいて、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースが採用される場合には、１つのポートで給電および受電の両方に対応できるように、ＤＲＰ機能が実装されることが予想される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−１３８８７０号公報
【特許文献２】特開２０１８−００７４５１号公報
【非特許文献】
【０００８】
【非特許文献１】"Universal Serial Bus Type-C Cable and Connector Specification", Release 1.3, July 14, 2017
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したようなＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースの単一のポートのみが設けられるとともに、ＤＲＰ機能が実装されたＰｏｗｅｒ  Ｂａｎｋを用いて、外部デバイスに電力を供給する場合を想定する。本願発明者は、このような構成においては、給電ポートおよび充電ポートがそれぞれ別々に設けられたＰｏｗｅｒ  Ｂａｎｋを用いて電力を供給する場合には生じなかった、新たな課題が生じることを見出した。
【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
ある実施の形態に従えば、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従って、給電側および受電側のいずれにもなり得るＤＲＰに対応したポートを提供するためのコントローラが提供される。コントローラは、バッテリの充放電を制御するための電源管理部に結合されたステート管理部と、ステート管理部からの指示に従って、ＵＳＢケーブル内の通信ラインを介して接続先との間で信号を遣り取りする信号伝送モジュールとを含む。信号伝送モジュールは、給電側を示す第１の抵抗または受電側を示す第２の抵抗を、通信ラインに選択的に接続することが可能である。ステート管理部は、給電側を示す第１の抵抗を通信ラインに接続して、バッテリに蓄えられた電力を接続先へ供給中に、接続先への電力供給ができなくなると、第１の抵抗を通信ラインに接続した状態を維持したまま、接続先への電力供給を停止する。
【発明の効果】
【００１２】
ある実施の形態によれば、ＤＲＰ機能を実装したＰｏｗｅｒ  Ｂａｎｋについてのユーザの意図しない動作を回避できる。
【図面の簡単な説明】
【００１３】
【図１】ＤＲＰ機能を搭載したＰｏｗｅｒ  Ｂａｎｋの給電動作に係る動作例を示す模式図である。
【図２】ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うＤＲＰのＰｏｒｔ  Ｒｏｌｅを担当するデバイスのステート遷移の要部を示す図である。
【図３】図２に示すステート遷移に係るシーケンスを示すシーケンスチャートである。
【図４】実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋの装置構成の一例を示す模式図である。
【図５】実施の形態１に従うコントローラの回路構成の一例を示す模式図である。
【図６】実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋのステート遷移の要部を示す図である。
【図７】実施の形態１に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。
【図８】実施の形態１に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作の動作例を示す模式図である。
【図９】実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋの給電動作に係る処理手順を示すフローチャートである。
【図１０】実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋのステート遷移の要部を示す図である。
【図１１】実施の形態１に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作においてＥｒｒｏｒＲｅｃｏｖｅｒｙが発生した場合の処理シーケンスを示すシーケンスチャートである。
【図１２】実施の形態２に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。
【図１３】実施の形態２に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作の動作例を示す模式図である。
【図１４】実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋの給電動作に係る処理手順を示すフローチャートである。
【図１５】実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋのステート遷移の要部を示す図である。
【図１６】実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋの装置構成の一例を示す模式図である。
【図１７】実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋの装置構成の一例を示す模式図である。
【図１８】実施の形態３に従う遷移条件を採用しないＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。
【図１９】実施の形態３に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。
【図２０】実施の形態３に従うＰｏｗｅｒ  ＢａｎｋとＰＣとの間で実行される受給電動作の動作例を示す模式図である。
【図２１】実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋの給電動作に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
いくつかの実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一の参照符号を付してその説明は繰り返さない。
【００１５】
［Ａ．背景技術］
ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースの単一のポートのみが設けられるとともに、ＤＲＰ機能が実装されたＰｏｗｅｒ  Ｂａｎｋを用いて、外部デバイスに電力を供給する構成について説明する。このとき、Ｐｏｗｅｒ  Ｂａｎｋに接続される外部デバイスにおいても、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースおよびＤＲＰ機能が実装されているとする。以下の説明においては、ＤＲＰ機能が実装されている外部デバイスを「ＤＲＰデバイス」とも称す。
【００１６】
ここで、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従う電力供給に関するシーケンスについて説明する。上述したように、ＵＳＢ  Ｔｙｐｅ−Ｃ規格においては、Ｓｏｕｒｃｅ（ＳＲＣ）と、Ｓｉｎｋ（ＳＮＫ）と、ＤＲＰという３つのモードが規定されている。このような各モードはＰｏｒｔ  Ｒｏｌｅとも称される。以下では、主として、ＤＲＰのＰｏｒｔ  Ｒｏｌｅを担当するデバイスについて説明する。
【００１７】
図１は、ＤＲＰ機能を搭載したＰｏｗｅｒ  Ｂａｎｋ１００の給電動作に係る動作例を示す模式図である。図１においては、ＤＲＰデバイスとしてラップトップ型パーソナルコンピュータ（以下、「ＰＣ」と略称する。）２００を想定する。当然のことながら、ＤＲＰデバイスとしては、ラップトップ型パーソナルコンピュータに限らず、蓄電機能を有している任意のデバイスを採用し得る。
【００１８】
図１（ａ）を参照して、まず、給電する側のＰｏｗｅｒ  Ｂａｎｋ１００と受電を期待するＰＣ２００とをＵＳＢケーブル２を介して接続する。すると、Ｐｏｗｅｒ  Ｂａｎｋ１００のＰｏｒｔ  ＲｏｌｅはＳＲＣ（具体的には、後述するようなＡｔｔａｃｈｅｄ．ＳＲＣ（給電側として接続（を認識）した状態）になっている）となり、ＰＣ２００のＰｏｒｔ  ＲｏｌｅはＳＮＫ（具体的には、後述するようなＡｔｔａｃｈｅｄ．ＳＮＫ（受電側として接続（を認識）した状態）になっている）となる。その結果、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給が開始される。
【００１９】
図１（ｂ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給が継続され、最終的に、図１（ｃ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００が給電だけでなくシステムとして動作できない状態までバッテリの放電電圧が下がったとする。この状態は「Ｄｅａｄ  Ｂａｔｔｅｒｙ」と称される。
【００２０】
ＤＲＰ機能は、システムによる制御により実現されるものであり、Ｄｅａｄ  Ｂａｔｔｅｒｙにおいてはシステムとして動作できないので、ＤＲＰ機能を維持できない。この状態においては、ＤＲＰ  Ｔｏｇｇｌｅ動作ができないため、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｄｅａｄ  Ｂａｔｔｅｒｙが解消されるまで、ＳＮＫの接続待ち状態（後述するようなＵｎａｔｔａｃｈｅｄ．ＳＮＫ（受電側として接続（を認識）していない状態））にハードウェアとして固定される。
【００２１】
一方、ＰＣ２００は、ＤＲＰ  Ｔｏｇｇｌｅ動作を行なうため、Ｐｏｗｅｒ  Ｂａｎｋ１００がＳＮＫの接続待ち状態にあることを検出して、ＳＲＣとなる。そして、図１（ｄ）に示すように、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００への電力供給を開始する。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００は、せっかく給電したＰＣ２００から電力を奪うことになる。
【００２２】
このように、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従ってＤＲＰ機能を実装した単一のポートで給電および受電の両方に対応すると、上述したような課題が生じ得る。すなわち、ユーザとしては、Ｐｏｗｅｒ  Ｂａｎｋ１００がＤｅａｄ  Ｂａｔｔｅｒｙになると、単にＰＣ２００（ＤＲＰデバイス）への給電が停止されることだけを期待するものの、受給電の役割が勝手に逆転してしまい、ユーザの期待する動作とはならない。
【００２３】
ここで、上述したような課題としている動作に関するステート遷移について説明する。
図２は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うＤＲＰのＰｏｒｔ  Ｒｏｌｅを担当するデバイスのステート遷移の要部を示す図である。
【００２４】
図２を参照して、ＤＲＰ機能が実装された担当するデバイスは、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ１）、ＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）、Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）、ＡｔｔａｃｈＷａｉｔ．ＳＮＫ（ＳＴ５）、および、Ａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ６）の６つのステートを有しており、各時点においていずれかのステートをとる。
【００２５】
ＵＳＢケーブル２が接続される前の状態においては、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ１）とＵｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）との間でステート遷移が繰り返されている（ＤＲＰ  Ｔｏｇｇｌｅ動作）。
【００２６】
ＵＳＢケーブル２が接続されると、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされ、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ１）からＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）へ遷移する（シーケンスＳＱ１）。そして、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間の供給電圧などの条件が満たされると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）からＡｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）へ遷移する（シーケンスＳＱ２）。Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）は、給電側のデバイスとしての接続が認識された状態を意味する。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給が開始される（シーケンスＳＱ３）。
【００２７】
Ｐｏｗｅｒ  Ｂａｎｋ１００は、バッテリが十分な充電容量を有していれば、図２に示すようなステート遷移を管理できるが、システムとして動作できない状態までバッテリの放電電圧が低下して、Ｄｅａｄ  Ｂａｔｔｅｒｙになると、ステート遷移の管理ができなくなる。その結果、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）に固定される（シーケンスＳＱ４）。Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）は、ＳＮＫとしての接続待ち状態を意味する。
【００２８】
Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００（ＤＲＰデバイス）からの電力供給によってＤｅａｄ  Ｂａｔｔｅｒｙから回復すると、ステート遷移の管理を再開する。このとき、接続先のＰＣ２００はＳＲＣであるので、「Ｓｏｕｒｃｅ  Ｄｅｔｅｃｔｅｄ」の条件が満たされ、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）からＡｔｔａｃｈＷａｉｔ．ＳＮＫ（ＳＴ５）へ遷移する（シーケンスＳＱ５）。そして、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間の供給電圧などの条件が満たされると、Ａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ６）へ遷移する（シーケンスＳＱ６）。Ａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ６）は、受電側のデバイスとしての接続が認識された状態を意味する。この状態において、ＰＣ２００からＰｏｗｅｒ  Ｂａｎｋ１００への電力供給が開始される（シーケンスＳＱ７）。
【００２９】
すなわち、図１（ｄ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００へ供給された電力が、今度は逆に、ＰＣ２００からＰｏｗｅｒ  Ｂａｎｋ１００へ供給されることになる。
【００３０】
図３は、図２に示すステート遷移に係るシーケンスを示すシーケンスチャートである。図３には、ＤＲＰ機能を実装しているＰｏｗｅｒ  Ｂａｎｋ１００およびＰＣ２００の各々において実行される処理を示す。なお、図３のいくつかのステップに示される「ＣＣ：」に続く値（「Ｒｐ」または「Ｒｄ」）は、ＵＳＢケーブル２に含まれる通信ライン（ＣＣ１およびＣＣ２）に現れる抵抗値（それぞれ、プルアップ抵抗およびプルダウン抵抗（後述の図５参照））を意味し、「ＶＢＵＳ：」に続く値（「ｅｎａｂｌｅ」または「ｄｉｓａｂｌｅ」）は、ＵＳＢケーブル２に含まれる電力ラインに規定電圧が供給されているか否かを意味する。
【００３１】
典型的には、「ｅｎａｂｌｅ」は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うｖＳａｆｅ５Ｖ以上の電圧が電力ラインに印加されている状態を意味し、「ｄｉｓａｂｌｅ」は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うｖＳａｆｅ０Ｖが電力ラインに印加されている状態を意味する。
【００３２】
図３を参照して、Ｐｏｗｅｒ  Ｂａｎｋ１００は、初期状態として、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣであるとする（ステップＳ１）。このとき、Ｐｏｗｅｒ  Ｂａｎｋ１００は、通信ラインに抵抗値Ｒｐを見せるとともに、電力ラインには規定電圧を生じさせない。
【００３３】
本明細書において、「通信ラインに抵抗値Ｒｐを見せる」および「通信ラインに抵抗値Ｒｄを見せる」は、それぞれ「プルアップ抵抗を通信ラインに接続する」および「プルダウン抵抗を通信ラインに接続する」ことを意味する。以下の説明においても同様である。
【００３４】
一方、ＰＣ２００は、初期状態として、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫであるとする（ステップＳ１１）。このとき、ＰＣ２００は、通信ラインに抵抗値Ｒｄを見せるとともに、電力ラインには規定電圧を生じさせない。
【００３５】
Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する（ステップＳ２）。さらに、Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００がＳＲＣからの応答待ち状態であることを検出することで、「Ｓｉｎｋ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＲＣからＡｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ３）。Ａｔｔａｃｈｅｄ．ＳＲＣにおいては、Ｐｏｗｅｒ  Ｂａｎｋ１００は、電力ラインへの規定電圧の供給を開始する。
【００３６】
一方、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１２）。さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００がＳＮＫからの応答待ち状態であることを検出することで、「Ｓｏｕｒｃｅ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＮＫからＡｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ１３）。
【００３７】
Ｐｏｗｅｒ  Ｂａｎｋ１００がＡｔｔａｃｈｅｄ．ＳＲＣとなり、ＰＣ２００がＡｔｔａｃｈＷａｉｔ．ＳＮＫとなることで、Ｐｏｗｅｒ  Ｂａｎｋ１００はＰＣ２００への電力供給を開始し（ステップＳ４）、ＰＣ２００はＰｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【００３８】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリの放電電圧がシステムとして動作できない状態まで下がると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、システムをシャットダウンし、Ｄｅａｄ  Ｂａｔｔｅｒｙになる。
【００３９】
システムシャットダウンにより、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ５）。このとき、Ｐｏｗｅｒ  Ｂａｎｋ１００は、システムシャットダウンにより、通信ラインに抵抗値Ｒｄを見せるようになるとともに、電力ラインへの規定電圧の供給を停止する。
【００４０】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００のシステムシャットダウンにより、ＳＲＣであるＰｏｗｅｒ  Ｂａｎｋ１００との接続が切断されたことを検出すると、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。
【００４１】
そして、ＰＣ２００は、ＤＲＰ  Ｔｏｇｇｌｅ動作によって、接続先のＰｏｗｅｒ  Ｂａｎｋ１００が、通信ラインに抵抗値Ｒｄを見せており、かつ、電力ラインに規定電圧を生じさせていない状態を検出して、ＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する（ステップＳ１７）。すなわち、ＰＣ２００は、ＳＮＫからＳＲＣに切り替わる。
【００４２】
そして、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する（ステップＳ１８）。
【００４３】
さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００がＳＲＣからの応答待ち状態であること（すなわち、ＣＣ：Ｒｄ，ＶＢＵＳ：ｄｉｓａｂｌｅ）を検出することで、「Ｓｉｎｋ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＲＣからＡｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ１９）。Ａｔｔａｃｈｅｄ．ＳＲＣにおいては、ＰＣ２００は、電力ラインへの規定電圧の供給を開始する。すなわち、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００への電力供給を開始し、これによって、Ｐｏｗｅｒ  Ｂａｎｋ１００はＤｅａｄ  Ｂａｔｔｅｒｙから回復することになる。
【００４４】
すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ６）。さらに、Ｐｏｗｅｒ  Ｂａｎｋ１００は、「Ｓｏｕｒｃｅ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＮＫからＡｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ７）。
【００４５】
ＰＣ２００がＡｔｔａｃｈｅｄ．ＳＲＣとなり、Ｐｏｗｅｒ  Ｂａｎｋ１００がＡｔｔａｃｈＷａｉｔ．ＳＮＫとなることで、ＰＣ２００はＰｏｗｅｒ  Ｂａｎｋ１００への電力供給を開始し（ステップＳ２０）、Ｐｏｗｅｒ  Ｂａｎｋ１００はＰＣ２００からの電力の受取りを開始する（ステップＳ８）。
【００４６】
本実施の形態においては、Ｐｏｗｅｒ  Ｂａｎｋ１００のステップＳ５以下の処理、ならびに、ＰＣ２００のステップＳ１５以下の処理を課題としている動作として、解決する。
【００４７】
［Ｂ．課題および解決手段］
上述したように、Ｐｏｗｅｒ  Ｂａｎｋ１００と外部デバイスとがＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースを介して接続される場合において、両デバイスがＤＲＰ機能を実装している場合には、ＳＲＣとＳＮＫとが交互に入れ替わるような動作が行なわれてしまう。
【００４８】
本来、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリが空になるまで外部デバイスを充電した後には、受給電動作はそこで停止すべきである。しかしながら、ＤＲＰ機能を実装したデバイス間では、外部デバイスからＰｏｗｅｒ  Ｂａｎｋ１００へ電力が戻されることになり、ユーザが意図した受給電動作を実現できない。
【００４９】
本実施の形態においては、上述したような新たな課題に対して、Ｐｏｗｅｒ  Ｂａｎｋ１００からＤＲＰデバイスに対する充電動作が完了すると、ＤＲＰデバイスからの電力が自動的にはＰｏｗｅｒ  Ｂａｎｋ１００へ逆流しないようにする構成および処理を提供する。すなわち、単一のポートで受給電可能なＵＳＢ  Ｔｙｐｅ−Ｃ規格に対応したデバイスについて、両者とも受給電可能なＤＲＰ機能を実装している場合において、充電が終わってＵＳＢケーブルを繋いだままにしておいても、電力供給方向が逆になっていつのまにか電力が戻りはじめることを防止できる仕組みを提供する。
【００５０】
典型的には、本実施の形態に従うＰｏｗｅｒ  Ｂａｎｋは、給電側（ＳＲＣ）としてバッテリに蓄えられていた電力を接続先への供給中に、当該接続先への電力供給ができなくなると、給電側（ＳＲＣ）の状態を維持したまま、接続先への電力供給を停止する。
【００５１】
このような構成を採用することで、供給元と供給先との間で、役割や入れ替わるような動作を回避できる。
【００５２】
以下の説明において、接続先への電力供給ができなくなる一状態を「Ｌｏｗ  Ｂａｔｔｅｒｙ」と称す。本明細書において、「Ｌｏｗ  Ｂａｔｔｅｒｙ」とは、バッテリに蓄えられている電力が低下して、外部デバイスに電力を供給できなくなっているという点においては、ＵＳＢ規格において規定されている「Ｄｅａｄ  Ｂａｔｔｅｒｙ」という状態と同じである。但し、「Ｌｏｗ  Ｂａｔｔｅｒｙ」の状態においては、自デバイスのコントローラを駆動できる電力は残っているものとする。すなわち、「Ｌｏｗ  Ｂａｔｔｅｒｙ」は、接続先への電力供給はできないものの、コントローラでの各種制御は可能な状態を意味する。
【００５３】
［Ｃ．実施の形態１］
実施の形態１として、最も簡素化された形態について説明する。
【００５４】
（ｃ１：装置構成）
まず、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００の装置構成の一例について説明する。図４は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００の装置構成の一例を示す模式図である。
【００５５】
図４を参照して、Ｐｏｗｅｒ  Ｂａｎｋ１００は、主たる構成要素として、コネクタ１０２と、電源管理部（Ｐｏｗｅｒ  Ｍａｎａｇｅｒ）１０４と、バッテリ１０６と、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）１１０とを含む。
【００５６】
コネクタ１０２は、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースのポートを含む。
電源管理部１０４は、コントローラ１１０からの指示に従って、バッテリ１０６の充放電を制御する充放電制御回路に相当する。具体的には、電源管理部１０４は、外部電源から供給される電力をバッテリ１０６に蓄える第１充電動作、外部デバイスから供給される電力をバッテリ１０６に蓄える第２充電動作、および、バッテリ１０６に蓄えられた電力を外部デバイスへ供給する放電動作を選択的に実行可能になっている。
【００５７】
バッテリ１０６は、充放電可能に構成された蓄電池であり、例えば、リチウムイオン二次電池、リチウムイオンポリマー二次電池、ニッケル・水素充電池などが用いられる。
【００５８】
コントローラ１１０は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従って、給電側（ＳＲＣ）および受電側（ＳＮＫ）のいずれにもなり得るＤＲＰに対応したポートを提供する。すなわち、コントローラ１１０は、ＤＲＰとして機能し、ＵＳＢケーブル２を介した接続先との通信および受給電動作を管理する。より具体的には、コントローラ１１０は、プロセッサ１１２と、信号伝送モジュール（ＰＨＹ＆ＬＧＣ）１１６とを含む。プロセッサ１１２は、信号伝送モジュール１１６および電源管理部１０４に接続されている。
【００５９】
プロセッサ１１２は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うシーケンスを実行するステート管理部に相当する。プロセッサ１１２は、制御プログラムの一例であるファームウェア１１４を実行することで、以下に示すような処理および機能を提供する。すなわち、ステート管理部は、プロセッサ１１２が制御プログラムの一例であるファームウェア１１４を実行することで実現されてもよい。プロセッサ１１２およびファームウェア１１４を用いて実装することで、シーケンスの修正やバージョンアップなどをより容易に実現できる。なお、プロセッサ１１２を用いるソフトウェア実装ではなく、後述するようなハードウェア実装を採用してもよい。
【００６０】
信号伝送モジュール１１６は、ステート管理部に相当するプロセッサ１１２からの指示に従って、ＵＳＢケーブル２内の通信ライン（第１通信ライン（ＣＣ１）２１および第２通信ライン（ＣＣ２）２２）を介して接続先との間で信号を遣り取りする。なお、第１通信ライン２１および第２通信ライン２２を、まとめて「通信ライン」と総称することもある。信号伝送モジュール１１６の詳細な構成については、後述する。
【００６１】
ステート管理部に相当するプロセッサ１１２は、バッテリ１０６の充放電を制御するための電源管理部１０４に結合されている。プロセッサ１１２と電源管理部１０４との間には、任意の制御インターフェースを設けてもよい。このような制御インターフェースは、プロセッサ１１２から指示に従って、電源管理部１０４による充放電を制御するための制御指令の送信を仲介する。例えば、プロセッサ１１２と電源管理部１０４との間では、Ｉ２Ｃインターフェースに従って制御信号を遣り取りするようにしてもよい。
【００６２】
バッテリ１０６と外部デバイスとの間の電力の遣り取りは、ＵＳＢケーブル２内の電力ライン（ＶＢＵＳ）２３を介して行なわれる。なお、ＵＳＢケーブル２は、図示していないシールド線を含んでいてもよい。
【００６３】
図５は、実施の形態１に従うコントローラ１１０の回路構成の一例を示す模式図である。図５を参照して、コントローラ１１０の信号伝送モジュール１１６は、第１通信ライン２１（ＣＣ１）および第２通信ライン２２（ＣＣ２）を介して、各種制御信号を遣り取りする。
【００６４】
より具体的には、信号伝送モジュール１１６は、第１通信制御ブロック（Ｃｏｍｍ．  Ｂｌｏｃｋ）１１６１および第２通信制御ブロック（Ｃｏｍｍ．  Ｂｌｏｃｋ）１１６２を有している。
【００６５】
第１通信制御ブロック１１６１は、第１通信ライン２１を介して受信したデータを、プロセッサ１１２へ出力し、プロセッサ１１２からのデータを、第１通信ライン２１を介して送信する。同様に、第２通信制御ブロック１１６２は、第２通信ライン２２を介して受信したデータを、プロセッサ１１２へ出力し、プロセッサ１１２からのデータを、第２通信ライン２２を介して送信する。
【００６６】
信号伝送モジュール１１６は、接続先との接続を検出するために、通信ライン（第１通信ライン２１および第２通信ライン２２）と電源電位Ｖｓおよびグランド電位ＧＮＤとの間にそれぞれ接続された抵抗を有している。
【００６７】
具体的には、第１通信ライン２１には、電源電位Ｖｓとの間に抵抗値Ｒｐをもつプルアップ抵抗１１６５が接続されており、また、グランド電位ＧＮＤとの間に抵抗値Ｒｄをもつプルダウン抵抗１１６６が接続されている。同様に、第２通信ライン２２には、電源電位Ｖｓとの間に抵抗値Ｒｐをもつプルアップ抵抗１１６７が接続されており、また、グランド電位ＧＮＤとの間に抵抗値Ｒｄをもつプルダウン抵抗１１６８が接続されている。
【００６８】
スイッチ１１６３，１１６４は、通信ライン（第１通信ライン２１および第２通信ライン２２）から電源電位Ｖｓおよびグランド電位ＧＮＤへ繋がる経路を電気的に接続／遮断する。より具体的には、スイッチ１１６３は、プロセッサ１１２からの制御信号に従って、プルアップ抵抗１１６５またはプルダウン抵抗１１６６と第１通信ライン２１とを電気的に接続／遮断する。同様に、スイッチ１１６４は、プロセッサ１１２からの制御信号に従って、プルアップ抵抗１１６７またはプルダウン抵抗１１６８と第２通信ライン２２とを電気的に接続／遮断する。
【００６９】
第１通信ライン２１および第２通信ライン２２に生じる抵抗値Ｒｐ，Ｒｄに応じた電圧をそれぞれ検出することで、ＰｏｗｅｒＢｎａｋ１００と接続先との接続が確立される。
【００７０】
このように、信号伝送モジュール１１６は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗）、または、ＳＮＫ（受電側）を示すプルダウン抵抗１１６６，１１６８（第２の抵抗）を、通信ライン（第１通信ライン２１および第２通信ライン２２）に選択的に接続することが可能になっている。
【００７１】
（ｃ２：ステート遷移）
次に、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移について説明する。図６は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移の要部を示す図である。図６に示すステート遷移は、図２に示すＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うＤＲＰのＰｏｒｔ  Ｒｏｌｅを担当するデバイスのステート遷移に比較して、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）が追加されている点が異なっている。図６において、図２に示すステートと実質的に同一のステートについては、同一の参照符号を付している。また、図２を参照して説明したステートについては、その説明は繰り返さない。
【００７２】
ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）への遷移は、Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）において、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになることを条件としている。
【００７３】
Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスへの電力供給を行なっている。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６が、コントローラ１１０は動作できるが、ＤＲＰデバイスへの給電には不十分な電圧まで低下したこと（Ｌｏｗ  Ｂａｔｔｅｒｙ）をエントリ条件として、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｄｅａｄ  Ｂａｔｔｅｒｙになる前に、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）へ遷移する。
【００７４】
ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、通信ラインに見せる抵抗値Ｒｐを維持する一方で、電力ラインには規定電圧を生じさせない。
【００７５】
このように、ステート管理部に相当するプロセッサ１１２は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先であるＤＲＰデバイスへ供給中に、当該接続先への電力供給ができなくなると、プルアップ抵抗１１６５，１１６７（第１の抵抗）を通信ラインに接続した状態を維持したまま、接続先への電力供給を停止する。このような構成を採用することで、関連技術として説明したような、ＳＮＫの接続待ち状態（Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ）にハードウェアとして固定されることがない。その結果、デバイス間でＳＲＣとＳＮＫとが交互に入れ替わるような動作の発生を回避できる。
【００７６】
次に、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）にある場合に、接続先であるＤＲＰデバイスとの接続が物理的に切断されると、別のステートへ遷移する。より具体的には、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件の一つとして、通信ラインがオープン状態になること（以下、「第１の遷移条件」とも称す。）を規定する。すなわち、Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）からの遷移条件と同様に、Ｐｏｗｅｒ  Ｂａｎｋ１００は、通信ラインの状態がＳＲＣ．Ｏｐｅｎになると、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からＵｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移する。ＳＲＣ．Ｏｐｅｎとは、通信ラインがオープン状態であり、通信ラインに無限大の抵抗値が現れている状態を意味する。このように、ステート管理部に相当するプロセッサ１１２は、通信ラインがオープン状態になると、接続先との接続が切断されたと判断する。
【００７７】
Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、通信ラインに抵抗値Ｒｐを見せる。すなわち、ステート管理部に相当するプロセッサ１１２は、接続先との接続が切断されると、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗）に代えて、ＳＮＫ（受電側）を示すプルダウン抵抗１１６６，１１６８（第２の抵抗）を、通信ライン（第１通信ライン２１および第２通信ライン２２）に接続する。
【００７８】
このように、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００は、バッテリ１０６の残容量が少なくなり、Ｌｏｗ  Ｂａｔｔｅｒｙになると、通信ラインに見せる抵抗値Ｒｐを維持する一方で、電力ラインへの規定電圧の供給を停止する。Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されるまで、その状態を維持する。その後、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されると、通信ラインに抵抗値Ｒｄを見せるようにステートを遷移させる。
【００７９】
このような新たなステートであるＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）を追加することで、Ｐｏｗｅｒ  Ｂａｎｋ１００からＤＲＰデバイスへの電力供給ができなくなったとしても、Ｐｏｗｅｒ  Ｂａｎｋ１００がＳＮＫの接続待ち状態（Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４））に固定されないので、ＤＲＰデバイス側がＳＮＫからＳＲＣに切り替わることがなく、先に充電されたＤＲＰデバイスから電力を奪うといった動作の発生を回避できる。
【００８０】
具体的なシーケンスとしては、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給が開始された後、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ３）からＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）へ遷移する（シーケンスＳＱ４１）。
【００８１】
この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されるまでその状態を維持する（シーケンスＳＱ４２）。そして、ＤＲＰデバイスとの接続が物理的に切断されたと判断すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からＵｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移する（シーケンスＳＱ４３）。それ以降の処理は、図２に示すステート遷移と同様である。
【００８２】
（ｃ３：処理シーケンス）
次に、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の処理シーケンスの一例について説明する。
【００８３】
図７は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。図７に示すシーケンスチャートにおいて、図３に示すシーケンスチャートと実質的に同一の処理については、同一の参照符号を付している。また、図３を参照して説明した処理については、その説明は繰り返さない。
【００８４】
図７には、図３と同様に、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００に電力を供給する場合の処理シーケンスを示す。具体的には、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移し（ステップＳ１，Ｓ２，Ｓ３）、ＰＣ２００への電力供給を開始する（ステップＳ４）。
【００８５】
一方、ＰＣ２００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫを経てＡｔｔａｃｈ．ＳＮＫへ遷移し（ステップＳ１１，Ｓ１２，Ｓ１３）、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【００８６】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先へ供給する。
【００８７】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６の放電電圧が予め定められた値まで低下すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙとなり、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移する（ステップＳ２１）。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。但し、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＲＣの状態を維持する。
【００８８】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力供給が停止されることで、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。
【００８９】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、電力供給中に接続先への電力供給ができなくなると、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続した状態を維持したまま、接続先への電力供給を停止する。
【００９０】
さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ３１）。
【００９１】
Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との接続が物理的に切断されるまで、Ｐｏｗｅｒ  Ｂａｎｋ１００はＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣを維持するとともに、ＰＣ２００はＡｔｔａｃｈＷａｉｔ．ＳＮＫを維持する。
【００９２】
Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との接続が物理的に切断されたと判断すると（ステップＳ３２）、Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００が存在しなくなったことを検出することで、「Ｄｉｓｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからＵｎａｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ２２）。
【００９３】
実施の形態１によれば、上述のような処理シーケンスによって、Ｐｏｗｅｒ  Ｂａｎｋ１００がＰＣ２００から電力を奪うといった事態を回避できる。すなわち、実施の形態１によれば、Ｐｏｗｅｒ  Ｂａｎｋ１００のステップＳ２１以下の処理、ならびに、ＰＣ２００のステップＳ１５以下の処理を適正化することで、上述したような課題を解決する。
【００９４】
（ｃ４：動作例）
次に、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の動作例について説明する。
【００９５】
図８は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作の動作例を示す模式図である。図８には、図１と同様に、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００に電力を供給する場合の動作例を示す。
【００９６】
図８（ａ）を参照して、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給が開始される。その後、図８（ｂ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される（ＶＢＵＳをｄｉｓａｂｌｅにする）ものの、Ｐｏｗｅｒ  Ｂａｎｋ１００はＳＲＣの状態を維持する。Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとの接続が物理的に切断されるまで、Ｐｏｗｅｒ  Ｂａｎｋ１００はＳＲＣの状態を維持する。
【００９７】
図８（ｃ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００（ＤＲＰデバイス）との接続が物理的に切断されたと判断すると、Ｐｏｗｅｒ  Ｂａｎｋ１００はＳＲＣからＳＮＫに切り替わる。
【００９８】
ＳＮＫに切り替わることで、図８（ｄ）に示すように、Ｐｏｗｅｒ  Ｂａｎｋ１００は、例えば、電源アダプタ３００などの外部電源からの電力供給を受けてバッテリ１０６の充電が可能となる。
【００９９】
このように、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙになると、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移し、通信ラインの抵抗値を抵抗値Ｒｐに維持したまま、ＶＢＵＳをｄｉｓａｂｌｅにすることで、給電対象であったＤＲＰデバイス（ＰＣ２００）から電力を奪うことなく状態を維持するとともに、ＤＲＰデバイスとの接続が物理的に切断されたと判断した後には、外部電源から供給される電力を受取ることができる。
【０１００】
（ｃ５：処理手順）
図９は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００の給電動作に係る処理手順を示すフローチャートである。図９に示すＰｏｗｅｒ  Ｂａｎｋ１００の各ステップは、典型的には、コントローラ１１０のプロセッサ１１２が制御プログラムであるファームウェア１１４を実行することで実現される。したがって、図９に示す各ステップの実行主体は、典型的には、プロセッサ１１２となる。
【０１０１】
図９を参照して、プロセッサ１１２は、Ａｔｔａｃｈｅｄ．ＳＲＣにおけるＤＲＰデバイスへの電力供給中において、バッテリ１０６の放電電圧が予め定められた値まで低下したか否かを判断する（ステップＳ１００）。バッテリ１０６の放電電圧が予め定められた値まで低下していなければ（ステップＳ１００においてＮＯ）、プロセッサ１１２は、ステップＳ１００の処理を繰り返す。
【０１０２】
バッテリ１０６の放電電圧が予め定められた値まで低下していれば（ステップＳ１００においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に抵抗値Ｒｐを見せる状態を維持しつつ、電力ラインを介したＤＲＰデバイスへの電力供給を停止する（ステップＳ１０２）。
【０１０３】
そして、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）がオープン状態になったか否かを判断する（ステップＳ１０４）。通信ラインがオープン状態になっていなければ（ステップＳ１０４においてＮＯ）、プロセッサ１１２は、ステップＳ１０４の処理を繰り返す。
【０１０４】
通信ラインがオープン状態になっていれば（ステップＳ１０４においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に見せる抵抗値をＲｐからＲｄに変更し（ステップＳ１０６）、ＤＲＰデバイスへの給電動作を終了する。
【０１０５】
（ｃ６：利点）
実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００は、システムとして動作できない状態までバッテリ１０６の放電電圧が下がった状態（Ｄｅａｄ  Ｂａｔｔｅｒｙ）になる前に、Ｌｏｗ  Ｂａｔｔｅｒｙの状態を検出し、ＤＲＰデバイスへの電力供給を停止するとともに、通信ラインに抵抗値Ｒｐを見せて、Ｓｏｕｒｃｅ（ＳＲＣ）の状態を維持する。これによって、電力供給を受けていたＤＲＰデバイスがＳｏｕｒｃｅ（ＳＲＣ）に切り替わることを防止できる。ＤＲＰデバイスがＳｏｕｒｃｅ（ＳＲＣ）に切り替わらないので、Ｐｏｗｅｒ  Ｂａｎｋ１００が先に充電されたＤＲＰデバイスから電力を奪うといった動作の発生を回避できる。
【０１０６】
また、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されたと判断すると、Ｓｏｕｒｃｅ（ＳＲＣ）からＳｉｎｋ（ＳＮＫ）に切り替わるので、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従って、電源アダプタ３００などの外部電源からの電力供給を受けてバッテリ１０６の充電が可能となる。
【０１０７】
［Ｄ．実施の形態２］
次に、実施の形態２として、上述の実施の形態１において採用したＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件を異ならせた形態について説明する。ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件を除いた構成および処理については、上述の実施の形態１と同様であるので、詳細な説明は繰り返さない。
【０１０８】
（ｄ１：ステート遷移）
実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移について説明する。図１０は、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移の要部を示す図である。図１０に示すステート遷移は、図６に示す実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移に比較して、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）のステートが考慮されている点が異なっている。図１０において、図６に示すステートと実質的に同一のステートについては、同一の参照符号を付している。また、図６を参照して説明したステートについては、その説明は繰り返さない。
【０１０９】
ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）は、任意の条件が満たされると遷移するステートであり、何らかの異常が発生したと判断された場合の回復処理を実行する。具体的には、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）においては、予め定められた時間（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ）の間、通信ラインをオープン状態に維持した後に、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）、または、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ１）へ遷移する。このとき、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）とＵｎａｔｔａｃｈｅｄ．ＳＲＣ（ＳＴ１）との間でステート遷移するＤＲＰ  Ｔｏｇｇｌｅ動作も実行される。
【０１１０】
ここで、Ｐｏｗｅｒ  Ｂａｎｋ１００に接続されているＤＲＰデバイスが、何らかの条件が満たされることによって、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）へ遷移したとすると、接続先のＤＲＰデバイスの通信ラインはオープン状態になる。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００から見れば、接続先の通信ラインの状態がＳＲＣ．Ｏｐｅｎになったと判断される。
【０１１１】
Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）にある場合に、接続先のＤＲＰデバイスがＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）へ遷移すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されたと（誤って）判断するので、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移して、ＳＲＣからＳＮＫに切り替わる。
【０１１２】
そこで、実施の形態２においては、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとを接続するＵＳＢケーブル２が物理的に引き抜かれたと判断した場合に限って、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からＵｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移する（シーケンスＳＱ４４）。
【０１１３】
すなわち、実施の形態２においては、上述の実施の形態１において採用したＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件（第１の遷移条件）とは別の遷移条件を採用して、誤ったステート遷移を生じないようにする。
【０１１４】
このように、実施の形態１において採用した遷移条件では、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）への遷移、あるいは、ＤＲＰ  Ｔｏｇｇｌｅ動作によって、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとを接続するＵＳＢケーブル２が実際に物理的に引き抜かれていなくても、接続が切断されたと判断されるため、実際に物理的に引き抜かれたことを確実に判断するために、以下のような遷移条件（以下、「第２の遷移条件」とも称す。）を採用する。
【０１１５】
第２の遷移条件：（ＣＣ１に現れる電圧≠ｖＲｄかつＣＣ２に現れる電圧≠ｖＲｄ）の状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続される
但し、ｔＥｒｒｏｒＲｅｃｏｖｅｒｙは、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）において、通信ラインをオープン状態に維持する時間を意味する。ｔＤＲＰは、ＤＲＰ  Ｔｏｇｇｌｅ動作を１回実行に要する時間を意味する。ＵＳＢ  Ｔｙｐｅ−Ｃ規格によれば、一例として、ｔＥｒｒｏｒＲｅｃｏｖｅｒｙは２４０ｍｓに設定され、ｔＤＲＰは１００ｍｓに設定されるとされている。
【０１１６】
また、ｖＲｄは、自デバイスがＳｏｕｒｃｅ（ＳＲＣ）であり、接続先のＤＲＰデバイスがＳｉｎｋ（ＳＮＫ）である場合に通信ラインに現れる電圧を意味する。
【０１１７】
すなわち、ステート管理部に相当するプロセッサ１１２は、自コントローラがＳＲＣ（給電側）であり、かつ、接続先がＳＮＫ（受電側）である場合に、通信ラインに現れるべき電圧とは異なる電圧が、通信ラインに予め定められた時間を超えて継続すると、接続先との接続が切断されたと判断する。ここで、予め定められた時間は、ＥｒｒｏｒＲｅｃｏｖｅｒｙステートにおいて通信ラインをオープンに維持する時間と、ＤＲＰ  Ｔｏｇｇｌｅ動作に要する時間との合計以上となるように設定されてもよい。
【０１１８】
言い換えれば、第２の遷移条件は、Ｐｏｗｅｒ  Ｂａｎｋ１００から見た場合に、接続先のＤＲＰデバイスの状態に対応して通信ラインに現れる電圧（ｖＲｄ）とは異なる電圧が、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）への遷移、あるいは、ＤＲＰ  Ｔｏｇｇｌｅ動作に要する時間を超えて継続されることを意味する。
【０１１９】
実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）において、上述の第２の遷移条件が満たされた場合に限って、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移する（シーケンスＳＱ４４）。
【０１２０】
上述したような第２の遷移条件を採用することで、接続先のＤＲＰデバイスにおいて、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ＳＴ８）への遷移、または、ＤＲＰ  Ｔｏｇｇｌｅ動作が生じたとしても、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されたと誤って判断することがない。
【０１２１】
（ｄ２：処理シーケンス）
次に、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の処理シーケンスの一例について説明する。
【０１２２】
図１１は、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作においてＥｒｒｏｒＲｅｃｏｖｅｒｙが発生した場合の処理シーケンスを示すシーケンスチャートである。図１１に示すシーケンスチャートにおいて、図３または図７に示すシーケンスチャートと実質的に同一の処理については、同一の参照符号を付している。また、図３または図７を参照して説明した処理については、その説明は繰り返さない。
【０１２３】
図１１には、図７と同様に、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００に電力を供給する場合の処理シーケンスを示す。具体的には、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移し（ステップＳ１，Ｓ２，Ｓ３）、ＰＣ２００への電力供給を開始する（ステップＳ４）。
【０１２４】
一方、ＰＣ２００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫを経てＡｔｔａｃｈ．ＳＮＫへ遷移し（ステップＳ１１，Ｓ１２，Ｓ１３）、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【０１２５】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６の放電電圧が予め定められた値まで低下すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙとなり、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移する（ステップＳ２１）。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。但し、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＲＣの状態を維持する。
【０１２６】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力供給が停止されることで、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ３１）。
【０１２７】
この状態において、ＰＣ２００がＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移したとする。すなわち、ＰＣ２００は、何らかの条件が満たされることで、ＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移する（ステップＳ３３）。ＥｒｒｏｒＲｅｃｏｖｅｒｙにおいて、ＰＣ２００の通信ラインの状態は、ＳＲＣ．Ｏｐｅｎになる。
【０１２８】
一方、ＰＣ２００の通信ラインの状態がＳＲＣ．Ｏｐｅｎになることによって、Ｐｏｗｅｒ  Ｂａｎｋ１００は、「Ｄｉｓｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからＵｎａｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ２２）。
【０１２９】
ＰＣ２００は、ｔＥｒｒｏｒＲｅｃｏｖｅｒｙの経過後、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ３４）。すなわち、ＰＣ２００は、ＳＮＫからＳＲＣに切り替わる。
【０１３０】
そして、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する（ステップＳ１８）。さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００がＳＲＣからの応答待ち状態であること（すなわち、ＣＣ：Ｒｄ，ＶＢＵＳ：ｄｉｓａｂｌｅ）を検出することで、「Ｓｉｎｋ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＲＣからＡｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ１９）。
【０１３１】
一方、Ｐｏｗｅｒ  Ｂａｎｋ１００は、「Ｓｏｕｒｃｅ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＮＫからＡｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ７）。
【０１３２】
ＰＣ２００がＡｔｔａｃｈｅｄ．ＳＲＣとなり、Ｐｏｗｅｒ  Ｂａｎｋ１００がＡｔｔａｃｈＷａｉｔ．ＳＮＫとなることで、ＰＣ２００はＰｏｗｅｒ  Ｂａｎｋ１００への電力供給を開始し（ステップＳ２０）、Ｐｏｗｅｒ  Ｂａｎｋ１００はＰＣ２００からの電力の受取りを開始する（ステップＳ８）。
【０１３３】
上述したように、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣである場合に、接続先のＤＲＰデバイスが何らかの理由でＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されたと誤って判断して、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫへ遷移する可能性がある。このような状態になると、ＤＲＰデバイスは、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移してしまい、受給電の役割が意図せず逆転してしまう。
【０１３４】
実施の形態２においては、上述したような第２の遷移条件を採用することで、接続先のＤＲＰデバイスがＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移したとしても、接続が物理的に切断されたと誤って判断することを回避できる。
【０１３５】
図１２は、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。図１２に示すシーケンスチャートにおいて、図３、図７または図１１に示すシーケンスチャートと実質的に同一の処理については、同一の参照符号を付している。また、図３、図７または図１１を参照して説明した処理については、その説明は繰り返さない。
【０１３６】
図１２には、図１１と同様に、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００に電力を供給する場合の処理シーケンスを示す。具体的には、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移し（ステップＳ１，Ｓ２，Ｓ３）、ＰＣ２００への電力供給を開始する（ステップＳ４）。
【０１３７】
一方、ＰＣ２００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫを経てＡｔｔａｃｈ．ＳＮＫへ遷移し（ステップＳ１１，Ｓ１２，Ｓ１３）、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【０１３８】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先へ供給する。
【０１３９】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６の放電電圧が予め定められた値まで低下すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙとなり、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移する（ステップＳ２１）。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。但し、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＲＣの状態を維持する。
【０１４０】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力供給が停止されることで、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。
【０１４１】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先へ供給する。
【０１４２】
この状態において、ＰＣ２００がＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移したとする。すなわち、ＰＣ２００は、何らかの条件が満たされることで、ＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移する（ステップＳ３３）。ＥｒｒｏｒＲｅｃｏｖｅｒｙにおいて、ＰＣ２００の通信ラインの状態は、ＳＲＣ．Ｏｐｅｎになる。そして、ＰＣ２００は、ｔＥｒｒｏｒＲｅｃｏｖｅｒｙの経過後、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ３４）。さらに、ＰＣ２００は、ＤＲＰ  Ｔｏｇｇｌｅ動作によって、ＵｎａｔｔａｃｈＷａｉｔ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。このとき、ＰＣ２００は、通信ラインに抵抗値Ｒｄを見せるとともに、電力ラインには規定電圧を生じさせない。
【０１４３】
ＥｒｒｏｒＲｅｃｏｖｅｒｙに関して、ＥｒｒｏｒＲｅｃｏｖｅｒｙ（ステップＳ３３）からＵｎａｔｔａｃｈｅｄ．ＳＲＣ（ステップＳ３４）への遷移に要する時間は、ｔＥｒｒｏｒＲｅｃｏｖｅｒｙであり、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣ（ステップＳ３４）からＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫ（ステップＳ１６）への遷移に要する時間は、ｔＤＲＰである。すなわち、ＥｒｒｏｒＲｅｃｏｖｅｒｙへの移行によって、ＰＣ２００の通信ラインの状態はＳＲＣ．Ｏｐｅｎになるものの、（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の経過後には、通信ラインに抵抗値Ｒｄを見せるようになる。すなわち、通信ラインにはｖＲｄの電圧が現れることになる。
【０１４４】
よって、（ＣＣ１に現れる電圧≠ｖＲｄかつＣＣ２に現れる電圧≠ｖＲｄ）の状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続されることはなく、遷移条件は満たされない。その結果、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの接続が物理的に切断されたと誤って判断することはなく、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣを維持する。
【０１４５】
一方、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ３１）。
【０１４６】
最終的に、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との接続が実際に物理的に切断されると（ステップＳ３２）、Ｐｏｗｅｒ  Ｂａｎｋ１００は、実施の形態２に従う遷移条件が満たされたと判断し、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからＵｎａｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ２２）。
【０１４７】
上述したように、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣである場合に、接続先のＤＲＰデバイスが何らかの理由でＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移し、それに続くＵｎａｔｔａｃｈｅｄ．ＳＲＣへの遷移が生じたとしても、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣに維持される。これにより、ＤＲＰデバイスも最終的にＡｔｔａｃｈＷａｉｔ．ＳＮＫに遷移して維持されるため、受給電の役割が意図せず逆転してしまうことを防止できる。
【０１４８】
（ｄ３：動作例）
次に、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の動作例について説明する。
【０１４９】
図１３は、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作の動作例を示す模式図である。図１３（ａ）には、比較例として、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作においてＥｒｒｏｒＲｅｃｏｖｅｒｙが発生した場合の動作例を示し、図１３（ｂ）には、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作においてＥｒｒｏｒＲｅｃｏｖｅｒｙが発生した場合の動作例を示す。
【０１５０】
図１３（ａ）を参照して、実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給中に、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。ここで、ＰＣ２００（ＤＲＰデバイス）がＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移すると、通信ラインの状態がＳＲＣ．Ｏｐｅｎになる。これにより、実施の形態１において採用される遷移条件が満たされたと判断されるので、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で、受給電の役割が意図せず逆転してしまう。
【０１５１】
これに対して、図１３（ｂ）を参照して、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給中に、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。ここで、ＰＣ２００（ＤＲＰデバイス）がＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移したとしても、実施の形態２において採用される遷移条件は満たされないので、Ｐｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で、受給電の役割が意図せず逆転してしまう事態を回避できる。
【０１５２】
（ｄ４：処理手順）
図１４は、実施の形態２に従うＰｏｗｅｒ  Ｂａｎｋ１００の給電動作に係る処理手順を示すフローチャートである。図１４に示すＰｏｗｅｒ  Ｂａｎｋ１００の各ステップは、典型的には、コントローラ１１０のプロセッサ１１２が制御プログラムであるファームウェア１１４を実行することで実現される。したがって、図１４に示す各ステップの実行主体は、典型的には、プロセッサ１１２となる。
【０１５３】
図１４を参照して、プロセッサ１１２は、Ａｔｔａｃｈｅｄ．ＳＲＣにおけるＤＲＰデバイスへの電力供給中において、バッテリ１０６の放電電圧が予め定められた値まで低下したか否かを判断する（ステップＳ２００）。バッテリ１０６の放電電圧が予め定められた値まで低下していなければ（ステップＳ２００においてＮＯ）、プロセッサ１１２は、ステップＳ２００の処理を繰り返す。
【０１５４】
バッテリ１０６の放電電圧が予め定められた値まで低下していれば（ステップＳ２００においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に抵抗値Ｒｐを見せる状態を維持しつつ、電力ラインを介したＤＲＰデバイスへの電力供給を停止する（ステップＳ２０２）。
【０１５５】
そして、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に現れる電圧がｖＲｄとは異なっているか否かを判断する（ステップＳ２０４）。通信ライン（第１通信ライン２１および第２通信ライン２２）に現れる電圧がｖＲｄと実質的に一致していれば（ステップＳ２０４においてＮＯ）、プロセッサ１１２は、ステップＳ２０４の処理を繰り返す。
【０１５６】
通信ライン（第１通信ライン２１および第２通信ライン２２）に現れる電圧がｖＲｄとは異なっていれば（ステップＳ２０４においてＹＥＳ）、プロセッサ１１２は、通信ラインの状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続しているか否かを判断する（ステップＳ２０６）。
【０１５７】
通信ラインの状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続していなければ（ステップＳ２０６においてＮＯ）、プロセッサ１１２は、ステップＳ２０４の処理を繰り返す。
【０１５８】
通信ラインの状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続していれば（ステップＳ２０６においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に見せる抵抗値をＲｐからＲｄに変更し（ステップＳ２０８）、ＤＲＰデバイスへの給電動作を終了する。
【０１５９】
（ｄ５：利点）
ＵＳＢ  Ｔｙｐｅ−Ｃ規格によれば、任意のタイミングでＥｒｒｏｒＲｅｃｏｖｅｒｙへ遷移して、デバイス間の接続をリセットすることが許容されている。実施の形態２によれば、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣにある場合に、仮にＥｒｒｏｒＲｅｃｏｖｅｒｙが発生したとしても、ＤＲＰデバイスとの接続が物理的に切断されたと誤って判断されることがないので、受給電の役割が意図せず逆転してしまう事態を回避できる。
【０１６０】
上述した以外の構成および処理などは、上述の実施の形態１と同様であるので、ここでは、詳細な説明は繰り返さない。
【０１６１】
［Ｅ．実施の形態３］
上述の実施の形態１および２においては、給電および受電の両方に対応する単一のポートを採用したＰｏｗｅｒ  Ｂａｎｋ１００における給電動作について説明した。実施の形態３においては、給電および受電の両方に対応するポートを複数採用した構成、あるいは、受電用のポートを追加で採用した構成に適した受給電動作について説明する。
【０１６２】
以下に説明する構成および処理を除いて、実施の形態３の構成および処理は、上述の実施の形態１または２と同様であるので、詳細な説明は繰り返さない。
【０１６３】
（ｅ１：ステート遷移）
まず、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移について説明する。図１５は、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移の要部を示す図である。図１５に示すステート遷移は、図６に示す実施の形態１に従うＰｏｗｅｒ  Ｂａｎｋ１００のステート遷移に比較して、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）への遷移が追加されている点が異なっている。図１５において、図６に示すステートと実質的に同一のステートについては、同一の参照符号を付している。また、図６を参照して説明したステートについては、その説明は繰り返さない。
【０１６４】
給電および受電の両方に対応するポートを複数採用した構成、あるいは、受電用のポートを追加で採用した構成を採用した場合には、ＤＲＰデバイスと接続された状態で、別のポートを介してバッテリを充電できる。そこで、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになり、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）へ遷移した後に、当該別のポートを介して受取った電力によってＬｏｗ  Ｂａｔｔｅｒｙが解消されると、ＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）へ遷移する（シーケンスＳＱ４５）。ＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）への遷移によって、ＤＲＰデバイスとの接続が物理的に切断されるか否かの検出処理を終了する。
【０１６５】
ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からＡｔｔａｃｈＷａｉｔ．ＳＲＣ（ＳＴ２）への遷移を用意することによって、Ｐｏｗｅｒ  Ｂａｎｋ１００は、別のポートを介して受取った電力を利用して、そのままＤＲＰデバイスに電力を供給できる。
【０１６６】
このように、実施の形態３においては、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件として、バッテリの充電によるＬｏｗ  Ｂａｔｔｅｒｙから回復したという条件を採用する（以下、「第３の遷移条件」とも称す。）。すなわち、ステート管理部に相当するプロセッサ１１２は、バッテリ１０６が充電されることで、接続先への電力供給が可能な状態に回復すると、ＳＲＣ（受電側）としてのシーケンスに従って、接続先への電力供給を再開する。
【０１６７】
このように、実施の形態３においては、複数のポートを有しているＰｏｗｅｒ  Ｂａｎｋ１００に適した第３の遷移条件を採用することで、より適切な受給電動作を実現する。
【０１６８】
（ｅ２：装置構成）
次に、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００の装置構成の一例について説明する。図１６および図１７は、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００の装置構成の一例を示す模式図である。図１６および図１７には、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースのポートを複数有している装置構成を示す。図１６および図１７に示す装置構成において、図４に示す装置構成と同一の部材については、同一の参照符号を付している。
【０１６９】
図１６を参照して、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００は、主たる構成要素として、コネクタ１０２Ａ，１０２Ｂと、電源管理部（Ｐｏｗｅｒ  Ｍａｎａｇｅｒ）１０４Ａ，１０４Ｂと、バッテリ１０６と、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）１１０とを含む。
【０１７０】
コネクタ１０２Ａ，１０２Ｂは、ＵＳＢ  Ｔｙｐｅ−Ｃ型インターフェースのポートを含む。
【０１７１】
電源管理部１０４Ａ，１０４Ｂは、コントローラ１１０からの指示に従って、バッテリ１０６の充放電を制御する充放電制御回路に相当する。
【０１７２】
コントローラ１１０は、プロセッサ１１２と、コネクタ１０２Ａに接続される信号伝送モジュール（ＰＨＹ＆ＬＧＣ）１１６Ａと、コネクタ１０２Ｂに接続される信号伝送モジュール（ＰＨＹ＆ＬＧＣ）１１６Ｂと、プロセッサ１１２とを含む。プロセッサ１１２は、信号伝送モジュール１１６Ａ，１１６Ｂおよび電源管理部１０４Ａ，１０４Ｂに接続されている。
【０１７３】
プロセッサ１１２は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に従うシーケンスを実行するステート管理部に相当する。プロセッサ１１２は、制御プログラムの一例であるファームウェア１１４を実行することで、コネクタ１０２Ａおよびコネクタ１０２Ｂのそれぞれを介して実行されるシーケンスを制御する。
【０１７４】
図１７を参照して、実施の形態３に従う別のＰｏｗｅｒ  Ｂａｎｋ１００は、主たる構成要素として、コネクタ１０２Ａ，１０２Ｂと、電源管理部（Ｐｏｗｅｒ  Ｍａｎａｇｅｒ）１０４Ａ，１０４Ｂと、バッテリ１０６と、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）１１０とを含む。
【０１７５】
コントローラ１１０は、プロセッサ１１２Ａ，１１２Ｂと、コネクタ１０２Ａに接続される信号伝送モジュール（ＰＨＹ＆ＬＧＣ）１１６Ａと、コネクタ１０２Ｂに接続される信号伝送モジュール（ＰＨＹ＆ＬＧＣ）１１６Ｂと、プロセッサ１１２とを含む。ポート毎に信号伝送モジュール１１６Ａ，１１６Ｂが設けられる。
【０１７６】
プロセッサ１１２Ａは、信号伝送モジュール１１６Ａおよび電源管理部１０４Ａに接続されている。また、プロセッサ１１２Ｂは、信号伝送モジュール１１６Ｂおよび電源管理部１０４Ｂに接続されている。さらに、プロセッサ１１２Ａとプロセッサ１１２Ｂとの間も接続されている。
【０１７７】
プロセッサ１１２Ａは、制御プログラムの一例であるファームウェア１１４Ａを実行することで、コネクタ１０２Ａを介して実行されるシーケンスを制御する。また、プロセッサ１１２Ｂは、制御プログラムの一例であるファームウェア１１４Ｂを実行することで、コネクタ１０２Ｂを介して実行されるシーケンスを制御する。
【０１７８】
図１６および図１７に示すＰｏｗｅｒ  Ｂａｎｋ１００のその他の構成については、図４に示すＰｏｗｅｒ  Ｂａｎｋ１００の対応する構成と同様であるので、詳細な説明は繰り返さない。
【０１７９】
（ｅ３：処理シーケンス）
次に、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の処理シーケンスの一例について説明する。
【０１８０】
図１８は、実施の形態３に従う遷移条件を採用しないＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。図１８に示すシーケンスチャートにおいて、先に説明したいずれかのシーケンスチャートと実質的に同一の処理については、同一の参照符号を付している。また、先に説明した処理については、その説明は繰り返さない。
【０１８１】
図１８を参照して、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移し（ステップＳ１，Ｓ２，Ｓ３）、ＰＣ２００への電力供給を開始する（ステップＳ４）。
【０１８２】
一方、ＰＣ２００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫを経てＡｔｔａｃｈ．ＳＮＫへ遷移し（ステップＳ１１，Ｓ１２，Ｓ１３）、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【０１８３】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６の放電電圧が予め定められた値まで低下すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙとなり、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移する（ステップＳ２１）。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。但し、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＲＣの状態を維持する。
【０１８４】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力供給が停止されることで、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ３１）。
【０１８５】
この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＰＣ２００と接続されているポートとは別のポートを介して電力を受取るとする。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００は、外部電源からの電力の受取りを開始する（ステップＳ２４）。例えば、Ｐｏｗｅｒ  Ｂａｎｋ１００は、電源アダプタ３００などの外部電源からの電力供給を受ける。この別のポートを介した電力供給によって、バッテリ１０６が充電され、Ｌｏｗ  Ｂａｔｔｅｒｙが解消されたとする。
【０１８６】
このようにＰｏｗｅｒ  Ｂａｎｋ１００のＬｏｗ  Ｂａｔｔｅｒｙが解消されてＤＲＰデバイスへ給電可能な状態となっても、ＤＲＰデバイスとの接続が切断されたことが検出されないので、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣに維持されて、給電を開始できない。
【０１８７】
このように、実施の形態３に従う第３の遷移条件ではなく、上述の実施の形態１に従う第１の遷移条件または実施の形態２に従う第２の遷移条件を採用した場合には、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣにある場合に、別のポートを介した給電によりＬｏｗ  Ｂａｔｔｅｒｙが解消されても、ステート遷移は生じず、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣに留まることになる。その結果、ＶＢＵＳはｅｎａｂｌｅにならないので、ＤＲＰデバイスへの電力供給は再開されない。
【０１８８】
すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとの間の接続を物理的に切断しなければ、ＤＲＰデバイスを再充電することはできない。
【０１８９】
実施の形態３においては、上述したような、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣにある場合に、別のポートを介した電力供給によってバッテリ１０６が充電されてＬｏｗ  Ｂａｔｔｅｒｙが解消したことを、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣ（ＳＴ７）からの遷移条件として採用する。このような第３の遷移条件を採用することで、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとの間の接続を物理的に切断しなくとも、外部電源からの電力供給の状態またはバッテリ１０６の充電状態に応じて、ＤＲＰデバイスへの電力供給を再開できる。
【０１９０】
図１９は、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作に係る処理シーケンスを示すシーケンスチャートである。図１９に示すシーケンスチャートにおいて、先に説明したいずれかのシーケンスチャートと実質的に同一の処理については、同一の参照符号を付している。また、先に説明した処理については、その説明は繰り返さない。
【０１９１】
図１９を参照して、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣを経てＡｔｔａｃｈ．ＳＲＣへ遷移し（ステップＳ１，Ｓ２，Ｓ３）、ＰＣ２００への電力供給を開始する（ステップＳ４）。
【０１９２】
一方、ＰＣ２００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫを経てＡｔｔａｃｈ．ＳＮＫへ遷移し（ステップＳ１１，Ｓ１２，Ｓ１３）、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ１４）。
【０１９３】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先へ供給する。
【０１９４】
その後、Ｐｏｗｅｒ  Ｂａｎｋ１００のバッテリ１０６の放電電圧が予め定められた値まで低下すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｌｏｗ  Ｂａｔｔｅｒｙとなり、Ａｔｔａｃｈ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移する（ステップＳ２１）。この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。但し、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＲＣの状態を維持する。
【０１９５】
一方、ＰＣ２００は、Ｐｏｗｅｒ  Ｂａｎｋ１００からの電力供給が停止されることで、電力の受取りを停止する（ステップＳ１５）。そして、ＰＣ２００は、Ａｔｔａｃｈｅｄ．ＳＮＫからＵｎａｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ１６）。
【０１９６】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００のコントローラ１１０は、ＳＲＣ（給電側）を示すプルアップ抵抗１１６５，１１６７（第１の抵抗；抵抗値Ｒｐ）を通信ラインに接続して、バッテリ１０６に蓄えられた電力を接続先へ供給する。
【０１９７】
さらに、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００の存在を検出することで、「Ｃｏｎｎｅｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫからＡｔｔａｃｈＷａｉｔ．ＳＮＫへ遷移する（ステップＳ３１）。
【０１９８】
この状態において、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＰＣ２００と接続されているポートとは別のポートを介して電力を受取るとする。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００は、外部電源からの電力の受取りを開始する（ステップＳ２４）。例えば、Ｐｏｗｅｒ  Ｂａｎｋ１００は、電源アダプタ３００などの外部電源からの電力供給を受ける。この別のポートを介した電力供給によって、バッテリ１０６が充電され、Ｌｏｗ  Ｂａｔｔｅｒｙが解消されたとする。
【０１９９】
Ｌｏｗ  Ｂａｔｔｅｒｙが解消されることにより、Ｐｏｗｅ  ｒＢａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからの遷移条件が満たされたと判断し、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからＵｎａｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する（ステップＳ２５）。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＳＮＫとなるデバイスの接続待ち状態となる。このとき、Ｐｏｗｅｒ  Ｂａｎｋ１００は、接続先のＰＣ２００がＳＲＣからの応答待ち状態であることを検出することで、「Ｓｉｎｋ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＲＣからＡｔｔａｃｈｅｄ．ＳＲＣへ遷移する（ステップＳ２６）。Ａｔｔａｃｈｅｄ．ＳＲＣにおいては、Ｐｏｗｅｒ  Ｂａｎｋ１００は、電力ラインへの規定電圧の供給を開始する。
【０２００】
一方、ＰＣ２００は、接続先のＰｏｗｅｒ  Ｂａｎｋ１００がＳＮＫからの応答待ち状態であることを検出することで、「Ｓｏｕｒｃｅ  Ｄｅｔｅｃｔｅｄ」の条件が満たされていると判断し、ＡｔｔａｃｈＷａｉｔ．ＳＮＫからＡｔｔａｃｈｅｄ．ＳＮＫへ遷移する（ステップＳ３５）。
【０２０１】
Ｐｏｗｅｒ  Ｂａｎｋ１００がＡｔｔａｃｈｅｄ．ＳＲＣとなり、ＰＣ２００がＡｔｔａｃｈＷａｉｔ．ＳＮＫとなることで、Ｐｏｗｅｒ  Ｂａｎｋ１００はＰＣ２００への電力供給を開始し（ステップＳ２７）、ＰＣ２００はＰｏｗｅｒ  Ｂａｎｋ１００からの電力の受取りを開始する（ステップＳ２６）。
【０２０２】
上述したように、Ｐｏｗｅｒ  Ｂａｎｋ１００がＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣである場合に、別のポートを介して電力を受取ることで、Ｌｏｗ  Ｂａｔｔｅｒｙが解消すると、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣからＡｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移することができる。ＡｔｔａｃｈＷａｉｔ．ＳＲＣへの遷移によって、ＤＲＰデバイスが再検出されるとともに、ＶＢＵＳがｅｎａｂｌｅになる。その結果、ＤＲＰデバイスは、ＡｔｔａｃｈＷａｉｔ．ＳＮＫからＡｔｔａｃｈｅｄ．ＳＮＫへ遷移して、Ｐｏｗｅｒ  Ｂａｎｋ１００から再充電されるようになる。
【０２０３】
このように、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとの接続を物理的に切断することなく、Ｐｏｗｅｒ  Ｂａｎｋ１００が再充電可能な状態になると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＤＲＰデバイスへ電力の供給が再開される。
【０２０４】
（ｅ４：動作例）
次に、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の動作例について説明する。
【０２０５】
図２０は、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００とＰＣ２００との間で実行される受給電動作の動作例を示す模式図である。図２０（ａ）には、比較例として、実施の形態３に従う遷移条件を採用しないＰｏｗｅｒ  Ｂａｎｋ１００の受給電動作において外部電源による充電が行なわれた場合の動作例を示し、図２０（ｂ）には、実施の形態３に従う遷移条件を採用したＰｏｗｅｒ  Ｂａｎｋ１００の受給電動作において外部電源による充電が行なわれた場合の動作例を示す。
【０２０６】
ＵＳＢ  Ｔｙｐｅ−Ｃ規格においては、ポート毎にステートマシンが制御されるため、複数のポートを有しているデバイスの場合、ポート毎にＳＲＣまたはＳＮＫとして個別に動作させることができる。
【０２０７】
図２０（ａ）を参照して、実施の形態３に従う遷移条件を採用しないＰｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給中に、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。ここで、別のポートを介して電力を受取り、Ｌｏｗ  Ｂａｔｔｅｒｙが解消したとしても、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣに留まるため、ＰＣ２００を再充電することはできない。
【０２０８】
これに対して、図２０（ｂ）を参照して、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給中に、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになると、Ｐｏｗｅｒ  Ｂａｎｋ１００からＰＣ２００への電力供給は停止される。ここで、別のポートを介して電力を受取り、Ｌｏｗ  Ｂａｔｔｅｒｙが解消すると、Ｐｏｗｅｒ  Ｂａｎｋ１００は、Ｕｎａｔｔａｃｈｅｄ．ＳＮＫ（ＳＴ４）へ遷移する。そして、所定のシーケンスを実行することで、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＰＣ２００との物理的な接続を切断することなく、ＰＣ２００を再充電できる。
【０２０９】
なお、Ｐｏｗｅｒ  Ｂａｎｋ１００が複数のポートを有している場合において、給電および受電が同時に発生すると、受電している電力が給電している電力より大きい場合、給電に用いられる電力は受電している電力から賄われ、余りがバッテリ１０６に蓄えられる。一方、受電している電力が給電している電力より小さい場合、給電に用いられる電力は、受電している電力およびバッテリ１０６から放電される電力により賄われる。
【０２１０】
このように、ＤＲＰデバイスへの給電に用いられるポート以外に、外部電源からの受電が可能なポートを有しているＰｏｗｅｒ  Ｂａｎｋ１００の場合には、実施の形態３に従う遷移条件を採用することで、ＤＲＰデバイスへの再充電を容易に行なうことができる。すなわち、Ｐｏｗｅｒ  Ｂａｎｋ１００がＤＲＰデバイスに給電したことでＬｏｗ  Ｂａｔｔｅｒｙになった後、別のポートを介して受取った電力によってＬｏｗ  Ｂａｔｔｅｒｙが解消されると、Ｐｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスとを物理的に切断しなくても、Ｐｏｗｅｒ  Ｂａｎｋ１００からＤＲＰデバイスへの給電を再開できる。
【０２１１】
（ｅ５：処理手順）
次に、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００とＤＲＰデバイスの一例であるＰＣ２００との間で実行される受給電動作の処理シーケンスについて説明する。
【０２１２】
図２１は、実施の形態３に従うＰｏｗｅｒ  Ｂａｎｋ１００の給電動作に係る処理手順を示すフローチャートである。図２１に示すＰｏｗｅｒ  Ｂａｎｋ１００の各ステップは、典型的には、コントローラ１１０のプロセッサ１１２が制御プログラムであるファームウェア１１４を実行することで実現される。したがって、図２１に示す各ステップの実行主体は、典型的には、プロセッサ１１２となる。
【０２１３】
図２１を参照して、プロセッサ１１２は、Ａｔｔａｃｈｅｄ．ＳＲＣにおけるＤＲＰデバイスへの電力供給中において、バッテリ１０６の放電電圧が予め定められた値まで低下したか否かを判断する（ステップＳ３００）。バッテリ１０６の放電電圧が予め定められた値まで低下していなければ（ステップＳ３００においてＮＯ）、プロセッサ１１２は、ステップＳ３００の処理を繰り返す。
【０２１４】
バッテリ１０６の放電電圧が予め定められた値まで低下していれば（ステップＳ３００においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に抵抗値Ｒｐを見せる状態を維持しつつ、電力ラインを介したＤＲＰデバイスへの電力供給を停止する（ステップＳ３０２）。
【０２１５】
そして、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）がオープン状態になったか否かを判断する（ステップＳ３０４）。
【０２１６】
通信ラインがオープン状態になっていれば（ステップＳ３０４においてＹＥＳ）、プロセッサ１１２は、通信ライン（第１通信ライン２１および第２通信ライン２２）に見せる抵抗値をＲｐからＲｄに変更し（ステップＳ３０６）、ＤＲＰデバイスへの給電動作を終了する。
【０２１７】
通信ラインがオープン状態になっていなければ（ステップＳ３０４においてＮＯ）、プロセッサ１１２は、バッテリ１０６の放電電圧が予め定められた値を超えるまで回復しているか否かを判断する（ステップＳ３０８）。バッテリ１０６の放電電圧が予め定められた値を超えるまで回復していなければ（ステップＳ３０８においてＮＯ）、プロセッサ１１２は、ステップＳ３０４以下の処理を繰り返す。
【０２１８】
バッテリ１０６の放電電圧が予め定められた値を超えるまで回復していれば（ステップＳ３０８においてＹＥＳ）、プロセッサ１１２は、電力ラインを介したＤＲＰデバイスへの電力供給を再開する（ステップＳ３１０）。そして、プロセッサ１１２は、ステップＳ３００以下の処理を繰り返す。
【０２１９】
なお、ステップＳ３００において、バッテリ１０６の放電電圧の比較（Ｌｏｗ  Ｂａｔｔｅｒｙの判断）に用いられるしきい値と、ステップＳ３０８において、バッテリ１０６の放電電圧の比較（Ｌｏｗ  Ｂａｔｔｅｒｙからの回復の判断）に用いられるしきい値とは異なる値が用いられてもよい。通常、ハンチングが発生しないように、ステップＳ３０８において用いられるしきい値は、ステップＳ３００において用いられるしきい値より高い値に設定される。
【０２２０】
（ｅ６：利点）
給電および受電の両方に対応するポートを複数採用したＰｏｗｅｒ  Ｂａｎｋ１００、あるいは、受電用のポートを追加で採用したＰｏｗｅｒ  Ｂａｎｋ１００においては、給電先のＤＲＰデバイスを接続したまま、別のポートからＰｏｗｅｒ  Ｂａｎｋ１００のバッテリを充電可能である。このような構成において、Ｐｏｗｅｒ  Ｂａｎｋ１００がＬｏｗ  Ｂａｔｔｅｒｙになり、ＵｎａｔｔａｃｈＷａｉｔ＿ＬＢ．ＳＲＣへ遷移した後、別のポートを介して受取った電力によりＬｏｗ  Ｂａｔｔｅｒｙが解消されると、ＡｔｔａｃｈＷａｉｔ．ＳＲＣへ遷移する。
【０２２１】
ＡｔｔａｃｈＷａｉｔ．ＳＲＣへの遷移によって、Ｐｏｗｅｒ  Ｂａｎｋ１００は、ＤＲＰデバイスとの物理的な接続を切断することなく、当該別のポートを介して受取った電力、および／または、バッテリ１０６に蓄えられている電力を用いて、ＤＲＰデバイスに再給電できる。
【０２２２】
［Ｆ．実施の形態４］
上述の実施の形態１〜３については、互いに適宜組合せることもできるし、任意の変形を加えることもできる。
【０２２３】
例えば、上述の実施の形態１において採用した第１の遷移条件、または、実施の形態２において採用した第２の遷移条件と、実施の形態３において採用した第３の遷移条件とを組合せた構成を採用してもよい。
【０２２４】
また、実施の形態１において採用した第１の遷移条件、および、実施の形態２において採用した第２の遷移条件のいずれについても実現可能なロジックを実装するとともに、状況に応じて、いずれか一方の遷移条件を有効化するようにしてもよい。具体的には、Ｐｏｗｅｒ  Ｂａｎｋ１００と接続される外部デバイスの形式あるいはシリアル番号などに応じて、いずれの遷移条件を有効化すべきかを選択するようにしてもよい。この場合、実施の形態３において採用した第３の遷移条件をさらに組合せてもよい。
【０２２５】
さらに、第２の遷移条件として、（ＣＣ１に現れる電圧≠ｖＲｄかつＣＣ２に現れる電圧≠ｖＲｄ）の状態が（ｔＥｒｒｏｒＲｅｃｏｖｅｒｙ＋ｔＤＲＰ）の時間を超えて継続されることを例示したが、継続判断に用いる時間をより長くして、誤判断を防止するようにしてもよい。
【０２２６】
さらに、ＵＳＢ  Ｔｙｐｅ−Ｃ規格においては、ＵＳＢケーブルを利用して電力の遣り取りを実現する給電規格である、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙを利用できる。実施の形態１〜３に従う構成は、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙを利用する場合にも適用可能である。
【０２２７】
［Ｇ．実施の形態５］
上述の実施の形態１〜４においては、プロセッサ１１２がファームウェア１１４を実行することで、上述したようなコントローラ１１０に係る処理の実行および機能の提供を実現する。
【０２２８】
プロセッサ１１２が実行するファームウェア１１４は、制御プログラムであり、外部からインストールまたは更新が可能になっている。ファームウェア１１４は、例えば、非一時的（non-transitory）な記録媒体に格納された状態で流通し、コントローラ１１０内の記憶領域にインストールまたは更新（アップデート）されてもよい。非一時的な記録媒体としては、光学ディスクなどの光学記録媒体、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、ＭＯ（Magneto-Optical disk）などの光磁気記録媒体を用いてもよい。すなわち、本実施の形態は、上述したような処理および機能を実現するためのコンピュータ読取可能な制御プログラム、および、当該制御プログラムを格納した記録媒体も含み得る。
【０２２９】
別の形態として、インターネットまたはイントラネットを介してサーバ装置からファームウェア１１４をダウンロードするようにしてもよい。
【０２３０】
当業者であれば、本実施の形態が実装される時代に応じた技術を適宜用いて、本実施の形態に従うコントローラおよびコントローラを含むデバイスを設計するであろう。
【０２３１】
［Ｈ．実施の形態６］
上述の実施の形態１〜５においては、プロセッサ１１２がファームウェア１１４を実行することで、上述したようなコントローラ１１０に係る処理の実行および機能の提供を実現する。但し、このようなソフトウェア実装ではなく、一部または全部をハードウェア実装としてもよい。ハードウェア実装とする場合には、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）といったハードワイヤードなデバイスを採用してもよい。
【０２３２】
当業者であれば、本実施の形態が実装される時代に応じた技術を適宜用いて、本実施の形態に従うコントローラおよびコントローラを含むデバイスを設計するであろう。
【０２３３】
［Ｉ．まとめ］
本実施の形態によれば、給電側から外部デバイスへの給電を一旦開始すると、その後に給電側のバッテリに蓄電されていた電力が低下してＬｏｗ  Ｂａｔｔｅｒｙとなり、そのままＵＳＢケーブルを繋いだままにしておいても、受給電の役割が入れ替わることがない。そのため、当初は受電側であった外部デバイスのバッテリから当初は給電側であったバッテリに電力が戻ってくるような事象が生じない。
【０２３４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【０２３５】
２  ＵＳＢケーブル、２１  第１通信ライン、２２  第２通信ライン、１００  Ｐｏｗｅｒ  Ｂａｎｋ、１０２，１０２Ａ，１０２Ｂ  コネクタ、１０４，１０４Ａ，１０４Ｂ  電源管理部、１０６  バッテリ、１１０  コントローラ、１１２，１１２Ａ，１１２Ｂ  プロセッサ、１１４，１１４Ａ，１１４Ｂ  ファームウェア、１１６，１１６Ａ，１１６Ｂ  信号伝送モジュール、２００  ＰＣ、３００  電源アダプタ、１１６１  第１通信制御ブロック、１１６２  第２通信制御ブロック、１１６３，１１６４  スイッチ、１１６５，１１６７  プルアップ抵抗、１１６６，１１６８  プルダウン抵抗、ＧＮＤ  グランド電位、Ｒｄ，Ｒｐ  抵抗値、Ｖｓ  電源電位。
【図１】
2020036391.tif 000003
【図２】
2020036391.tif 000004
【図３】
2020036391.tif 000005
【図４】
2020036391.tif 000006
【図５】
2020036391.tif 000007
【図６】
2020036391.tif 000008
【図７】
2020036391.tif 000009
【図８】
2020036391.tif 000010
【図９】
2020036391.tif 000011
【図１０】
2020036391.tif 000012
【図１１】
2020036391.tif 000013
【図１２】
2020036391.tif 000014
【図１３】
2020036391.tif 000015
【図１４】
2020036391.tif 000016
【図１５】
2020036391.tif 000017
【図１６】
2020036391.tif 000018
【図１７】
2020036391.tif 000019
【図１８】
2020036391.tif 000020
【図１９】
2020036391.tif 000021
【図２０】
2020036391.tif 000022
【図２１】
2020036391.tif 000023