複数の電流レベルで充電源から電流を引き込むよう配置される第1回路と、前記第1回路を用いて前記充電源の充電電流容量を決定するよう配置される第2回路とを有する装置。前記第1回路は、前記充電源へ結合するよう配置される入力線へ結合される1又はそれ以上の電流シンクと、前記入力線へ結合される第1入力部及び参照電圧を受けるよう配置される第2入力部を有する電圧コンパレータとを有する、請求項1に記載の装置。前記電圧コンパレータは、前記1又はそれ以上の電流シンクによって引き込まれる電流が前記充電電流容量を超える場合に前記入力線における電圧垂下を検出するよう配置される、請求項2に記載の装置。前記第1回路は、USB接続を介して前記充電源へ結合される、請求項1に記載の装置。前記第2回路は、前記電流シンクの1又はそれ以上を前記充電源へ結合するサーチルーチンを適用し、前記サーチルーチンに基づき前記充電源の前記充電源流容量を決定し、前記決定された充電電流容量を記憶するよう配置されるハードウェア状態機械を有する、請求項1に記載の装置。前記充電源へ結合されるUSBコネクタからVBUS信号の存在を検出し、前記VBUS信号を前記第1回路へ結合するよう配置される回路を有する請求項1に記載の装置。前記第2回路へ結合されるバッテリ充電器を有し、前記バッテリ充電器は、前記充電源の前記決定された充電電流容量に従って当該バッテリ充電器内の充電電流を調整するよう動作する電流制限トランジスタを有する、請求項1に記載の装置。前記充電源から電力を受け取り、前記第1回路及び前記第2回路へ給電するよう配置される低ドロップアウトレギュレータを有する請求項1に記載の装置。充電源から受け取られる複数電流レベルの電流信号を引き込むステップと、前記電流信号の電圧が下がる電流レベルを決定するステップとを有する方法。前記電流レベルを決定するステップは、前記充電源へ結合するよう配置される複数の電流シンクの中の1又はそれ以上の電流シンクに対して前記電流信号を開く又は閉じるバイナリサーチルーチンを実行するステップを含む、請求項9に記載の方法。前記1又はそれ以上の電流シンクを開く又は閉じるようトランジスタを制御するステップを有する請求項10に記載の方法。夫々の1又はそれ以上のシンク電流を引き込むよう配置される1又はそれ以上の電流源へ入力線を接続するステップと、前記1又はそれ以上の電流源が前記入力線へ接続される場合に、前記入力線において前記電流信号の電圧降下を検出するステップと、前記電圧降下が検出される場合に、前記1又はそれ以上の電流源によって引き起こされる全てのシンク電流の値に基づき、前記充電源の充電電流容量値を決定するステップとを有する請求項10に記載の方法。前記電流信号の電圧が下がる電流レベルに基づき電流容量値を記憶するステップを有する請求項10に記載の方法。システムへ結合される電流レギュレータの電流出力を、前記電流信号の電圧が下がる前記電流レベルに対応する値に制限するステップを有する請求項13に記載の方法。あるレベルのシンク電流が前記充電源からシンクされる場合に、前記電流信号の電圧をモニタするステップと、電圧降下が観測されない場合は前記シンク電流のレベルを上げるステップと、電圧降下が観測される場合は前記シンク電流のレベルを下げるステップとを有するバイナリサーチを実行する請求項10に記載の方法。前記シンク電流のレベルを調整するよう1又はそれ以上の電流シンクを前記充電源へ結合するステップと、夫々のビットが、別個の電流シンクに対応し、且つ、前記電流信号の電圧が下がる場合に当該電流シンクが前記充電源と結合されるか又は切り離されるかどうかを示すビットシーケンスとして電流容量値を記憶するステップとを有する請求項15に記載の方法。プラットフォームコンポーネントの組を有する携帯型デバイスと、前記プラットフォームコンポーネントの組へ電力を供給するよう配置されるバッテリと、複数の電流レベルで充電源から電流を引き込むよう配置される第1回路と、前記第1回路を用いて前記充電源の充電電流容量を決定するよう配置される第2回路とを有するシステム。USB接続を介して前記充電源へ結合される請求項17に記載のシステム。前記第1回路は、前記充電源へ結合するよう配置される入力線と、前記入力線へ結合される1又はそれ以上の電流シンクと、前記入力線へ接続される第1入力部及び参照電圧を受けるよう配置される第2入力部を有する電圧コンパレータとを有する、請求項17に記載のシステム。前記電圧コンパレータは、前記1又はそれ以上の電流シンクによって引き込まれる電流が前記充電電流容量を超える場合に前記入力線において電圧垂下を検出するよう配置される、請求項19に記載のシステム。本発明は、目下の改善が必要とされてきた上記及び他の検討事項に関する。種々の実施形態は、概して、モバイルコンピューティング若しくはモバイル通信デバイス、又はコンピューティング及び通信の両方を実行するよう配置されるデバイスを含むデバイスを充電する方法及び装置に向けられてよい。種々の実施形態は、1又はそれ以上の要素を有してよい。要素は、特定の動作を実行するよう配置されるあらゆる構成を有してよい。幾つかの要素は、設計パラメータ又は性能制約の所与の組にとって望まれるように、ハードウェア、ソフトウェア、又はそれらのあらゆる組み合わせとして実施されてよい。実施形態は一例として特定のトポロジにおいて限られた数の要素を有して記載されることがあるが、実施形態は、所与の実施のために望まれるように代わりのトポロジにおいてより多くの又は少ない要素を有してよい。一実施形態又は実施形態との如何なる言及も、その実施形態に関連して記載される特徴、構成、又は特性が少なくとも1つの実施形態に含まれることを意味することに留意されたい。明細書の様々な場所における表現一実施形態においての出現は、必ずしも全て同じ実施形態を参照しているわけではない。図1は、携帯型システム10のための充電を容易にする充電配置の一実施形態を表す。携帯型システム10は、充電電流を管理するための1又はそれ以上の集積回路チップを有してよい。このチップは、一般的に充電器チップと呼ばれる。幾つかの実施形態において、充電器チップは、充電機能に向けられている1又はそれ以上の専用の集積回路チップであってよい。幾つかの実施形態において、充電器チップは、他のデバイス及び機能を含む電力管理集積回路PowerManagementIntegratedCircuitPMICを有してよい。続く議論及び図において、単に例示のために、電流充電器機能を備えるチップは、概してPMICと呼ばれる。なお、そのような称号は、追加の機能又はデバイスを必ずしも含まない専用の充電器チップに及ぶよう意図される。図1に表されるように、PMIC100は、ポート104を介して充電電流源充電源とも呼ばれる。102へ結合されてよい。充電電流源は、DCPタイプの充電器を含むUSB充電器のような既知の充電器のいずれであってもよい。充電電流源は、通常は、調整された電圧及び制限された電流を供給する能力を備えた電源であってよいことに留意されたい。種々の実施形態において、充電ポート104はUSBポートであってよく、アクセサリ充電器アダプタACA又はDCP充電器と互換性を有してよい。PMIC100は、充電電流源102から充電電流を受け取るよう電力入力線108へ結合されているバッテリ充電器106を更に有してよい。バッテリ充電器106は、システム10の様々な構成要素へ電力を分配してよい。充電電力が利用可能であり、バッテリ110が十分に充電されていない場合に、バッテリ充電器106はノード112を介してバッテリ110へ電力を供給してよい。バッテリ充電器106は更に、ノード116を介してプラットフォームコンポーネント114a~nへ電力を供給するよう配置されてよい。PMIC100は、充電器電流推定デバイス単に以降でデバイスとも呼ばれる。120を有してよい。充電器電流推定デバイス120は、外部の充電電流源がシステム10へ結合される場合に、その外部充電電流源の充電電流容量を決定するよう配置されてよい。ここで使用される語充電電流容量は、充電電流源が供給することができる出力電流をいう。デバイス120は、実時間において外部充電デバイスの充電電流容量を決定するよう且つ信号をPMIC100へ供給して外部充電デバイスから引き込まれる充電電流を調整するよう相互に動作する複数の構成要素を有してよい。種々の実施形態において、充電源の存在がPMIC100によって検出されると、デバイス120は、充電電流を供給する充電源の充電電流性能容量を速やかに決定して、PMIC100がバッテリ110のようなシステム10の構成要素へ供給される充電電流のレベルを調整することを可能にすることができる。このようにして、充電源からの電圧垂下は防がれて、バッテリに対する潜在的な損害又はシステム10における回路に対する他の悪影響を回避することができる。デバイス120は、電源122、充電電流性能容量検出器すなわち、電流容量検出器又は単に検出器124、及びハードウェア状態機械126を有してよい。電源122は、既知の設計の低ドロップアウトLDOレギュレータのような電圧レギュレータであってよい。電源122は、検出器124及びハードウェア状態機械126の両方へ電力を供給するよう配置されてよい。動作において、電源122は、外部充電源102から入力電圧を受け取ってよく、且つ、検出器124及びハードウェア状態機械126の構成要素を動作させるよう制御電圧で電力を出力してよい。検出器124はまた、図1に表されるように複数の異なる経路によって充電電流源102から入力線108を介して送信される電流信号へ結合されてよい。種々の実施形態において、検出器124は、充電電流が検出器124を流れる場合に入力線108における電圧をモニタすることによって、充電電流源102電流源とも呼ばれる。の充電電流性能を調べるよう配置されてよい。後述されるように、幾つかの実施形態において、検出器124は、電流充電源102から受け取られる様々な量の電流をシンクするよう配置されてよい。異なる量の電流をシンクすることによって、検出器124は、正確に且つ速やかに、先験的にシステム10に知られていない電流源102の充電電流容量を評価することができる。検出器124によってシンクされる電流の量が電流源102の充電電流容量を超える場合に、入力線108における電圧は下がりうる。然るに、入力線108の電圧をモニタすることによって、検出器124は、充電電流源容量が超えられる電流レベルを決定することができる。種々の実施形態において、ハードウェア状態機械126は、検出器124による電流源102のプロービングを制御するよう配置されてよい。幾つかの実施形態において、後述されるように、ハードウェア状態機械126は、検出器124における電流のシンクを制御することができるバイナリサーチアルゴリズムのようなサーチアルゴリズムを実行し、電流シンクの結果を評価し、且つ、検出器124によるバイナリサーチアルゴリズムの実行の結果に基づく充電電流容量値を記憶してよい。充電電流容量の値が所与の充電電流源について決定されると、バッテリ充電器106によってバッテリ110へ供給される電流が調整されてよい。幾つかの実施形態において、ハードウェア状態機械126は、電流を調整するためにバッテリ充電器106へ信号を送信するよう配置されてよい。これは、幾つかの実施形態において、バッテリ充電器106内の入力電流制限トランジスタ図示せず。を調整することによって達成され得る。充電電流源102がポート104へ結合される間、バッテリ充電器106は、源102の電流容量を近似することができるレベルで充電モード中にバッテリ110へ電流を供給し続けることができる。このように、バッテリ110は、電流源102の充電電流容量よりも高いレベルで電流を引き込むよう試みることによる悪影響の危険性なしに、最適な充電レートで充電され得る。図2は、一連の電流源130が入力線108を介して供給される電流をシンクするよう動作する検出器124の一実施形態を表す。電流源130は、それらが充電源によって供給される電流をシンクするよう機能することができるので、電流シンクとも呼ばれ得る。種々の実施形態において、検出器124は、専用のポートを介して充電電流を供給することができるDCP充電器を含むUSBに基づく充電器の電流充電性能を調べるよう配置されてよい。例示のために、続く例は、充電源が概して500mAから1500mAの間で動作するUSBDCP充電器システムに焦点を当てる。しかし、USB充電器が非標準的な充電器である他の実施形態も可能であり、より高い電流が構成に依存して可能である。表されるように、電流信号は、VBUSINPUTとしてUSB充電器から検出器124へ供給されてよい。VBUS電圧はコンパレータ134によってモニタされてよい。コンパレータ134は、VBUSINPUT信号を受信するよう入力線108へ結合されている入力部を有する。電圧コンパレータ134は、参照電圧VREFを供給される更なる入力部を有する。参照電圧は、幾つかの実施形態において、2.0Vから4.5Vの範囲をとる値であってよい。コンパレータ134は、VBUSINPUT及びVREFからの入力に基づき信号を出力するよう配置されてよい。特に、コンパレータ134は、VBUS電圧がVREFよりも低いことをコンパレータ134が検出する場合に、VBUS_LOW信号を出力してよい。更に図1を参照して、コンパレータ134からの出力は、ハードウェア状態機械126によってモニタされてよく、次いで、ハードウェア状態機械126は、コンパレータ134の出力に基づき適切な動作を実行してよい。種々の実施形態において、電流シンク130の夫々の電流重みは、調べられる所望の充電電流容量範囲に従って配置されてよい。電流シンク130は、幾つかの実施形態に従って同じ又は異なる電流重みを有してよい。幾つかの実施形態において、1よりも多い電流シンクは同じ電流重みを有してよく、一方、1又はそれ以上の他の電流シンクは異なる電流重みを有する。異なる実施形態において、電流重みの組み合わせ及び電流シンクの数は、充電源の充電電流容量を決定するための所望の精度に従って、選択されてよい。種々の実施形態において、電流シンク130は、DCP充電器のようなUSB充電源に適した電流重みを有して設計されてよい。一実施形態において、検出器124は、表されるように5つの電流シンク130a~eを有してよい。電流シンクは、DCP充電器によって供給されると思われる電流値の範囲に都合よく及ぶ異なる量の電流をシンクするよう配置されてよい。幾つかの実施形態において、DCP充電器のために500mAから1500mAの間であるよう充電電流を特定する標準規格に従って、電流シンクは、少なくとも約1500mAまでの電流をシンクするよう配置されてよい。一例において、シンク130a~eは、800mA、400mA、200mA、100mA及び50mAの夫々の電流をシンクするよう配置されてよい。動作において、PMIC100がVBUSINPUT信号を検出する場合に、並列に配置され得る電流シンク130a~eの1又はそれ以上は、ハードウェア状態機械126によって決定されるシーケンスに従って有効にされ得る電気的にVBUSINPUT信号へ結合されてよい。例えば、制御信号は、制御線134を用いてトランジスタ132a~eの1又はそれ以上のゲートへ送信されてよい。それによって、制御信号は、1又はそれ以上の夫々の電流シンク130a~eを制御する1又はそれ以上のトランジスタゲートを開いて、1又はそれ以上の電流シンクを入力線108に存在する充電電流へ結合することができる。DCP充電源が1000mAの容量を有する場合は、十分な電流シンク130が1000mAを上回って有効にされると、コンパレータ134によって検出されるVBUSINPUT信号電圧は、VBUS_LOW信号の出力を引き起こすほど十分に下がる。これは、有効にされた電流シンクによってシンクされる全ての電流シンク電流とも呼ばれる。に対応する充電電流値がUSB充電源の充電電流容量よりも大きいことをPMIC100に示す。これは、推定デバイス120による更なる動作をトリガしてよい。更なる動作は、他の動作もあるが、シンク電流全体を低減するよう又は検出プロセスを中止してシンク電流の現在の値を記録するよう検出器124へ信号を送信することを含んでよい。種々の実施形態において、PMIC100は、電流シンク130がハードウェア状態機械126において具現されるアルゴリズムに従って有効/無効にされるサーチプロセスを実行することによって、USB充電器の充電電流容量を決定してよい。ハードウェア状態機械126は、固定のサーチプロセスを実行するよう配置されてよく、あるいは、プログラム可能であってよい。図3は、PMICのようなデバイスによって実行され得る処理300の一実施形態を表す。種々の実施形態において、処理300は、未知の充電電流性能の充電電流源へ結合されるバッテリ充電器の出力電流レベルを設定するために使用されてよい。幾つかの実施形態において、ブロック310~322は、ハードウェア状態機械によって実行されてよい。ブロック302で、VBUS信号充電源電流を示す。の投入が検出される場合は、処理はブロック304へ移る。投入が検出されない場合は、更なる動作は投入が検出されるまでとられない。ブロック304で、VBUS信号は絶縁される。このようにして、VBUS信号は、充電電流性能検出器並びに検出器及びハードウェア状態機械を動作させるために使用される電源のようなPMICの構成要素内に制限され得る。よって、バッテリ110のようなバッテリは、VBUS信号を適用する充電源から電荷を受け取ることから絶縁される。ブロック306で、VBUSコンパレータが有効にされる。VBUSコンパレータが有効にされると、充電電流性能検出器は、上述されたように、検出器へ供給されるVBUS信号を運ぶ線における電圧をモニタしてよい。ブロック308で、充電電流の初期値が設定される。この初期値は、先に詳述されたように、有効にされた電流シンクによってシンクされる充電電流ICCのあらゆる都合の良い値に対応してよい。初期電流値のレベルは、PMICのバッテリ充電器において設定される充電電流レベルを決定するためにサーチプロセスを最適化するよう設定されてよい。幾つかの実施形態において、初期電流値は、同じ初期値がハードウェア状態機械において記憶されるように、ハードウェアにおいて固定されてよい。よって、USBDCP充電器の例を用いると、PMICは、付属のデバイスの充電電流性能が500mAから1500mAの範囲にあると認識しているので、初期電流値はこの範囲内に設定され得る。このように、正確な充電電流レベルへの収束は、初期値が期待される範囲の外に設定された場合よりも速い。ブロック310で、VBUS_LOW信号が受信されたかどうかが決定される。VBUS_LOW信号が検出される場合は、これは、シンク電流の量がVBUSINPUT線で電圧垂下を生じさせるのに十分であることを示し、それにより、充電器の充電電流容量が超えられていることを知らせる。この決定は、処理をブロック312へ移動させる。ブロック312で、充電電流ICC設定は下げられる。種々の実施形態において、充電電流レベルの低下は、1又はそれ以上の先に有効にされた電流シンクの無効化を引き起こす。幾つかの実施形態において、無効化は、先に論じられたように、無効にされる電流シンクへ結合され且つVBUSINPUT線へ結合されているトランジスタゲートを閉じるよう制御信号を送信することによって、達成される。VBUS_LOW信号がブロック310で検出されない場合は、これは、シンク電流の量がVBUSINPUT線で電圧垂下を生じさせるには不十分であることを示し、それにより、充電器の充電電流容量が超えられていないことを知らせる。次いで、処理はブロック314へ移る。ブロック314で、充電電流設定は上げられる。種々の実施形態において、充電電流レベルの上昇は、1又はそれ以上の先に無効にされていた電流シンクの有効化を引き起こす。幾つかの実施形態において、有効は、有効にされる電流シンクへ結合され且つVBUSINPUT線へ結合されているトランジスタゲートを開くよう制御信号を送信することによって、達成される。ICCの上昇314又は低下312のいずれかが実行された後、処理は遅延ブロック316へ、そこからブロック318へ移る。遅延時間は、過重電流を流された後に充電源が回復するための十分な時間を提供するよう配置されてよい。ブロック318で、先の調整ブロック312又は314は、ICC値に対してなされるべき調整における最後の繰り返しであるかどうかが決定される。ICC値における先の調整が最後の繰り返しでない場合は、処理はブロック310へ戻り、その後にICC値に対する更なる調整が行われる。ブロック310~318において説明されるバイナリサーチプロセスの動作を更に明らかにするよう、図2で表されている充電器電流性能検出器の上記の実施形態を考えることが有用であり得る。USBDCP充電器がPMICへ結合される実施形態において、予想される充電電流容量は、今日の標準規格に従って、500mAから1500mAの間の範囲に及んでよい。800mA、400mA、200mA、100mA及び50mAの値を有する5つの電流シンクの組を用いて、500mA~1500mAの充電電流のこの範囲全体が調べられ得る。一例において、充電器によって供給される充電電流の実際の値は1460mAであってよく、PMICによる初期ICC設定は800mAであってよい。この初期値は、検出器の800mAシンクを有効にすることによって確立され得る。最初のシーケンスにおいて、ブロック310で、処理300は、1460mA電流源が800mA電流シンクへ結合された入力線において電圧垂下にさらされないので、VBUS_LOW信号が検出されないと然るべく決定する。次いで、処理はブロック314へ移る。ブロック314で、追加の電流シンクが、ICC設定を高めるよう有効にされ得る。このICC設定は、全ての有効にされた電流シンクからの全てのシンク電流に対応する。一例において、400mAシンクがブロック314で追加されてよく、1200mAの総ICC設定をもたらす。ブロック318で、システムは、400mAだけICC設定を高めた前のインスタンスが最後の繰り返しでないと決定することができる。続く繰り返しにおいて、ブロック310で、処理300は、1460mA電流源が合計で1200mAのシンク電流となる電流シンクへ結合された入力線において電圧垂下にさらされないので、VBUS_LOW信号が検出されないともう一度決定する。ブロック314で、ICC設定は、このとき200mA電流シンクである追加の電流シンクを有効にすることによってもう一度高められてよく、それにより、1400mAの総シンク電流を確立する。この繰り返しの後、総シンク電流は、1460mA充電器の実際の充電電流容量よりも僅かに小さい。処理が他の繰り返しのために続く場合は、ブロック310で、処理300は、入力線が合計で1400mAのシンク電流となる電流シンクへ目下結合されている場合に1460mA電流源が電圧垂下にさらされないので、VBUS_LOW信号が検出されないと再び決定する。この環境において、処理はブロック314へ移る。ブロック314で、ICC設定は、このとき100mA電流シンクを有効にすることによって更に高められてよい。これは、1500mAの総シンク電流を確立する。この繰り返しの後、総シンク電流は、1460mA充電器の実際の充電電流容量を僅かに超える。更なる繰り返しにおいて、処理300は、入力線が合計で1500mAのシンク電流となる電流シンクへ結合されている場合に1460mA電流源が電圧垂下にさらされ得るので、VBUS_LOW信号が検出されたと決定する。この環境において、処理はブロック312へ移る。ブロック312で、ICC設定は下げられてよい。一実施形態において、この低下は、1400mAの前のICC設定を回復させるよう単に100mA電流シンクを無効にすることによって、達成されてよい。処理が更なる繰り返しのために続く場合は、ブロック310で、処理300は、入力線が合計で1400mAのシンク電流となる電流シンクへ目下結合されている場合に1460mA電流源が電圧垂下にさらされないので、VBUS_LOW信号が検出されないともう一度決定する。この環境において、処理は再びブロック314へ移る。ブロック314で、ICC設定は高められてよい。ICC設定の増大は、残りの50mA電流シンクを有効にすることによって達成されてよく、これは1450mAの合計値をもたらす。この時点で、4回の繰り返しの後、ブロック318で、幾つかの実施形態において、システムは、電圧垂下VBUS_LOW信号が検出されるかどうかを試験するために夫々の電流シンクがVBUSINPUT線へ結合されたので、それ以上繰り返しが実行されるべきでないと決定してよい。従って、システムは、1400mAのICC設定がVBUS_LOW信号を生じさせなかった一方で1500mAのICC設定がVBUS_LOW信号を生じさせたことから、電流値1450mAが充電電流源の真の容量の50mA範囲内であるに違いないと認識する。50mA未満だけ充電電流源容量を超える又はそれより小さい電流を引き込むことが受け入れられると考えられる場合は、処理は4回の繰り返しの後に停止してよい。他の実施形態において、追加の繰り返しが実行されてよい。本例では、4回の繰り返しの後、システムは、1500mAのICC設定が高すぎ且つ1400mAのICC設定が電圧垂下を引き起こさないとだけ認識する。しかし、最後の設定1450mAが充電電流源の容量を超えるかどうかは知られていない。ICC設定が充電電流源の容量を超えないことが望ましいと考えられる場合は、追加の繰り返しが実行されてよい。本例に従って、更なる繰り返しが1450mA設定を試験するために実行される場合は、ブロック310で、システムは、VBUS_LOW信号が生成されないと検出し、それにより、真の電流容量が1450mAを越え且つ1500mAより小さいに違いないと認識することができる。従って、ICC設定を高める代わりに、システムはサーチを終了してよい。ブロック318で最後の繰り返しが実行されたいと決定される場合は、処理はブロック320へ移る。ブロック320で、ALGORITHMDONEビットは、ICC設定の最終決定がなされたことを示すよう設定される。ブロック322で、繰り返しブロック310~318の結果は次いで、IAVAILABLE設定としてレジスタに格納される。ブロック324で、VBUSコンパレータは無効にされ、システムは、ブロック326で、電流充電源へ再接続されてよい。記憶されたIAVAILABLE値は、PMICのバッテリ充電器充電器が充電電流源へ結合される場合に適切に機能するためにバッテリ充電器へ適用される電流制限値を設定するために、ハードウェア状態機械によって使用されてよい。上記の例において、システムが1460mA電流充電源からのVBUS信号へ再接続される場合に、バッテリ充電器は電流を1450mAに制限されてよい。よって、PMICは電流充電源の容量を超えて電流を引き込むべきではないので、電圧垂下は期待されるべきではない。更に、バッテリ充電器によって出力される充電電流1450mAは外部の充電電流源からの最大利用可能電流に極めて近いので、バッテリ充電は効果的に行われ得る。幾つかの実施形態において、処理300によって決定されるIAVAILABLE値は、連続するビットとしてレジスタに格納されてよい。夫々のビットは、図2に関連して上述された電流シンクの組の電流値に対応する。よって、5電流シンク配置は、レジスタに格納される5ビット値を生じさせるために使用されてよい。上記の例において、電流シンク使用可能性が1によって表される場合は、1450mAのための5ビット値は11101であり、800mAシンク有効、400mAシンク有効、200mAシンク有効、100mAシンク無効、及び50mAシンク有効に対応する。よって、5ビット値を決定するよう、全部で4又はそれ以上の繰り返しが、ハードウェア状態機械のバイナリサーチプロセスの種々の実施形態において実行されてよい。幾つかの実施形態において、電流シンクの数及び電流値は、上記の例よりも大きくても又は小さくてもよい。例えば、6シンク配置が、IAVAILABLEを設定するよう5回の繰り返しバイナリサーチプロセスを実行するよう配置されるハードウェア状態機械へ結合されてよい。他の実施形態において、単一の可変電流源が、複数の異なる電流レベルをシンクするために用いられてよい。可変電流源は、シンク電流の量を連続的に変えるよう配置されてよい。システム10の実施形態において、ハードウェア状態機械126を用いることに代えて、アナログ回路が、可変電流源を制御し且つIAVAILABLEに対応するシンク電流の値を決定するよう配置されてよい。図4は、充電器電流推定デバイス400の実施形態を表す。この実施形態において、可変電流源は、充電器電流容量を推定するために、フィードバック増幅器配置によって制御される。この配置において、可変電流シンク408は、VBUSINPUT信号線108からの電流をシンクするよう設けられている。フィードバック増幅器402は、VBUSINPUT信号及び参照VREF信号を入力として有し、トランジスタ404及び406の動作を制御する信号VGATEを出力するよう配置される。トランジスタ404及び406は、夫々の電流シンク408及びミラー電流源410へ結合されている。ミラー電流源410は、参照抵抗412へ結合されてよい。フィードバック増幅器402は、その入力VBUSINPUT及びVREFを等しくさせる電圧VGATEを出力するよう配置されてよい。幾つかの実施形態において、参照電圧は、4.2Vといった最小有効電圧に設定されてよい。デバイス400が充電電流源へ結合される場合に、電圧VBUSINPUTは増幅器402へ給電され、増幅器402は、トランジスタゲート404及び406を駆動する電圧VGATEを出力する。VBUSINPUT電圧は最初に、VREFよりも高いことがある。これは、充電源からの電流がトランジスタ404を通って電流シンク408へ至ることを可能にするようVGATEを増大させる。VGATEが、電流シンク408へ十分な電流を引き込むようトランジスタ404を駆動するレベルに達すると、充電源の電流容量が超えられ得る。この時点で、電圧VBUSINPUTは、それがVREFに一致するレベルまで下がる。次いで、増幅器402は、VGATEの現在のレベルを保つ。これは、ミラー電流源410において同程度のシンク電流を発生させ得る。参照抵抗Rrefの使用により、電圧垂下を引き起こすシンク電流のレベルを表す信号は、アナログ-デジタルコンバータ414へ出力され得る。シンク電流のこの値は記憶され、バッテリ充電器が関心のある充電電流源へ結合される場合にバッテリ充電器106のための電流制限として使用されてよい。図5は、デバイスプラットフォーム114の実施形態であってよいシステム実施形態の図である。特に、図5は、様々な要素を有することができるシステム500を示す図である。例えば、図5は、プラットフォームシステム500が、プロセッサ502、チップセット504、入出力I/Oデバイス506、ランダムアクセスメモリRAM例えば、動的RAMDRAM508、フラッシュメモリ509、及び読出専用メモリROM510、ディスプレイエレクトロニクス520、ディスプレイバックライト522、並びに様々な他のプラットフォーム構成要素514を有してよいことを示す。システム500は、無線通信チップ516及びグラフィクスデバイス518を更に有してよい。なお、実施形態は、それらの要素に制限されない。図5に示されるように、I/Oデバイス506、RAM508、及びROM510は、チップセット504によってプロセッサ502へ結合されている。チップセット504は、バス512によってプロセッサ502へ結合され得る。然るに、バス512は複数の線を有してよい。プロセッサ502は、1又はそれ以上のプロセッサコアを有する中央演算処理ユニットCPUであってよく、如何なる数のプロセッサコアも有する如何なる数のプロセッサを有してもよい。プロセッサ502は、例えばCPU、マルチプロセッシングユニット、縮小命令セットコンピュータRISC、パイプラインを有するプロセッサ、複数命令セットコンピュータCISC、デジタル信号プロセッサDSP等のような如何なるタイプのプロセッシングユニットを有してもよい。多数の具体的な詳細が、実施形態の完全な理解を提供するために、ここで記載されてきた。しかし、当業者には明らかなように、実施形態はそれらの具体的な詳細によらずに実施されてよい。他の事実においては、よく知られている動作、構成要素及び回路は、実施形態を不明りょうにしないように詳細には記載されていない。ここで開示される具体的な構造及び機能の詳細は典型的であってよく、必ずしも実施形態の適用範囲を制限しないことは明らかである。種々の実施形態は、ハードウェア要素、ソフトウェア要素、又はそれらの組み合わせを用いて実施されてよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路素子例えば、トランジスタ、抵抗器、キャパシタ、インダクタ、等、集積回路、特定用途向け集積回路ASIC、プログラム可能論理装置PLD、デジタル信号プロセッサDSP、フィールドプログラマブルゲートアレイFPGA、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット、等を含んでよい。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインタフェース、アプリケーションプログラムインタフェースAPI、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はそれらのあらゆる組み合わせを含んでよい。実施形態がハードウェア要素及び/又はソフトウェア要素を用いて実施されるかどうかの決定は、所望の計算速度、電力レベル、耐熱性、プロセッシングサイクル量、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計又は性能制約といった多数の要因に従って異なってよい。幾つかの実施形態は、表現結合される及び接続される並びにそれらの活用形を用いて記載されることがある。それらの語は、互いに同義語として意図されない。例えば、幾つかの実施形態は、2又はそれ以上の要素が互いに物理的又は電気的に直接接触することを示すよう、語接続される及び/又は結合されるを用いて記載されることがある。しかし、語結合されるは、2又はそれ以上の要素が互いに直接接触していないが互いに協働又は相互作用していることも意味してよい。幾つかの実施形態は、例えば、コンピュータ可読媒体又はアーティクルを用いて実施されてよい。かかる媒体は、コンピュータによって実行される場合にそのコンピュータに実施形態に従う方法及び/又は動作を実行させることができる命令又は命令の組を記憶してよい。そのようなコンピュータは、例えば、あらゆる適切な処理プラットフォーム、コンピュータプラットフォーム、コンピュータ装置、処理装置、コンピュータシステム、処理システム、コンピュータ、プロセッサ、等を有してよく、ハードウェア及び/又はソフトウェアのあらゆる適切な組み合わせを用いて実施されてよい。コンピュータ可読媒体又はアーティクルは、例えば、あらゆる適切なタイプのメモリユニット、メモリデバイス、メモリアーティクル、メモリ媒体、記憶デバイス、記憶アーティクル、記憶媒体及び/又は記憶ユニット、例えば、メモリ、取り外し可能又は取り外し不可能媒体、消去可能又は消去不可能媒体、書込可能又は書換可能媒体、デジタル又はアナログ媒体、ハードディスク、フロッピー登録商標ディスク、コンパクトディスク読出専用メモリCD-ROM、書込可能コンパクトディスクCD-R、書換可能コンパクトディスクCD-RW、光ディスク、磁気媒体、光学磁気媒体、取り外し可能メモリカード又はディスク、様々なタイプのデジタルバーサタイルディスクDVD、テープ、カセット、等を含んでよい。命令は、あらゆる適切なハイレベル、ローレベル、オブジェクト指向、視覚的、コンパルス済み及び/又は解釈済みプログラミング言語を用いて実施されるソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、スタティックコード、ダイナミックコード、暗号化コード、等のようなあらゆる適切なタイプのコードを含んでよい。特に別なふうに述べられない限り、処理、コンピューティング、計算、決定等の語が、コンピュータシステムのレジスタ及び/又はメモリ内の物理量例えば、電子として表されるデータを、コンピュータシステムのメモリ、レジスタ若しくはそのような情報記憶装置、送信又はディスプレイ装置内の物理量として同様に表される他のデータへと処理及び/又は変換するコンピュータ若しくはコンピュータシステム又は同様の電子計算デバイスの動作及び/又はプロセスに言及することは明らかである。実施形態はこのような文脈において制限されない。対象は、構造上の特徴及び/又は方法論的動作に特有の言語において記載されてきたが、添付の特許請求の範囲において定義される対象は、必ずしも上記の具体的な特徴又は動作に制限されないことが理解されるべきである。むしろ、上記の具体的な特徴及び動作は、特許請求の範囲を実施する例として開示される。