![ハードウェアハック ハードウェアハック](https://srad.jp/static/topics/hardhack_64.png)
EarOwlの日記: USB 給電の歴史(?) 3
日記 by
EarOwl
自分の理解の範囲でまとめてみた。 USB 3.0 は除く。
[当初の規格]
- 接続時点では 100mA まで、エニュメレーションを行い Configured 状態になったら最大 500mA まで。
なお Suspend 中は上記に依らず、 Remote Wakeup が許可されていなければ 500μA まで、許可されていれば 2.5mA まで。 (500μA は厳しすぎるため、後に ECN でいずれの場合も 2.5mA に緩和)。 - デバイスは接続後決まった時間内にエニュメレーションを行わなければならない。 (給電のみで通信を行わないデバイスは禁止。)
↓
[当初の規格下での実状]
- USB での充電など、 500mA を超える電流を使いたいという要求が発生。
- 規格を無視して給電のみを行うデバイスが多数出現。
↓
[Battery Charging 規格策定]
- 従来のホスト (SDP) の他に、 1.5A 供給と通信が可能なホスト (CDP)・ 1.5A 供給可能な給電専用 (通信不可) ホスト (DCP) を規定。
- デバイスは、ホスト側が CDP または DCP であることを確認した上で、エニュメレーションを行っていない状態でも 1.5A まで使用して OK 。
- ケーブルは従来のものを使用する。
↓
[Battery Charging 規格策定後の実状]
- Battery Charging 規格に従い DCP に接続された場合のみ急速充電を行うデバイスが出現。
- DCP の D+・D- 間を200Ω以下の抵抗を挟んで接続するという仕様を逆手に取って、ケーブル側で D+・D- を接続した『急速充電ケーブル』が出現。
- DCP の規格に従っていない (D+・D- 間を接続していない) 給電専用ホストも存在。
- ホスト側の給電能力のチェックを適切に行わないデバイスも存在。
- Battery Charging 規格に従っているかをユーザーが容易には確認できない。
- 結果、ホスト・ケーブル・デバイスの組み合わせによって、充電できる・できない・急速充電になる・ならないのパターンが発生、混沌とした状況に。
参考になった(+1) (スコア:1)
Appleが正義!!!……じゃなくて。
いずれにしてもユーザーが不利益を被らないようにしていただきたいものであります……
さらに (スコア:1)
今だとPower Deliveryの規格もあるので(Battery Chargingはリンク層以上での処理がなくても機能するのがミソ)、さらに複雑ではあるかな。
ただ基本は難しいわけじゃないか
まとめごくろうさまです。
M-FalconSky (暑いか寒い)
規格は破られるためにある (スコア:0)
つーか性善説に依存するような規格そのものがタコつーこったな