2017年8月16日水曜日

USB Type-Cのホスト/充電ケーブル

USBデバイスがホストになれるOTG機能が登場してから10年以上。
シャープ製PDAであるZaurus(Linux)にUSBデバイスをつなぐために
購入したホストケーブルは結構な値段でした。
その後は自作して節約していましたが、スマートフォン全盛の現在、
マイクロUSB端子につなぐホストケーブル
100円ショップでも手に入るようになりました。
便利な世の中になったものです。

さて、ここ1、2年で普及してきた感のあるUSBのType-C端子。
過渡期に問題が起きそうな気配を感じとり、
避けぎみに生活してきたものの、
Nintendo Switchの購入により
そうも言っていられなくなりました。
そこでType-Cを実際に使用する上での
ケーブルについての疑問を確認しておくことに。

まず見るべきは両端がType-Cのケーブルです。
Type-Cなスマートフォンを購入したあかつきには、
今あるACアダプタやモバイルバッテリーすべてを買い替え、
個人的なType-C生態系を構築する予定です。
まあ先立つものが十分あればという条件付きですが。
ともかく、使用製品の端子がType-Cに統一されれば、
両端がType-Cのケーブルだけ持っていれば安心です。
と言いたいところですが、
実はこのタイプのケーブルには2種類以上あるとのこと。

1つ目はフル機能を持ったケーブルです。
Type-Cコネクタは24ピンありますが、
そのうちのいくつかは冗長だったり、
ひっくり返し挿し対応のためだったりするので、
フル機能を提供するためにはケーブル内に
16本の配線を通す必要があります。
これならUSB3.1のフル通信速度はもちろん、
オルタネートモードにも対応できます。
しかしケーブルは太くて固くて扱いにくく、
特に持ち運ぶようなケースでは好ましくありません。
当然価格もそれなりの高さになります。

そこでUSB2.0の機能のみに絞ったケーブルも存在します。
通信速度は制限されますが、
配線は5本で済むため細く軽く低価格にできます。
リトラクタブルケーブルだって可能でしょう。
スマートフォンの充電用ケーブルになら、
むしろこちらの方が便利です。

実はこのほかにもオプションの配線を追加したものや、
なくても問題にならなそうな配線を削った規格外品、
内部チップのある/なしによるアクティブ/パッシブの違い、
あるいはPD規格で大電流が流れることを考慮した
ケーブルもあったりして、非常にめんどくさそうです。
なおUSB Type-Cの詳細はMicrochip社の文書がうまくまとまっていてわかりやすいです。

それでは今回の本題へ。
従来からのUSBコネクタとの混在時の話です。
特にType-Aのホストコネクタ(PCやACアダプタ)に
Type-Cデバイス接続する場合と、
Type-CホストにマウスのようなUSBデバイスを接続する
ケースの2パターンを考えます。

と、その前にType-CのCCピンについて。
Type-CにはConfiguration Channelなる設定用の端子が存在し、
これが略してCCです。
ホスト側コネクタとデバイス側コネクタがケーブルで接続されるとき、
このCCも一本につながり、接続相手の存在を確認できますが、
ホスト側はCCをプルアップ、デバイス側はプルダウンしており、
これによりCCが中間電位となるので、
その状況を検出して双方がどう動くべきかを判断します。
少なくとも両方がホストになるような事態は避けられます。
このことを知ったときは賢い方法だと感心したのですが、
そこまでしてUSBを無理やり拡張せねばならないことを考えると、
同時にUSBの技術的な素性の悪さを感じざるを得ません。
まあUSBはマウスやキーボードを接続するPS/2やRS-232Cの
低速インターフェイスの置き換えが発端ですから、
やむを得ない面はあります。

それでは前者のType-Aのホストコネクタに
Type-Cデバイス接続する場合について。
先の理論からするとつなぎ先のないCCはケーブル内でプルアップされ、
機器内でCCがプルダウンされている
Type-Cデバイスに対応することになります。
Type-Cデバイスは自身がデバイスであることを認識し、
通信、そして電力の受給を実施します。
問題は電力の受給です。

実はケーブル内で行われるCCのプルアップについて、
そのプルアップ抵抗値の大きさによって
デバイスが引き出してもよい電力(電流)が決まっています。
スマートフォンを充電するのにUSB2.0の5ピンType-Aコネクタの
出力を持ったACアダプタがよく用いられますが、
これは規格上は500mAとなります。
この場合プルアップ抵抗は56kΩである必要があり、
これはケーブルが対応するより他ありません。
もしこれより低い抵抗値(0Ω、すなわちGNDとショート含む)だと、
デバイスが1.5Aや3.0Aの大電流を引っ張り出そうとして、
各機器がダメージを受ける可能性があります。

56kΩ抵抗のない規格外ケーブルは初期にかなりの量
流通していたようですし、今でもないとはいえません。
購入する場合は56kΩ抵抗があることを明示した製品を選ぶべきですし、
素性が不明なケーブルは使用しないことをお勧めします。
あるいはスマートフォン充電用として手に入れやすい
microUSB-TypeAケーブル
TypeC-microUSBアダプタをつけることでも対応できます。
もちろんこのアダプタ内部ではCCが56kΩで
プルアップされている必要があります。

続いて後者、Type-CホストにUSBデバイスを接続する場合です。
マウスやキーボードのような周辺機器には、
今後もType-Aコネクタが用いられる事が多そうなので、
ホスト機能をもつType-Cに接続するために
変換アダプタが必要になります。
そのCC端子は前述のケースとは逆にプルダウンする必要があります。
規格上その抵抗値は5.1kΩのようです。

以上の2ケースを考え合わせると、
充電/ホスト機能の両対応のType-Cアダプタは
単純にはありえないことになります。
各々のアダプタは現状標準的にType-Cコネクタの反対側は
microUSBメス/Type-Aメスとなるので、
挿し間違いが起きるケースは多くないでしょうが、
今後どうなるかは分かりませんし、
注意するに越したことはないでしょう。

話は変わりますが、現在USB 3.2が使用策定中のようです。
3.0から3.1での通信速度の倍化は、
ベースクロックとエンコード方式の変更で対応しましたが、
3.2での倍化はいよいよマルチレーンを導入するとのことです。
つまり、上り下りで差動通信線が2組ずつある
両端Type-Cのフルケーブルが必要になります。
3.2によってType-A/B端子をレガシーとする目論見でしょう。
マウスやキーボードまでType-Cになるのは相当未来のことでしょうが、
早くオールType-Cの世界が実現してすっきりしてほしいものです。

0 件のコメント:

コメントを投稿