以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
<実施形態1>
実施形態1では、外部機器401が電子機器301に接続された後に、電子機器301が接続機器検出を行い、電流負荷試験による電力供給能力判定を行う。接続機器検出では、電子機器301に接続された外部機器401の給電能力が論理的に判定される。そして、接続機器検出の結果と電力供給能力判定の結果とが所定の条件を満たす場合(例:これらの結果が一致する場合)に、電子機器301は、接続機器検出の結果に基づく電力条件で電池320の充電を開始する。なお、以下の実施形態では、電子機器301と外部機器401との接続にUSB(Universal Serial Bus)を用いるものとする。以下の実施形態において、電子機器301は、外部機器401からUSBインターフェースを介して電力を受け取ることができる機器(例:デジタルカメラなどの撮像装置、携帯電話などの携帯端末)である。また、以下の実施形態において、外部機器401は、電子機器301にUSBインターフェースを介して電力を供給或いは伝送することができる機器(例:PC(パーソナルコンピュータ)、ACアダプタなど)である。
まず、図3Aと図3Bを参照して、実施形態1における電子機器301の構成について説明する。図3Aと図3Bは、実施形態1における電子機器301の構成の一例を説明するためのブロック図である。なお、図3Aと図3Bでは、実施形態1の説明に不要な構成要素と、そのような構成要素への電源接続などは省略されている。
図3Aと図3Bにおいて、外部機器401は電子機器301へ有線で電力供給が可能な機器である。外部機器401と電子機器301は例えばUSBで接続される。外部機器401は電力供給のみが可能な機器であってもよいし、電力供給以外の機能を有する機器であってもよい。また、外部機器401が準拠するUSB規格は、USB2.0、USB3.0、USB3.1、USB BC(Battery Charging)、USB PD(Power Delivery)のいずれであってもよい。以下では、電子機器301がUSB BCまたはUSB PDによる電力供給を用いる場合を説明するが、これに限られるものでない。
外部機器401において、VBUS電源402は、外部機器401から電子機器301へ電力を供給するVBUSの電源である。VBUS電源402の電力としては、外部機器401の外部から供給される電力が用いられてもよいし、外部機器401の内部に有する電池から供給される電力が用いられてもよい。USBコネクタ403は、USB規格に準拠したコネクタである。USBインターフェースケーブル404は、外部機器401と電子機器301のUSBインターフェースを接続するケーブルである。ケーブル損失R−LOSS405は、USBインターフェースケーブル404のVBUSラインに発生する抵抗損失と、USBコネクタ403の接触抵抗成分を含む損失を図示したものである。
電子機器301は、外部機器401からUSBのVBUSラインを介して電力を受けとることができる。VBUSラインは有線である。図3Aに示すように、電子機器301はUSBコネクタ321を有し、外部機器401はUSBコネクタ403を有し、USBコネクタ321とUSBコネクタ403とはUSBインターフェースケーブル404で接続される。USBコネクタ321は、外部機器401から電力を受け取る受電部を有する接続手段の一例である。なお、USBインターフェースの各信号は周知であるので詳細な説明を省略する。
CPU(central processing unit)304は、電子機器301の制御を司るプロセッサである。CPU304は、例えば、ワークエリアとして使用されるRAM(Random Access Memory)、処理手順を記憶するROM(Read Only Memory)などのメモリを内包する。CPU304の主機能はVDDIN_CPUへ供給される電力により動作する。CPU304のUSB機能であるUSB_PHYは、VDDIN_USBへ供給される電力により、上記の主機能とは独立して動作することが可能である。CPU304のUSB機能(USB_PHY)は主機能よりも低い電力で動作でき、接続機器検出機能とUSB信号処理機能を有する。接続機器検出機能では、VBUS、D+線、D−線、CC線の論理検出および/または通信により電子機器301に接続された外部機器401が、USB2.0、USB3.0、USB3.1、USB BC、USB PDのいずれに準拠しているかを判定する。USB信号処理機能は、USBを介した通信を実行する。
CHG−IC302は、電池320の充電を制御する充電制御ICである。CHG−IC302はさらに、電圧入力VDDIN_VBUS_Aを定電圧出力VOUT_PWRに変換して電源IC−B312などへ供給する機能を有する。CHG−IC302は、この機能を、外部からの電圧入力VDDIN_VBUS_Aにより実行する。さらに、CHG−IC302は、外部からの電圧入力VDDIN_VBUS_Aがない場合に、電池320の入力(VBAT)を受けて、電源IC−B312などへVOUT_PWRとして出力する機能を有する。また、CHG−IC302は、CPU304と同様の接続機器検出機能を有する。CHG−IC302はCPU304とBUSで接続されている。CPU304は、BUSを用いた通信により、CHG−IC302の状態を取得したり、CHG−IC302の動作を制御したりする。
電池320は、例えば1セルのリチウムイオン二次電池であり、電子機器301を動作させるための電力(VBATT)を出力する。電源IC−A311は、電圧入力VIN−1を定電圧出力VOUT−1に変換し、CPU304のUSB機能(USB_PHY)を動作させるための電源(VDDIN_USB)を提供する電源ICである。電源IC−A311は、制御信号EN−1によって出力VOUT−1における出力のONとOFFが制御される。実施形態1では、EN−1とVIN−1は共にVBUSに接続されている。したがって、VBUSに外部機器401から電力が供給されると、電源IC−A311は、定電圧出力VOUT−1をCPU304のVDDIN_USBに供給する。電源IC−B312は、外部からの電圧入力VIN−2を定電圧出力VOUT−2に変換し、CPU304のVDDIN_CPUへ供給する電源ICである。電源IC−B312では、制御信号EN−2によって出力VOUT−2における出力のONとOFFが制御される。
SELSW−C313は、接続機器検出に用いる信号線(D+、D−、CC1、CC2)の接続をCPU304側かCHG−IC302側のいずれかに切り替えるセレクタスイッチである。SELSW−C313は、CPU304(BUSSEL_OUT)からのBUSSEL_IN信号にしたがって接続を切り替える。ただし、SELSW−C313の初期状態では、接続機器検出に用いる信号はCHG−IC302側に接続されておりCHG−IC302で接続機器検出が行われる。なお、上述したとおり、接続機器検出はCPU304でも実行可能である。したがって、SELSW−C313の初期状態において接続機器検出に用いる信号をCPU304側に接続するようにして、CPU304で接続機器検出を行うようにしてもよい。
SW−D314は、外部機器401からVBUSを介して供給された電力をCPU304のUSB機能(USB_PHY)へ接続するか否かを切り替えるスイッチである。USBコネクタ321は、USB規格に準拠したコネクタである。USBコネクタ321は電子機器301のコネクタ構成を限定しないので定義は省略する。また、電子機器301側のUSBインターフェースの各信号は、周知であるので、各信号の説明は省略する。
FUNCTION−A315、FUNCTION−B316、FUNCTION−C317は、それぞれCPU304により制御される構成要素である。FUNCTION−A315は、例えば、撮像素子によって得られた信号からデジタル画像データを生成する撮像部である。FUNCTION−B316は、例えば、デジタル画像データの記録媒体(例:フラッシュメモリーカード)への書き込みおよび記録媒体からの読み込みを行う記録部である。FUNCTION−C317は、例えば、電子機器301に関する情報を表示器(例:液晶表示器)に表示したり、撮像部または記録部から得られたデジタル画像データを表示器に表示したりする表示部である。FUNCTION−A315、FUNCTION−B316、FUNCTION−C317の機能は上記に限定されるものではないし、機能部の数も3つに限られるものではない。
ボタンスイッチ318は、電子機器301のCPU304の主機能を動作開始させるための電源ボタンスイッチである。ボタンスイッチ318の出力は、CPU304のVDDEN_OUT信号と共にOR319の入力に接続される。電子機器301は、ボタンスイッチ318の出力またはCPU304のVDDEN_OUT信号のいずれかの入力で電源IC−B312をONすることができる。
負荷試験回路303は、接続機器検出の結果に基づいて設定された条件(負荷電流と電圧閾値)で電流負荷試験を行い、外部機器401の電力供給能力を判定する回路である。負荷試験回路303は、接続機器検出の結果、論理的に判定された外部機器401の給電能力により外部機器401が給電可能か否かを判定する。負荷試験回路303は、その全体の電源VDDIN_CIRを電源IC−A311の出力VOUT−1から得る。したがって、外部機器401からVBUSへ電力が供給されている間、負荷試験回路303に常に電源が供給される。負荷試験回路303において、電源VDDIN_CIRが供給されていない状態から供給が開始された場合、以降説明する負荷試験回路303の各回路の論理は初期状態に設定されて機能はネゲートされる。また、負荷試験回路303において電源VDDIN_CIRが供給されている状態から供給が終了された場合、以降説明する負荷試験回路303の各回路の機能はネゲートされる。また、実施形態1における説明に不要な各回路の過渡的状態の説明は省略する。
接続機器検出の結果は、CPU304またはCHG−IC302のどちらから出力されてもよい。CPU304の接続機器検出の結果はUDET_OUT_1BおよびUDET_OUT_2Bから出力され、負荷試験回路303のOR331およびOR332で受信される。また、CHG−IC302の接続機器検出の結果はUDET_OUT_1AおよびUDET_OUT_2Aから出力され、負荷試験回路303のOR331およびOR332で受信される。OR331の出力(USBDET_1信号)およびOR332の出力(USBDET_2信号)はOR333、NOR355、SELSW−A381、SELSW−B391の入力に接続されている。
OR333の出力は、AND334の入力およびOR358の入力に接続されている。AND334の出力(TRIG)は、OneShotTimer−A335の入力に接続している。OneShotTimer−A335は入力の立ち上がりエッジをトリガに所定時間Taの間、H信号を出力する。OneShotTimer−A335では、所定時間Taの間に再度立ち上がりエッジが入力されても出力信号は変化しない。また、OneShotTimer−A335は/RESET入力によりH信号出力を停止する(L信号を出力する)。
OneShotTimer−A335の出力は、OR336とOR338の入力に接続されている。OR336の出力(LOAD_EN)はインバータ337に入力される。インバータ337の出力はSW−L382の入力に接続され、インバータ337の出力がH(LOAD_ENがL)のときSW−L382はOFFに、インバータ337の出力がL(LOAD_ENがH)のときSW−L382はONになる。SW−L382はPNPトランジスタまたはPchMOSFETなどのように、ON時に導通状態になり、OFF時に高インピーダンス状態となる素子であればよい。SW−L382がONの間(LOAD_ENがHの間)、NchMOSFET396によるVBUSからの負荷電流(LOAD_CURRENT)の引き出しが行われ、負荷試験が実施されることになる。
OR338の出力はOneShotTimer−B339の入力に接続される。OneShotTimer−B339は入力の立ち上がりエッジをトリガに所定時間Tbの間、H信号を出力する。OneShotTimer−B339では、H信号を出力している所定時間Tbの間は再度立ち上がりエッジが入力されても出力信号は変化しない。OneShotTimer−B339の出力(DATA_EN)は、DLY−A340の入力、D−FF341のD入力、D−FF342のD入力に接続されている。ここで、D−FF341,342は、Dフリップフロップ回路である。DLY−A340は、入力を所定時間Tdaだけ遅延させて信号を出力する。DLY−A340の出力は、D−FF342のCLK2入力に接続されている。D−FF341のQ1出力(LIMSEL)は、CHG−IC302のLIMSEL_IN_AとCPU304のLIMSEL_IN_Bに接続されている。負荷試験回路303から出力されるLIMSEL信号は、CHG−IC302およびCPU304へ外部機器401のVBUS負荷試験による電力供給能力判定の結果を伝える信号であり、CHG−IC302の充電制御に用いられる。
D−FF342のQ2出力はDLY−C343の入力に接続されている。DLY−C343は、入力を所定時間Tdcだけ遅延させて信号を出力する。DLY−C343の出力は、OR344の入力に接続されている。OR344の出力(CHG_EN)は、CHG−IC302のCHG_EN_IN入力に接続される。負荷試験回路303から出力されるCHG_EN信号は、CHG−IC302へ外部機器401のVBUS負荷試験による電力供給能力判定の結果を伝える信号である。
コンパレータ361のIN+入力は、VBUS電圧を抵抗363と抵抗364で分圧した信号(VBUS_LEV)である。コンパレータ361のIN−入力は、基準電圧362を抵抗373と、抵抗374、375、376および377のいずれかとにより分圧された信号(VREF_V)である。コンパレータ361は、IN+入力とIN−入力の信号を比較し、IN+の信号の方が大きい場合はHを出力し、IN−の信号の方が大きい場合はLを出力する。コンパレータ361の出力(COMP_OUT)は、インバータ345の入力、DLY−B346の入力、AND334の入力、インバータ351の入力、DLY−D356の入力に接続されている。
インバータ345の出力は、D−FF341のCLK1入力に接続されている。DLY−B346は、入力された信号を所定時間(時間:Tdbとする)遅延させて出力する。DLY−B346の出力は、OneShotTimer−A335の/RESET入力に接続されている。OneShotTimer−A335は、DLY−B346の出力がLの場合(/RESETがLの場合)に出力を停止し、立ち上がりエッジでのトリガ入力で再度信号出力を行う。DLY−D356は、入力を一定時間(時間:Tdd)遅延させて信号を出力する。
抵抗375とGNDとの接続は、SW−1A378のONまたはOFFに従ってONまたはOFFにされる。抵抗376とGNDとの接続は、SW−2A379のONまたはOFFに従ってONまたはOFFにされる。抵抗377とGNDとの接続は、SW−3A380のONまたはOFFに従ってONまたはOFFにされる。SW−1A378、SW−2A379およびSW−3A380は、ON時に導通状態になり、OFF時に高インピーダンス状態となる素子であり、例えばNPNトランジスタまたはNchMOSFETを有する。SELSW−A381は、接続機器検出の結果を示すUSBDET_1信号とUSBDET_2信号の組み合わせに応じてSW−1A378、SW−2A379またはSW−3A380をONまたはOFFにし、VREF_Vの値(電圧閾値に相当)を制御する。これにより、接続機器検出の結果に応じた電圧閾値の設定が実現される。例えば、論理的に判定された電圧供給能力に相当する定格電圧が電圧閾値に設定される。なお、図3Bでは、SELSW−A381にCPU304からのLOAD_DRV信号も接続されているが、LOAD_DRV信号は実施形態3で用いられる。
インバータ351の出力はSW−V352に接続され、インバータ351の出力がHのときSW−V352はOFF、インバータ351の出力がLのときSW−V352はONになる。SW−V352はON時に導通状態になりOFF時に高インピーダンス状態となる素子であり、例えば、PNPトランジスタまたはPchMOSFETなどを有する。
コンパレータ353のIN+入力には、電池320の電圧VBATTがSW−V352を介して接続される。SW−V352のONまたはOFFにより、コンパレータ353のIN+入力とVBATTの間の接続がONまたはOFFにされる。コンパレータ353のIN−入力には、基準電圧用電源354による所定電圧VTHが印加される。コンパレータ353は、IN+入力とIN−入力を比較し、IN+入力信号がIN−入力信号以上の場合はHを出力し、VIN−入力信号の方が大きい場合はLを出力する。例えば、電池320の出力電圧が所定電圧VTH以上の場合にはVBATT_CP_OUTはHになり、電池320の出力電圧が所定電圧VTH未満の場合にはVBATT_CP_OUTはHになる。コンパレータ353の出力(VBATT_CP_OUT)は、USBDET_1信号およびUSBDET_2信号と共にNOR355の入力に接続している。
NOR355の出力は、DLY−D356の出力と共にAND357の入力に接続している。AND357の出力は、DLY−C343の出力と共にOR344の入力に接続している。また、AND357の出力は、OR333の出力と共にOR358の入力に接続している。OR358の出力(/SUSPEND)は、CHG−IC302の/SUSPEND_IN入力に接続されている。負荷試験回路303から出力される/SUSPEND信号は、CHG−IC302へ外部機器401のVBUS負荷試験の結果などを伝える信号であり、CHG−IC302の充電制御に用いられる。
オペアンプ395のIN+入力は、基準電圧362を抵抗383、384、385、386、387で分圧した信号(VREF_I)である。オペアンプ395のIN+入力とGND間にはキャパシタ392が接続されている。基準電圧362はSW−L382を介して抵抗383と接続される。SW−L382のONまたはOFFによりオペアンプ395のIN+への入力電圧信号VREF_IがONまたはOFFにされる。オペアンプ395のIN−には、抵抗397に流れる電流によって発生する電圧信号が入力される。オペアンプ395の出力はNchMOSFET396のゲートに接続され、オペアンプ395の出力電圧によってNchMOSFET396のドレインからソースに流れる電流が制御される。NchMOSFET396のドレインはVBUSに接続され、ソースは抵抗397を介してGNDに接続される。VBUSからNchMOSFET396へ負荷電流(LOAD_CURRENT)が流れる。
オペアンプ395、NchMOSFET396、抵抗397は、オペアンプ395のIN+入力電圧信号VREF_IによってVBUSから抵抗397を介してGNDへ流す電流量を制御する定電流回路を形成している。上述のキャパシタ392は、SW−L382のONでオペアンプ395のIN+入力電圧信号VREF_IがONした場合に、VREF_Iのスルーレートを遅くし、流れる電流のスルーレートを遅くするソフトスタートの効果を有する。なお、NchMOSFET396はNchMOSFETに限ったものではなく、NPNトランジスタなどのように、電圧や電流制御でVBUSから抵抗397を介してGNDへ流す電流量を制御可能な素子であれば何でもよい。
抵抗385とGNDとの接続は、SW−1B388のONまたはOFFに従ってONまたはOFFにされる。抵抗386とGNDとの接続は、SW−2B389のONまたはOFFに従ってONまたはOFFにされる。抵抗387とGNDとの接続は、SW−3B390のONまたはOFFに従ってONまたはOFFにされる。SW−1B388、SW−2B389およびSW−3B390は、ON時に導通状態になり、OFF時に高インピーダンス状態となる素子であり、例えば、NPNトランジスタまたはNchMOSFETなどを有する。SELSW−B391は、USBDET_1信号およびUSBDET_2信号の組み合わせ(上述したように、LOAD_DRV信号は実施形態3で用いられる)によってSW−1B388、SW−2B389またはSW−3B390をONまたはOFFにする。これにより、VREF_Iの値が接続機器検出の結果に応じて制御される。これにより、接続機器検出の結果に応じた負荷電流の設定が実現される。
図1は、実施形態1における電子機器301が接続機器検出を行い、CHG−IC302による電池320の充電を開始する手順の一例を説明するためのフローチャートである。なお、実施形態1における接続機器検出はCHG−IC302とCPU304とのどちらでも可能であるが、図1のフローチャートはCHG−IC302が接続機器検出を行うものとする。
電子機器301は、CHG−IC302による電池320の充電をDISABLE状態(禁止状態)にする(S101)。CHG−IC302は、CHG_EN_INの入力または/SUSPEND_INの入力がLの場合に、電池320の充電をDISABLE状態にする。電子機器301がパワーオフ状態で外部機器401が未接続である場合、CHG−IC302による電池320の充電は禁止されるため、CHG_EN_INの入力または/SUSPEND_INの入力はネゲート状態(すなわちL入力の状態)である。USBコネクタ321に外部機器401が接続されると、CHG−IC302は接続機器検出を行う(S102)。接続機器検出では、USBコネクタ321に接続された外部機器401がUSB2.0、USB3.0、USB3.1、USB BC、USB PDのいずれに準拠しているかが検出される。
S102で接続機器検出の結果が不明である場合、電子機器301は電池320の電圧VBATTが所定電圧VTH以上であるか否かを判定する(S103)。VBATT電圧の判定は、負荷試験回路303のコンパレータ353により行われる。電池320の電圧VBATTが所定電圧以上(VTH以上)の場合、負荷試験回路303は、/SUSPEND信号をL、LIMSEL信号をLに制御する(S104)。これにより、CHG−IC302はVBUS入力電流値制限をサスペンド電流値であるISUSP=2.5mAに設定する。そして、図1のフローチャートが終了する。したがって、電池320の充電はDISABLE状態(禁止状態)のままである。
S103で電池320の電圧VBATTが所定電圧未満(VTH未満)の場合、負荷試験回路303は、/SUSPEND信号をH、LIMSEL信号をLに制御する(S105)。これにより、CHG−IC302はVBUS入力電流値制限を第1の電流値であるI1=0.1Aに設定する。第1の電流値I1=0.1Aは、デッドバッテリー電流値(DEAD BATTERY電流値)とも称する。そして、負荷試験回路303は、電池320の充電を開始させるために、CHG_EN信号をHに制御してCHG−IC302による電池320の充電をENABLE状態(許可状態)とする。そして、図1のフローチャートが終了する。
S102で接続機器検出によりUSB規格のタイプが検出された場合、負荷試験回路303はUSBDET_1信号およびUSBDET_2信号により接続機器検出の結果を入力し(S106)、これに基づいてVBUS負荷試験の条件を決定する(S107)。S107のVBUS負荷試験の条件は、接続機器検出の結果を示すUSBDET_1信号およびUSBDET_2信号によるSELSW−A381およびSELSW−B391の出力状態により決定される。なお、実施形態1におけるSELSW−A381およびSELSW−B391の制御には、CPU304からのLOAD_DRV信号は用いないためネゲート状態であるとする。負荷試験回路303のオペアンプ395のVREF_Iの値は負荷電流に相当する値であり、コンパレータ361のVREF_Vの値は電圧閾値に相当する値である。例えば、論理的に判定された電流供給能力に相当する定格電流が負荷電流に設定され、論理的に判定された電圧供給能力に相当する定格電圧が電圧閾値に設定される。
その後、電子機器301はVBUS負荷試験を行う(S108)。VBUS負荷試験では、負荷試験回路303のLOAD_ENがHにアサートされている間に、VBUSラインから負荷電流を引き込む。負荷試験回路303は、VBUS負荷試験の結果を記憶する(S109)。VBUS負荷試験の結果の記憶は、DATA_EN信号およびCOMP_OUT信号により記憶を実行するD−FF341およびD−FF342の状態のことである。その後、負荷試験回路303はVBUS負荷試験を終了する(S110)。
電子機器301はS109で記憶したVBUS負荷試験の結果から、VBUS負荷試験中のVBUS電圧が電圧閾値以上の状態を維持したか否かを判定する(S111)。S111における判定とは、D−FF341およびD−FF342の出力状態により決まるCHG_EN信号、LIMSEL信号の論理による判定と同義である。S111の判定結果に基づいて、外部機器から受ける電流が制限される。すなわち、S111で、負荷試験中にVBUS電圧が電圧閾値以上に維持されたと判定された場合、負荷試験回路303は/SUSPEND信号をH、LIMSEL信号をLにする。これにより、CHG−IC302はVBUS入力電流値制限を接続機器検出済みの外部機器401のプロファイルの電流値に設定する(S112)。例えば外部機器401の接続機器検出の結果がUSB BC規格の5V/1.5Aプロファイルであった場合、CHG−IC302はVBUS入力電流値制限をI3=1.5Aに設定する。
一方、S111で、負荷試験中にVBUS電圧が電圧閾値未満になったと判定された場合、負荷試験回路303は/SUSPEND信号とLIMSEL信号を共にHにする。これにより、CHG−IC302はVBUS入力電流値制限を第2の電流値であるI2=0.5Aに設定する(S113)。例えば外部機器401の接続機器検出の結果がUSB BC規格の5V/1.5Aプロファイルあった場合であっても、負荷試験中にVBUS電圧が電圧閾値未満になった場合には、CHG−IC302のVBUS入力電流値制限がI2=0.5Aに設定される。
S112またはS113が終了すると、負荷試験回路303は、電池320の充電を開始するためにCHG_EN信号をHにする(S114)。これにより、CHG−IC302のCHG_EN_INにHが入力され、CHG−IC302による電池320の充電がENABLE状態(許可状態)となる。そして、図1のフローチャートが終了する。
図2A、図2B、図2Cおよび図2Dは、実施形態1における電子機器301の負荷試験回路303での電流負荷試験による電力供給能力判定を行う信号制御手順の一例を説明するためのタイミングチャートである。図2A、図2B、図2Cおよび図2Dのタイミングチャートでは、接続機器検出とVBUS負荷試験を行って充電条件を決定する期間をPHASE1、電池320の充電を行う期間をPHASE2としている。また、図4は、実施形態1における接続機器検出の結果と、充電条件との関係の一例を説明するための真理値表である。
図2Aのタイミングチャートを参照して、接続機器検出の結果が不明であり、電池320の電圧VBATTが所定電圧VTH以上の場合の信号制御手順の一例を説明する。
図2Aにおいて、VBUSが投入されると負荷試験回路303の論理は一定時間ネゲートする。ネゲートする時間をTngとする。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出の結果が不明であるので、USBDET_1信号およびUSBDET_2信号はLのままであり、結果、TRIG、DATA_EN、LOAD_EN信号もLのままである。よって、VBUS負荷試験は行われず、負荷電流LOAD_CURRENTはゼロとなる。PHASE1とPHASE2においてLIMSEL、CHG_EN、/SUSPEND信号がLのままであり、電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。図4の真理値表の図2Aのタイミングチャートに対応する行に示されるように、電池320の充電はDISABLE状態であり、CHG−IC302のVBUS入力電流値制限はサスペンド電流値であるISUSP=2.5mAに設定される。
次に、図2Bのタイミングチャートを参照して、接続機器検出の結果が不明であり電池320の電圧VBATTが所定電圧VTH未満である場合の信号制御手順の一例を説明する。図2Bにおいて、VBUSが投入されると負荷試験回路303の論理を一定時間(Tng)ネゲートする。VBUS_LEVがVREF_V以上の場合COMP_OUT信号はHとなる。接続機器検出の結果が不明であるので、USBDET_1信号およびUSBDET_2信号はLのままである。よって、TRIG、DATA_EN、LOAD_EN信号もLのままであり、VBUS負荷試験は行われず、負荷電流LOAD_CURRENTはゼロである。
図2BのPHASE1では、LIMSEL、CHG_EN、/SUSPEND信号がLのため電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。電池320の電圧VBATTが所定電圧VTH未満、USBDET_1信号およびUSBDET_2信号がL、COMP_OUT信号がHの場合、DLY−D356はTdd時間後にCHG_ENおよび/SUSPEND信号をLからHに遷移する。これにより、CHG−IC302による電池320の充電がENABLE状態になる。したがって、PHASE2において、充電電流CHG_CURRENTを第1の電流値であるI1=0.1Aに制限して電池320の充電が行われる。図4の真理値表の図2Bのタイミングチャートに対応する行に示すように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は第1の電流値であるI1=0.1Aである。
次に、図2Cのタイミングチャートを参照して、接続機器検出の結果が有効であり、負荷試験中にVBUS電圧(VBUS_LEV)がVREF_V以上である状態を維持した場合の信号制御手順の一例を説明する。
図2Cにおいて、VBUSが投入されると負荷試験回路303の論理を一定時間(Tng)ネゲートする。VBUS_LEVがVREF_V以上であるので、COMP_OUT信号はHとなる。接続機器検出の結果が有効の場合、USBDET_1信号とUSBDET_2信号の少なくとも一方がHになる。図2Cの例では、接続機器検出の結果がUSB BC規格準拠機器の場合にUSBDET_1信号がH、USBDET_2信号がLになるものとする。結果、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力するTaの期間、VBUS負荷試験が行われる。接続機器検出により外部機器401がUSB BC規格の外部機器401と判定しているとすると、負荷電流LOAD_CURRENTはIL3=約1.5Aに設定される。
VBUS負荷試験を開始してから終了するまでの間(Taの間)、VBUS_LEVがVREF_V以上の状態を維持すればCOMP_OUT信号はHの出力を継続する。実施形態1の例では、VBUS電圧が4.75V以上の場合にVBUS_LEVがVREF_V以上になる設定とする。なお、VBUS電圧(定格電圧)とVREF_Vの関係は上記に限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。Taの期間にVBUS負荷試験の結果がD−FF341に、VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1では、LIMSEL信号はL、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移し、CHG−IC302による電池320の充電がENABLE状態になる。VBUS負荷試験の結果を記憶するD−FF341は、COMP_OUTがLの状態に維持されるので、LIMSEL信号のLを維持する。PHASE2で、CHG−IC302は、充電電流CHG_CURRENTを、USB BC規格の5V/1.5Aプロファイルの電流値であるI3=1.5Aで制限して電池320の充電を行う。図4の真理値表の図2C、PHASE2のタイミングチャートに対応する行に示すように、電池320の充電状態はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は接続機器検出の結果のプロファイル電流値であるI3=1.5Aである。
次に、図2Dのタイミングチャートを参照して、接続機器検出の結果が有効であり、負荷試験中にVBUS電圧(VBUS_LEV)がVREF_V未満になる場合の信号制御手順の一例を説明する。
VBUSが投入されると負荷試験回路303の論理が一定時間(Tng)ネゲートされる。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出により外部機器401がUSB BC規格準拠機器であることが検出された場合、USBDET_1信号はH、USBDET_2信号はLとなり、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力する期間、VBUS負荷試験が行われる。接続機器検出の結果により外部機器401がUSB BC規格準拠機器と判定されている場合、負荷電流LOAD_CURRENTはIL3=約1.5Aに設定される。
VBUS負荷試験を開始した後、VBUS_LEVがVREF_V未満になると、COMP_OUT信号はLになる。実施形態1では、VBUS電圧が4.75V未満の場合にVBUS_LEVがVREF_V未満になる設定とする。但し、VBUS電圧とVREF_Vの関係はこれに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。COMP_OUT信号がLを出力した結果、VBUS負荷試験の結果がD−FF341に記憶される。そして、OneShotTimer−A335が/RESET入力により信号出力を停止しLOAD_EN信号がLになりVBUS負荷試験が停止する。Taの期間にVBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1では、LIMSEL信号はH、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1の時点では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移させ、CHG−IC302による電池320の充電をENABLE状態にする。PHASE2では、CHG−IC302は、充電電流CHG_CURRENTを第2の電流値であるI2=0.5Aに制限して電池320を充電する。図4の真理値表の図2D、PHASE2のタイミングチャートに対応する行に示すように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は第2の電流値であるI2=0.5Aである。
以上のように、実施形態1によれば、電子機器301は電池320を充電する前に接続機器検出を行って外部機器401の電力供給能力を論理的に判定する。その後、検出した接続機器検出の結果に基づくVBUS負荷試験によって外部機器401の実際の電力供給能力を判定する。そして、接続機器検出の結果と電力供給能力判定の結果とが所定の条件を満たす場合(例:これらの結果が一致する場合)に、接続機器検出の結果に基づく電力条件で外部機器401からの電力供給を受けて電池320の充電を開始することができる。
そのため、外部機器401の実際の電力供給能力を判定せずに充電を開始した場合に比べて、充電電流によって発生するVBUS電圧の変動により充電の停止と開始が繰り返されるような現象を防止することができる。例えば、外部機器401と電子機器301との間のUSBインターフェースケーブル404のVBUSラインのケーブル損失R−LOSS405と充電電流の変化によって発生するVBUS電圧の変動により充電の停止と開始が繰り返されるような現象を防止することができる。
<実施形態2>
実施形態1では、電子機器301が接続機器検出の結果としてUSBDET_1信号およびUSBDET_2信号のうちUSBDET_1信号を用いて、外部機器401がUSB BC規格に準拠した機器であるか否かを判定する例を示した。実施形態2では、USBDET_1信号およびUSBDET_2信号の両方を用いる例を示す。以下では、外部機器401がUSB BC規格に準拠した機器であるか否かと、USB PD規格(PROFILE1かPROFILE2)に準拠した機器であるか否かとを判定し、電流負荷試験を行い、電池320の充電を開始する例を説明する。なお、実施形態2における電子機器301の構成は、実施形態1(図3)と同様である。また、実施形態2における電子機器301で行われる処理は、実施形態1(図1)と同様である。
図5A、図5B、図5Cおよび図5Dは、実施形態2における電子機器301の負荷試験回路303での電流負荷試験による電力供給能力判定を行う信号制御手順の一例を説明するためのタイミングチャートである。図5A、図5B、図5Cおよび図5Dのタイミングチャートにおいて、接続機器検出とVBUS負荷試験を行って充電条件を決定する期間をPHASE1、電池320の充電を行う期間をPHASE2とする。図6は、実施形態2における接続機器検出の結果と、充電条件との関係の一例を説明するための真理値表である。
なお、接続機器検出に失敗した場合の信号制御手順は、図2Aおよび図2Bに示したとおりである。また、接続機器検出の結果がUSB BC規格準拠機器であり、VBUS負荷試験の結果、VBUS_LEVがVREF_V以上を維持した場合の信号制御手順は図2Cに示したとおりである。更に、接続機器検出の結果がUSB BC規格準拠機器であり、VBUS負荷試験の結果、VBUS_LEVがVREF_V以上を維持できなかった場合の信号制御手順は図2Dに示したとおりである。
図5Aのタイミングチャートを参照して、接続機器検出により外部機器401がUSB PD規格PROFILE1の5V出力準拠機器であることが検出され、VBUS負荷試験においてVBUS_LEVがVREF_V以上を維持した場合を説明する。
図5Aにおいて、VBUSが投入されると負荷試験回路303の論理は一定時間(Tng)ネゲートされる。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出の結果がUSB PD規格PROFILE1の5V出力準拠機器を示す場合、USBDET_1信号はL、USBDET_2信号はHになり、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力するTaの期間、VBUS負荷試験が行われる。接続機器検出により外部機器401がUSB PD規格PROFILE1の5V出力準拠機器と判定されているため、負荷電流LOAD_CURRENTはIL4=約2.0Aに設定される。
VBUS負荷試験が開始してから終了するまでの間、VBUS_LEVがVREF_V以上であれば、COMP_OUT信号はHの出力を継続する。実施形態2では、VBUS電圧が4.75V以上の場合にVBUS_LEVがVREF_V以上になる設定とされている。なお、VBUS電圧とVREF_Vの関係はこれに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。Taの期間にVBUS負荷試験の結果がD−FF341に、VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1では、LIMSEL信号はL、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移する。これにより、CHG−IC302による電池320の充電がENABLE状態になる。PHASE2において、CHG−IC302は、充電電流CHG_CURRENTをUSB PD規格PROFILE1の、5V/2.0Aの電流値であるI4=2.0Aに制限して電池320の充電を行う。図6の真理値表の図5A、PHASE2のタイミングチャートに対応する行に示されるように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は接続機器検出の結果のプロファイル電流値であるI4=2.0Aである。
次に、図5Bを参照して、接続機器検出により外部機器401がUSB PD規格PROFILE1の5V出力準拠機器であることが検出され、負荷試験中にVBUS_LEVがVREF_V以上を維持できない場合の信号制御手順の一例を説明する。
図5Bにおいて、VBUSが投入されると負荷試験回路303の論理は一定時間(Tng)ネゲートされる。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出により外部機器401がUSB PD規格PROFILE1の5V出力準拠機器であると判定された場合、USBDET_1信号はL、USBDET_2信号はHになる。これにより、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力する期間、VBUS負荷試験が行われる。接続機器検出で外部機器401がUSB PD規格PROFILE1の5V出力準拠機器と判定している場合、負荷電流LOAD_CURRENTはIL4=約2.0Aに設定される。
VBUS負荷試験を開始してからVBUS_LEVがVREF_V未満になると、COMP_OUT信号はLを出力する。実施形態2では、VBUS電圧が4.75V未満の場合にVBUS_LEVがVREF_V未満になる設定とする。なお、VBUS電圧とVREF_Vの関係は、これに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。
COMP_OUT信号がLを出力した結果、そのVBUS負荷試験の結果がD−FF341に記憶される。そして、OneShotTimer−A335が/RESET入力により信号出力を停止しLOAD_EN信号がLになりVBUS負荷試験が停止する。Taの期間にVBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1では、LIMSEL信号はH、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移し、CHG−IC302による電池320の充電をENABLE状態にする。PHASE2において、CHG−IC302は、充電電流CHG_CURRENTを第2の電流値であるI2=0.5Aに制限して電池320の充電を行う。図6の接続機器検出の結果と充電条件の真理値表の図5B、PHASE2のタイミングチャートに対応する行に示されるように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は第2の電流値であるI2=0.5Aである。
次に、図5Cのタイミングチャートを参照して、接続機器検出の結果がUSB PD規格PROFILE2の12V出力準拠機器を示し、負荷試験中にVBUS_LEVがVREF_V以上を維持する場合の信号制御手順の一例を説明する。
図5Cにおいて、VBUSが投入されると負荷試験回路303の論理を一定時間(Tng)ネゲートする。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出の結果がUSB PD規格PROFILE2の12V出力準拠機器の場合、VBUS電圧はUSB PD規格PROFILE2に準拠する12Vに設定される。この場合、USBDET_1信号とUSBDET_2信号は共にHになり、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力するTaの期間、VBUS負荷試験が行われる。Taの期間にVBUS負荷試験の結果がD−FF341に、VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
接続機器検出により外部機器401がUSB PD規格PROFILE2の12V出力準拠機器と判定されている。そのため、VBUS_LEVはVREF_V2の値に設定され、負荷電流LOAD_CURRENTはIL3=約1.5Aに設定される。VBUS負荷試験を開始してから終了するまでの間、VBUS_LEVがVREF_V2以上であるため、COMP_OUT信号はHの出力を継続する。実施形態2では、VBUS電圧が11.4V以上の場合にVBUS_LEVがVREF_V2以上になる設定とされる。但し、VBUS電圧とVREF_V2の関係はこれに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。
PHASE1では、LIMSEL信号はL、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移させ、CHG−IC302による電池320の充電をENABLE状態にする。PHASE2では、CHG−IC302は、充電電流CHG_CURRENTをUSB PD規格PROFILE2、12V/1.5Aの電流値であるI3=1.5Aに制限して電池320の充電を行う。図6の真理値表の図5C、PHASE2のタイミングチャートに対応する行に示されるように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は接続機器検出の結果のプロファイル電流値であるI3=1.5Aである。
次に、図5Dのタイミングチャートを参照して、接続機器検出の結果がUSB PD規格PROFILE2の12V出力準拠機器であり、負荷試験中にVBUS_LEVがVREF_V以上であることを維持できない場合の信号制御手順の一例を説明する。
図5Dにおいて、VBUSが投入されると負荷試験回路303の論理が一定時間(Tng)ネゲートされる。VBUS_LEVがVREF_V以上の場合、COMP_OUT信号はHとなる。接続機器検出の結果がUSB PD規格PROFILE2の12V出力準拠機器の場合、VBUS電圧はUSB PD規格PROFILE2の12V出力に準拠する12Vに設定される。そして、USBDET_1信号とUSBDET_2信号は共にHになり、/SUSPEND、TRIG、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力する期間、VBUS負荷試験が行われる。
上述のように、接続機器検出により外部機器401がUSB PD規格PROFILE2の12V出力準拠機器であると判定されている。そのため、VBUS_LEVはVREF_V2の値に設定され、負荷電流LOAD_CURRENTはIL3=約1.5Aに設定される。VBUS負荷試験を開始してからVBUS_LEVがVREF_V2未満になると、COMP_OUT信号はLを出力する。実施形態2では、VBUS電圧が11.4V未満の場合にVBUS_LEVがVREF_V2未満になる設定とする。なお、VBUS電圧とVREF_V2の関係はこれに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。
COMP_OUT信号がLを出力した結果、VBUS負荷試験の結果がD−FF341に記憶される。そして、OneShotTimer−A335が/RESET入力により信号出力を停止しLOAD_EN信号がLになりVBUS負荷試験が停止する。Taの期間にVBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1では、LIMSEL信号はH、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では、CHG−IC302の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移させ、CHG−IC302による電池320の充電をENABLE状態にする。PHASE2では、CHG−IC302は、充電電流CHG_CURRENTを第2の電流値であるI2=0.5Aに制限して電池320の充電を行う。図6の接続機器検出の結果と充電条件の真理値表の図5D、PHASE2のタイミングチャートに対応する行に示されるように、電池320の充電はENABLE状態であり、CHG−IC302のVBUS入力電流値制限は第2の電流値であるI2=0.5Aである。
以上のように、実施形態2によれば、電子機器301は電池320を充電する前に接続機器検出を行って外部機器401の電力供給能力を論理的に判定する。そして、電子機器301は、接続機器検出の結果に基づいてVBUS負荷試験の判定閾値を変え、接続機器検出の結果に基づくVBUS負荷試験によって外部機器401の実際の電力供給能力を判定する。接続機器検出の結果と電力供給能力判定の結果とが所定の条件を満たす場合(例:これらの結果が一致する場合)に、接続機器検出の結果に基づく電力条件で外部機器401から電力供給を受けて電池320の充電を開始する。
実施形態2によれば、電子機器301は複数の給電規格に準拠して適切なVBUS負荷試験を行うことができる。さらに、接続機器検出を行う信号の論理数を拡張し、VREF_VとVREF_Iの値の設定数も拡張することも可能である。その場合、実施形態2で説明したUSB BC規格、USB PD規格PROFILE1、USB PD規格PROFILE2以外のUSB規格にも準拠することが可能である。例えば接続機器検出の結果によって、下記のいずれに準拠した機器であるか否かを判定できるようにすることも可能である。
・USB BC規格の5V/1.5Aまでの出力準拠機器
・USB PD規格PROFILE1の5V/2.0A出力準拠機器
・USB PD規格PROFILE2の5V/2.0A出力準拠機器
・USB PD規格PROFILE2の12V/1.5A出力準拠機器
・USB PD規格PROFILE3の5V/2.0A出力準拠機器
・USB PD規格PROFILE3の12V/3.0A出力準拠機器
・USB PD規格PROFILE4の5V/2.0A出力準拠機器
・USB PD規格PROFILE4の12V/3.0A出力準拠機器
・USB PD規格PROFILE4の20V/3.0A出力準拠機器
・USB PD規格PROFILE5の5V/2.0A出力準拠機器
・USB PD規格PROFILE5の12V/5.0A出力準拠機器
・USB PD規格PROFILE5の20V/5.0A出力準拠機器
<実施形態3>
実施形態1および2では、電子機器301のCPU304の主機能および電子機器301のFUNCTION−A315、FUNCTION−B316、FUNCTION−C317が動作していない状態で電流負荷試験を行い、充電を開始する構成を説明した。或いは、実施形態1および2では、CPU304、FUNCTION−A315〜FUNCTION−C317の動作状態が考慮されていない。実施形態3では、電子機器301のCPU304の主機能および電子機器301のFUNCTION−A315〜FUNCTION−C317の少なくとも一部が動作している状態でそれらの消費電流を考慮して電流負荷試験を行い、充電を開始する。実施形態3では、実施形態3における電子機器301の構成は、実施形態1(図3)と同様である。
図7は、実施形態3における電子機器301が接続機器検出を行い、CHG−IC302による電池320の充電を開始する手順の一例を説明するためのフローチャートである。実施形態3における接続機器検出はCHG−IC302とCPU304とのどちらでも可能であるが、図7のフローチャートはCPU304が接続機器検出を行うものとして説明を行う。
電子機器301は、CHG−IC302による電池320の充電をDISABLE状態(禁止状態)にする(S701)。なお、CHG−IC302は、CHG_EN_INの入力または/SUSPEND_INの入力がLの場合に、電池320の充電をDISABLE状態にする。電子機器301がパワーオフ状態で外部機器401が未接続である場合は、CHG−IC302による電池320の充電は禁止されるため、CHG_EN_INの入力または/SUSPEND_INの入力はネゲート状態(すなわちL入力の状態)である。CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302による電池320の充電をDISABLE状態にする。
電子機器301において、CPU304の主機能と、FUNCTION−A315、FUNCTION−B316、FUNCTION−C317の一部が起動する(S702)。S702の時点で電子機器301が電池320から消費する電流値は既知の値(IFUNC)であり、実施形態3においては、例えばIFUNC=0.3Aであるとする。CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のUSBDET_1信号およびUSBDET_2信号をDISABLE状態に設定する(S703)。そして、USBDET_1信号およびUSBDET_2信号の出力をCPU304からの制御に設定する。
USBコネクタ321に外部機器401が接続されたら、電子機器301は接続機器検出を実行して外部機器401のUSBタイプを判定する(S704)。接続機器検出では、USBコネクタ321に接続された外部機器401がUSB2.0、USB3.0、USB3.1、USB BC、USB PDのいずれに準拠しているかを検出する。接続機器検出の結果が不明である場合、CPU304は外部機器401とエニュメレーション処理とを行い、その成功可否を判定する(S705)。エニュメレーション処理は、USB規格で規定された処理である。S705でエニュメレーション処理が失敗と判定された場合、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のVBUS入力電流値制限をサスペンド電流値であるISUSP=2.5mAに設定する(S707)。そして、CHG−IC302による電池320の充電がDISABLE状態(禁止状態)のままで、図7のフローチャートが終了する。
他方、S705でエニュメレーション処理が成功したと判定された場合、CPU304は外部機器401の電流供給能力が第2の電流値であるI2=0.5A以上かを判定する(S706)。外部機器401の電流供給能力が第2の電流値未満の場合、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のVBUS入力電流値制限を第1の電流値であるI1=0.1Aに設定する(S708)。そして、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302による電池320の充電をENABLE状態にする(S717)。そして、図7のフローチャートが終了する。
S706で外部機器401の電流供給能力が第2の電流値以上であれば、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のVBUS入力電流値制限を第2の電流値であるI2=0.5Aに制限する(S709)。そして、電池320の充電を開始するために、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302による電池320の充電をENABLE状態にする。そして、図7のフローチャートが終了する。
S704で接続機器検出によりUSBタイプが検出された場合、CPU304は、接続機器検出の結果をUSBDET_1信号およびUSBDET_2信号を用いて出力する。負荷試験回路303はUSBDET_1信号およびUSBDET_2信号により接続機器検出の結果を受信し(S710)、VBUS負荷試験の条件を決定する(S711)。VBUS負荷試験の条件は、USBDET_1、USBDET_2信号によるSELSW−A381およびSELSW−B391の出力状態により決定される。負荷試験回路303のオペアンプ395のVREF_Iの値は負荷電流に相当する値であり、コンパレータ361のVREF_Vの値は電圧閾値に相当する値である。但し、負荷電流については、CPU304とFUNCTION−A315〜FUNCTION−C317により現在使用中の電流値IFUNCが差し引かれる。例えば、接続機器検出により外部機器401がUSB BC規格準拠機器と判定されている場合、負荷電流LOAD_CURRENTはIL3−IFUNC=1.5A−0.3Aに設定される。
負荷試験回路303は、VBUS負荷試験を行う(S712)。VBUS負荷試験では、負荷試験回路303のLOAD_ENがHにアサートされている間に、VBUSラインから負荷電流を引き込む。実施形態1および2では、USBDET_1とUSBDET_2の何れかがHになることでLOAD_ENがHにアサートされる。実施形態3では、期間Taの間、CPU304がLOAD_DRVをHにすることで、LOAD_ENがHにアサートされる。この構成については後述する。負荷試験回路303は、VBUS負荷試験の結果をD−FF341およびD−FF342に記憶させる(S713)。負荷試験回路303はVBUS負荷試験を終了する(S714)。
CPU304は、記憶されたVBUS負荷試験の結果に基づいて、VBUS負荷試験中(LOAD_DRVがHの間)にVBUS電圧の閾値以上の状態が維持されたかを判定する(S715)。実施形態3では、CPU304が、負荷試験の期間中にD−FF341の出力状態であるLIMSEL信号の論理を判定する。負荷試験の期間中VBUS電圧が閾値以上である状態が維持されると、LIMSEL信号もLに維持され、/SUSPEND信号はHになっている。CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のVBUS入力電流値制限を接続機器検出済みの外部機器401のプロファイルの電流値に設定する(S716)。例えば、CPU304は、外部機器401の接続機器検出の結果がUSB BC規格の5V/1.5Aプロファイルの電流値であった場合、CHG−IC302のVBUS入力電流値制限をI3=1.5Aに制限する。
負荷試験の期間においてVBUS電圧が閾値である状態が維持されなかった場合、負荷試験回路303の/SUSPEND信号とLIMSEL信号はHになる。S704でLIMSEL信号がHと判定された場合、CPU304は、LOAD_DRVをLにして負荷試験を中止する。そして、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のVBUS入力電流値制限を第2の電流値であるI2=0.5Aに設定する。
S716またはS709が終了すると、CPU304は、電池320の充電を開始するために、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302による電池320の充電をENABLE状態にする。そして、図7のフローチャートが終了する。
なお、CHG−IC302が、受け取った電力を電池320の充電のみに使用する場合には、VBUS入力電流制限として、使用中の電流値IFNCを差し引いた値が設定されてもよい。
実施形態1〜2では、接続機器検出の結果に応じてUSBDET_1とUSBDET_2の何れかがHになることに応じて負荷試験が開始するが、実施形態3では、CPU304のLOAD_DRV出力により負荷試験が開始する。この場合、例えば図3Bにおいて、AND334の出力(TRIG)がLに維持されるようにし、CPU304のLOAD_DRV信号により負荷試験の実行が制御される。AND334の出力(TRIG)をLに維持するためには、例えば、AND334のCOMP_OUT信号の入力をGNDレベル(Lレベル)に切り替え可能にする構成を設け、これを手動またはCPU304の制御で切り替えることなどが考えられる。また、SELSW−B391は、LOAD_DRVがHの時には負荷電流として定格電流値からIFUNCを差し引いた値を設定し、LOAD_DRVがLの場合には、実施形態1〜2と同様に、負荷電流値として定格電流値を設定するようにしてもよい。
図8Aおよび図8Bは、CPU304からのLOAD_DRV信号により負荷試験が実行される場合の信号制御手順の一例を説明するためのタイミングチャートである。図8Aおよび図8Bのタイミングチャートにおいて、接続機器検出とVBUS負荷試験を行って充電条件を決定する期間をPHASE1、電池320の充電を行う期間をPHASE2とする。図8Aは、接続機器検出の結果が有効であり、負荷試験の間VBUS_LEV≧VREF_Vが維持される場合の信号制御手順のタイミングチャートの例を示す。
VBUSが投入されると負荷試験回路303の論理を一定時間(Tng)ネゲートする。VBUS_LEVがVREF_V以上であれば、COMP_OUT信号はHとなる。接続機器検出の結果が有効であり、USB BC規格準拠機器を示す場合、USBDET_1信号はH、USBDET_2信号はLになり、/SUSPEND信号はHである。CPU304からのLOAD_DRV信号がHになると、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力する期間、VBUS負荷試験が行われる。LOAD_DRV信号はCPU304により例えばTaの期間Hとなり、その後Lとなる。なお、CPU304が、LOAD_DRV信号をH出力している間、SW−D314をONしてVBUS電圧を監視し、VBUS電圧が電圧閾値である4.75V未満を検出したらLOAD_DRV信号をLにするように制御してもよい。その場合、CPU304はLIMSEL信号を監視する代わりに、VBUS電圧を監視し、電圧閾値との比較を行う。
VBUS負荷試験を開始してから終了するまでの間、VBUS_LEVがVREF_V以上であれば、COMP_OUT信号はHの出力を継続する。実施形態3の例では、VBUS電圧が4.75V以上の場合にVBUS_LEVがVREF_V以上になる設定とする。なお、VBUS電圧とVREF_Vの関係はこれに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。
Taの期間におけるVBUS負荷試験の結果がD−FF341に、VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。図8AのタイミングチャートのPHASE1では、LIMSEL信号はL、CHG_EN信号はL、/SUSPEND信号はHである。PHASE1では電池320の充電はDISABLE状態であり、充電電流CHG_CURRENTはゼロである。
VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移させ、CHG−IC302による電池320の充電がENABLE状態になる。なお、CPU304は、CPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のCHG_EN_INの入力を無効とし、その上で、BUSを介した通信制御によりCHG−IC302による電池320の充電をDISABLE状態にしてもよい。
PHASE2では、CPU304は、BUSを介した通信制御により、USB BC規格の5V/1.5Aプロファイルの電流値であるI3=1.5Aを入力電流値制限としてCHG−IC302に設定する。CHG−IC302はこの条件で電池320の充電を行う。例えば、CHG−IC302は、I3−IFUN=1.5A−0.3Aを上限としてCHG_CURRENTを制御する。
次に、図8Bのタイミングチャートを参照して、接続機器検出の結果が有効であり、負荷試験の間にVBUS_LEV≧VREF_Vが維持されない場合の信号制御手順の一例を説明する。
図8Bにおいて、図8Aと同様に、VBUSが投入されると負荷試験回路303の論理が一定時間(Tng)ネゲートされる。VBUS_LEVがVREF_V以上であれば、COMP_OUT信号はHとなる。接続機器検出の結果がUSB BC規格準拠機器を示す場合、USBDET_1信号はH、USBDET_2信号はLになり、/SUSPEND信号はHになる。CPU304によりLOAD_DRV信号がHになると、DATA_EN、LOAD_EN信号がHになる。LOAD_EN信号がHを出力する期間、VBUS負荷試験が行われる。なお、CPU304は、LOAD_DRV信号をH出力している間、SW−D314をONにしてVBUS電圧を監視し、VBUS電圧が4.75V未満を検出したらLOAD_DRV信号をLにするように制御してもよい。
接続機器検出によりUSB BC規格の外部機器401と判定されている場合、負荷電流LOAD_CURRENTはIL3−IFUNC=1.5A−0.3Aに設定される。VBUS負荷試験を開始してからVBUS_LEVがVREF_V未満になると、COMP_OUT信号はLを出力する。実施形態3の例では、VBUS電圧が4.75V未満の場合にVBUS_LEVがVREF_V未満になる設定とする。なお、VBUS電圧とVREF_Vの関係は、これに限られるものではなく、電子機器301、CHG−IC302、負荷試験回路303の設計により任意に設定され得る。
COMP_OUT信号がLを出力した結果、VBUS負荷試験の結果(LIMSEL信号のH状態)がD−FF341に記憶される。CPU304はLIMSEL信号のHに応じてLOAD_DRV信号をLにする。これより、LOAD_EN信号がLになりVBUS負荷試験が停止する。Taの期間にVBUS負荷試験が行われたことを示す履歴がD−FF342に記憶される。
PHASE1において、負荷試験回路303から出力されるLIMSEL信号はH、CHG_EN信号はL、/SUSPEND信号はHになる。PHASE1ではCHG−IC302はDISABLE状態であり、電池320への充電電流CHG_CURRENTはゼロである。VBUS負荷試験が行われたことを示す履歴がD−FF342に記憶されると、DLY−C343はTdc時間後にCHG_ENをLからHに遷移する。なお、実施形態3では、CPU304がCPU304とCHG−IC302とのBUSを介した通信制御によりCHG−IC302のCHG_EN_INの入力を無効としておき、BUSを介した通信制御によりCHG−IC302の充電可否を制御する。PHASE2では、CPU304がCHG−IC302に第2の電流値を入力電流制限値として設定し、充電を許可する。CHG−IC302が、充電電流CHG_CURRENTを第2の電流値に制限して電池320の充電を行う。
図9は、実施形態3における接続機器検出の結果と、充電条件との関係の一例を説明するための真理値表である。なお、/SUSPENDおよびCHG_ENは、CPU304によるCHG−IC302の制御を示す。USB接続検出に失敗し、エニュメレーション処理にも失敗すると、サスペンド電流値が設定される(S707)。この状態を図9のS707の行に示す。また、USB接続検出に失敗したが、エニュメレーション処理に成功した場合は、その結果に応じて第1の電流値(S708)か第2の電流値(S709)が制限値として用いられる。この状態を、図9のS708、S709の行に示す。
USB接続検出によりUSB BCと判定され、負荷試験が実行されている状態を図8Aおよび図8BのPHASE1の行に示す。また、その負荷試験の結果、VBUS電圧が電圧閾値以上の状態を維持した場合の状態を図8AのPHASE2の行に、VBUS電圧が電圧閾値未満になった場合の状態を図8BのPHASE2の行に示す。
以上のように、実施形態3では、電子機器301は、電池320を充電する前に接続機器検出を行って外部機器401の電力供給能力を論理的に判定する。そして、電子機器301が使用中の電流値と接続機器検出の結果に基づいてVBUS負荷試験の条件が設定され、VBUS負荷試験によって外部機器401の実際の電力供給能力が判定される。接続機器検出の結果と電力供給能力判定の結果とが所定の条件を満たす場合(例:これらの結果が一致する場合)、電子機器301は、接続機器検出の結果に基づく電力条件で外部機器401からの電力供給を受けて電池320の充電を開始する。したがって、実施形態3によれば、電子機器301は充電以外の機能を使用中であってもその機能が使用中の電流値に応じて適切なVBUS負荷試験条件を設定し、VBUS負荷試験を行うことができる。なお、実施形態3は実施形態2のように複数の給電規格に準拠するように制御することも可能である。すなわち、接続機器検出の結果に従ってVBUS負荷試験条件を設定する際に、電子機器301が使用中の電流値を減ずるようにVBUS負荷試験条件を設定すれば複数の給電規格に準拠することが可能である。
<実施形態4>
実施形態1から実施形態3では、電子機器301の負荷試験回路303の動作は全てハードウェアシーケンス制御で行うことを例として説明した。実施形態4では、電子機器301の負荷試験回路303の動作の一部をCPU304とは異なるCPUによるソフトウェアシーケンス制御で行う構成を説明する。
図10は、実施形態4における電子機器301の構成の一例を説明するためのブロック図である。図10において、実施形態4の説明に不要な構成要素への電源接続は省略されている。また、実施形態4の説明に不要な構成要素と動作の詳細な説明は省略する。
SUB−CPU1004は、実施形態1〜3(図3B)で説明した負荷試験回路303のハードウェアシーケンス制御を実現する回路を、ソフトウェアシーケンス制御として互換動作するために配置した、CPU304とは異なるCPU(central processing unit)である。実施形態4(図10)の負荷試験回路303aと、実施形態1〜3(図3)の負荷試験回路303の構成は、CPU304およびCHG−IC302から見て同様の動作をする。
SUB−CPU1004の電源は負荷試験回路303a全体の電源VDDIN_CIRと同じ電源IC−A311の出力VOUT−1から取得されており、外部機器401のVBUSが接続されている場合は常に電源が供給される。負荷試験回路303a全体の電源VDDIN_CIRの供給が開始された場合、SUB−CPU1004の論理は初期状態に設定されて機能はネゲートされる。また、負荷試験回路303a全体の電源VDDIN_CIRの供給が終了した場合、SUB−CPU1004の機能はネゲートされる。
なお、SUB−CPU1004は、接続機器検出の結果をCPU304またはCHG−IC302の少なくとも一方から受信する。CPU304の接続機器検出の結果はCPU304のUDET_OUT_1BおよびUDET_OUT_2Bから出力され、SUB−CPU1004により受信される。また、CHG−IC302の接続機器検出の結果はCHG−IC302のUDET_OUT_1AおよびUDET_OUT_2Aから出力され、SUB−CPU1004で受信される。
また、SUB−CPU1004は、CPU304から出力されるLOAD_DRV信号、コンパレータ361から出力されるCOMP_OUT信号、コンパレータ353から出力されるVBATT_CP_OUT信号を受信する。SUB−CPU1004から出力されるLOAD_EN信号はインバータ337の入力に接続されている。
SUB−CPU1004から出力されるUSBDET_1信号、USBDET_2信号およびLOAD_DRV信号は、SELSW−A381およびSELSW−B391に接続される。SUB−CPU1004から出力されるCHG_EN信号、/SUSPEND信号は、それぞれCHG−IC302のCHG_EN_IN入力、/SUSPEND_IN入力に接続される。SUB−CPU1004から出力されるLIMSEL信号は、CHG−IC302のLIMSEL_IN_A入力およびCPU304のLIMSEL_IN_B入力に接続される。
実施形態4における負荷試験回路303aは、実施形態1〜3(図3B)の負荷試験回路303のハードウェア回路動作の一部をSUB−CPU1004のソフトウェア制御で置き換えた以外の部分は同様の構成である。よって、実施形態4における電子機器301が接続機器検出を行い電池320の充電を開始する手順として、実施形態1または2で説明した手順(図1)および実施形態3で説明した手順(図7)を適用することができる。
図1で説明した手順を適用する場合、実施形態4における負荷試験回路303aの信号制御手順と充電条件との真理値表は、実施形態1(図2A、図2B、図2C、図2Dおよび図4)または実施形態2(図5A、図5B、図5C、図5Dおよび図6)が適用される。また、実施形態3(図7)で説明した手順を適用する場合、実施形態4における負荷試験回路303aの信号制御手順は、実施形態3(図8)と同様である。
以上のように、実施形態4に従えば、電子機器の負荷試験回路がハードウェアシーケンス制御でなくソフトウェアシーケンス制御であっても接続機器検出の結果に基づいてVBUS負荷試験を行うことができる。VBUS負荷試験によって外部機器401の実際の電力供給能力を判定し、接続機器検出の結果と電力供給能力判定の結果とが所定の条件を満たす場合(例:これらの結果が一致する場合)に、接続機器検出の結果に基づく電力条件で外部機器401からの電力供給を受けて電池320の充電を開始することができる。
<実施形態5>
実施形態1から実施形態4では、接続機器検出の結果を判定する信号として、USBDET_1信号およびUSBDET_2信号の2bitを用いることを例として説明を行った。しかしながら、接続機器検出の結果を判定する信号は2bitに限ったものでない。例えば、接続機器検出の結果を判定する信号をさらに多値化して適用可能な接続機器の種類を増やす構成としてもよい。その場合、VREF_VおよびVREF_Iの信号レベルも同様に接続機器の種類に準拠して多値化される構成が望ましい。
また、実施形態1から実施形態4では、CPU304およびCHG−IC302と負荷試験回路303との間の信号伝達をパラレル信号で行うことを例として説明を行ったが、本発明を適用可能な信号はパラレル信号に限ったものでない。例えば、CPU304およびCHG−IC302と負荷試験回路303との間の信号伝達をシリアル信号で行う構成としてもよい。その場合、シリアル信号として2線、3線などの汎用シリアル通信規格を用いるとよい。
<実施形態6>
実施形態1〜5で説明した様々な機能、処理または方法は、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、マイクロプロセッサなどがプログラムを用いて実現することもできる。以下、実施形態6では、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、マイクロプロセッサなどを「コンピュータX」と呼ぶ。また、実施形態6では、コンピュータXを制御するためのプログラムであって、実施形態1〜5で説明した様々な機能、処理または方法を実現するためのプログラムを「プログラムY」と呼ぶ。
実施形態1〜5で説明した様々な機能、処理または方法は、コンピュータXがプログラムYを実行することによって実現される。この場合において、プログラムYは、コンピュータ読み取り可能な記憶媒体を介してコンピュータXに供給される。実施形態6におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、磁気記憶装置、光記憶装置、光磁気記憶装置、メモリカード、揮発性メモリ、不揮発性メモリなどの少なくとも一つを含む。実施形態6におけるコンピュータ読み取り可能な記憶媒体は、non−transitoryな記憶媒体である。