2019年1月12日土曜日

USB Type-CとUSB PowerDeliveryについて

USB PowerDelivery(以下 USB PD)では、USB Type-Cケーブルを使って最大で60〜100Wほどの電力を扱えます。
必要なケーブルとしては、両端がType-C端子となっているケーブル(通称"C to C ケーブル"など)です。
USB PDでは、電源を供給する機器をソース、 電気を受け取る機器をシンクと呼びます。

■パワールールについて
USB PDでは、以下のパワールールに基づいて給電を行います。
・5V(Max. 3A)
・9V(Max. 3A)
・12V(Option/ Max. 3A)
・15V(Max. 3A)
・20V(Max. 3A)
・20V(Max. 5A)

12Vに対応するかどうかはオプションなので、基本的には「1. ソース機器においては12Vに対応しなくても良い」「2. シンク機器においては12Vに対応すべきではない」といえます。
したがって、基本的にPDにおいては5V, 9V, 15V, 20Vの4種類の電圧を使うことになります。

このパワールールには、下位互換性を保つために一定のルールがあります。それは、上位のパワールールに対応するソース機器においては、必ず下位のパワールールにも完全に対応しなければならないという点です。
たとえば、15Vに対応する機器は、必ず9V3Aと5V3Aの両方に対応しなければなりません。この場合、対応するパワールールが「15V1A, 9V3A, 5V3A」となっているソース機器は規格に完全に適合しておりセーフです。
しかし、対応するパワールールが15Vと5Vだけだったり、あるいは「15V3A, 9V1A, 5V3A」のような対応のしかたはアウトになります。

■ケーブルについて
USB PDにおいては、最大で5Aの電流を流すことができます。しかし、すべての場合においてこのような大きな電流を流すことをケーブルに求めるのは酷ですし、本来大電流を流せないケーブルに誤って5Aもの大電流を流してしまうと発煙や発火などの事故を招く恐れがあります。また、パワールールにおいて3Aを超える電流を流すのは60W(20V3A)を超える電力を供給する場合のみとなっています。

こういった事情から、「USB PDには対応するけれども、電流は3Aまでしか流せないよ」というケーブルが規定され、市販されています。

しかしそうなってくると、今度はソース機器において、ケーブルが対応する最大電流が一体全体いくつなのかを把握する必要があります。
そのために、eMarker(イーマーカー) と呼ばれるICチップをケーブルに埋め込んでいます。(一部のType-Cケーブルの端子がかなり長めに作られているのはコイツのせいです。)

・eMarkerについて
eMarkerは一般的にケーブルの端子部分に埋め込まれており、そのケーブルにおいて流せる最大電流をソース機器に伝達する役割をもちます。
このeMarkerは基本的にすべてのケーブルに実装してほしいところですが、コスト増の要因ともなり、頭を悩ませる存在でもあります。
したがって、USB2.0にしか対応せず、なおかつ3Aまでの電流にしか対応しないケーブルにおいてのみ、例外的にeMarkerを省略できることになっています。
一方、USB3.1以上に対応するすべてのケーブルや、USB2.0であっても5Aに対応するケーブルには、例外なくeMarkerを搭載する必要があります。

・CCラインについて
Type-Cケーブルはリバーシブルで、片面12ピン、計24ピンの端子が搭載されていることはもうご存知だと思いますが、このケーブルにはCC(Configuration  Channel)と呼ばれる配線が通っています。これは今までのケーブルにはないもので、Type-Cになってから新しく追加されました。
CCラインでは、USBの電源供給に関する通信などを行っています。もちろんケーブルのeMarkerとの通信もこのラインで行います。

・「PowerDelivery非対応」を謳うC to Cケーブルについて
 一部のC to Cケーブルにおいて、PDに対応しない旨を表記する例が見受けられます。これは意味不明であり、規格にのっとって製造されたすべてのType-CケーブルはPDに対応するはずです。
可能性のひとつとして、「eMarkerが搭載されていない」という点を過大解釈して「PD非対応」としたことが考えられます。しかし、ケーブルの設計が規格にのっとっているのであれば、これは誤りです。
また、CCラインがそもそも結線されていないという可能性も考えられます。しかし、規格上はそのようなケーブルは作成できないはずで、互換性その他の面において問題を引き起こす可能性があります。したがって、そのようなケーブルはゴミ同然でしょう。機器が壊れるなり不具合を起こすとマズいので、CCラインが結線されていないケーブルは捨てたほうがいいです。
いずれにせよ、「PD非対応」を謳うC to Cケーブルを販売するような会社は、USB Type-Cの規格を正しく理解していない可能性が高いので、購入に際しては注意が必要です。

■USB PDを利用できない配線
USB Type-Cケーブルであっても、その一端がType-C以外である場合はPDを利用できません。具体的には、一端にUSB A端子やUSB micro B端子などがついているケーブルなどではPDが利用できません。
また、変換アダプタを使用した場合も同様です。USB micro B端子とUSB Type-C端子同士を変換した場合などではPDが無効になります。

・56kΩ抵抗(レジスタ)について
レガシーなUSB端子とType-C端子を相互変換する場合、ケーブルに流せる電流値を通知するために56kΩ抵抗を端子に実装します。この抵抗を実装すると、ケーブルに流せる電流は古い方の端子に合わせられます。
この抵抗の実装されていない変換ケーブルは危険なので使用できないというのは有名な話です。もはやこういった危険なケーブルは市場から駆逐されつつありますが、引き続き警戒してください。

■USB PDを利用できない機器
USB Type-Cに対応する機器が必ずしもPDに対応しているとは限りません。お使いのスマートフォンや充電器などにType-C端子がついていても、本当にPDに対応しているかどうかは、実際に仕様を見てみないことにはわからないのです。端子にPD対応の可否が明記されていればわかりやすいのですが、そうでない場合も多いため厄介です。

■USB PD以外の電源規格について
USB Type-C端子では、USB PD以外にも様々な電源規格が利用できます。
●正式対応しているもの
・USBバスパワー(5V Max. 0.5〜0.9A)
・USB Battery Charging(5V Max. 1.5A)
・USB Type-C Current(5V Max. 3.0A)
・USB PowerDelivery(Max. 20V 5A)
●正式対応していないもの
上記に入っていない規格すべて(Qualcomm QuickChargeなど)

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。 Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源...