これで20分ぐらい。だいぶ早くなったかな
「スマホの爆発を防止できるか? GoogleによるUSB-Cの新規格」っていう記事がひどくて爆発する
スマホの爆発を防止できるか? GoogleによるUSB-Cの新規格 | ギズモード・ジャパン この記事
まずタイトルおかしいよね。。USB-C の新規格の話なんてどこにもない。Android の互換性定義の話。
それはともかく
って書いてあってげんなりする。
デバイスが検知しなければならないのは、充電器の供給容量(最大電流)であって、流れ込んでくる電流量ではない (バッテリ充電回路で電流制御はしているだろうが、それは USB Type-C の抵抗設定とは関係ない)。
「流れ込んでくる電流量」って言い方がなんか変。デバイスにとって自分に流れる電流量は自分のことなので、こんな他人事みたいな言い方だと違和感がある。充電器はデバイスが消費するだけの電流を供給するだけで、別に無理矢理デバイスに電流を押しこんだりしない。
ここの「チャージャーを識別する」ってのがどういうことを意図しているかというと、充電器が供給容量を超えた電流をデバイスが使おうとすると、充電器にとっては過負荷になり最悪発火するからちゃんとしてくれってこと。あくまで充電器の過負荷に対する問題であって、これはデバイスの発火の話ではない。
Android 7.0 CDD の原文
ところで CDD の原文か以下のようになっている。
訳がまず明らかにおかしい。。「Type-C デバイスは、Type-C 抵抗標準によって 1.5A と 3.0A の充電器を識別し、またその通知の変更を検知できなければならない」ぐらいかな?
そういえばと思い Google Translate で試したけどこっちのほうが優秀だ。
備考:USB Type-C のスペック
ちゃんと調べたことがなかったので改めて調べてみた。USB Type-C Specification Release 1.2.pdf の 4.6.2.1 USB Type-C Current あたりかな。
Source はチャージャ側のこと。Sink は基本的にデバイス側のこと。
- Type-C では CC pin を使って、電源の供給量を通知する
- 電流量には3種類定義されている
- Default (500mA for USB 2.0 / 900mA for USB 3.1)
- 1.5A
- 3.0A
- 1.5A や 3.0A を使うデバイスは CC ピンをモニタして消費電流を調整しなければならない (ただし USB PD の接続が確立されている場合はモニタする必要はない)
- 充電側はデバイス側が過剰に電流消費している場合に自身を保護すること (保護回路をつけろってこと)
CC ピンの回路
Source 側は Rp でプルアップ、Sink 側の Rd でプルダウンしている。それぞれ必要な値は表になっている。
でもって、Sink 側はどのようにして供給電流量を判別するかといえば、Rp と Rd で分圧された部分の電圧を見ろと書いてあり、表になっている。
ためしに Rp=56kΩ Rd=5.1kΩ で計算してみると vRd は 0.42V で、vRd-USB の範囲に入る。同じように Rp=22kΩ Rd=5.1kΩだと0.94V で v-Rd-1.5、Rp=10kΩ Rd=5.1kΩ で 1.56V で vRd-3.0。
変換ケーブルについて
変換ケーブルでは CC ピンは常に 56kΩ でプルアップされなければならない。つまり Default にしとけってこと。
Default は 500mA for USB 2.0 / 900mA for USB 3.1 ってことになっているが、今まで使われてきた USB-BC も有効なため D+/D- を 200Ω でショートするアレとかで 1.5A まで流せる。
ref
Type-C の規格。zip で全部落とさないと見れない。面倒ですね。