はじめに

近年、スマートフォンなどUSB Type-Cコネクタを搭載した機器が普及しています。こうした市場の流れを受けて、USB試験機関であるアリオンへの依頼内容も、USB Type-Cコネクタを採用する機器の割合が増えてきています。
USB Type-Cコネクタは様々な電力の規格が使用されることが想定されています。USB規格となっているものだけでも以下のような規格があります。

優先度 規格 電圧 最大電流



USB PD 可変 5A
USB Type-C Current 3A 5V 3A
USB Type-C Current 1.5A 5V 1.5A
USB BC1.2 5V 1.5A
Default USB Power 5V 1.5A/0.9A/0.5A
(接続速度により異なる)

これらの規格には優先度があり、上の表の上段にあるものは優先度が高いと定義されています。例えば、USB PDとUSB Type-C Currentの両方に対応しているSource機器とSink機器を接続した場合は、優先度の高いUSB PDで電力を送受信しなければなりません。
USB規格を策定しているUSB-IF(USB Implementers Forum)は同時に、USB製品がUSB規格を満たしているかどうかを確認するための認証試験も策定・実施しております。認証試験に合格した製品はUSB-IFが認定した製品となりますので安心して購入できます。
受験する製品の仕様により試験項目は異なっておりますが、USB Type-Cコネクタの製品に対して共通で実施される試験としてType-C Functional Testという試験があります。この中に冒頭でご紹介したUSB機器の電力仕様を確認する試験項目が含まれております。ここではその試験項目について簡単にご紹介したいと思います。USB認証を取得するためにはどのような基準を満たす必要があるのか、ご覧いただければと思います。

Type-C Functional TestとはType-CコネクタをもつUSB機器に特有の処理が正しく行われるかどうかを確認する試験です。「Type-Cコネクタに特有」ということを説明する前にUSBコネクタの種類について説明したいと思います。USB-IFではUSBコネクタを2つに分けて説明することが多くなっています。1つが「レガシーコネクタ」と呼ばれるコネクタ、もう1つが「Type-Cコネクタ」と呼ばれるコネクタです。「レガシーコネクタ」とはType-Cコネクタが登場する前から存在しているUSBコネクタの総称であり、「Type-Cコネクタ以外のコネクタ全て」と理解していただいて問題ありません。代表的なレガシーコネクタとしてはPCなどに使われていることが多いStandard-Aコネクタ、プリンタなどの周辺機器に使われていることが多いStandard-Bコネクタ、一昔前のスマートフォンなどに使われていたMicro-Bコネクタなどがあります。

Type-CコネクタではUSB PDやType-C Currentといった新しい電力規格が使える以外にもリバーシブル対応やコールドスタートといった機能が追加されています。このような、レガシーコネクタにはないType-Cコネクタに特有の機能を確認する試験としてType-C Functional Testが策定されています。Type-C Functional Testには多数の小項目が含まれておりますが、その中に電力制御に関する試験項目があります。アリオンはType-C製品に対するUSB試験を多数取り扱ってきた経験がありますが、特にFailが多発している項目が「TD 4.10.2 Sink Power Precedence Test」という項目です。ここでは、そのTD 4.10.2 Sink Power Precedence Testの試験内容とその判定基準、なぜFailしやすいのかについてご紹介します。

 

TD 4.10.2 Sink Power Precedence Testとは

本試験項目の目的を一言で表すと「電力関連規格を優先度の低いものから1つずつ上げていき、Sink DUTがそれに追従するかどうかを確認する」となります。

 

試験手順

おおよその試験手順は以下になります。なお、カッコ内はType-C Functional Test Specの手順の番号を記載しておりますので、元の仕様書を確認される際に参考にしていただければと思います。

1. DUTがUSB2.0に対応する場合に以下を実施します (手順1~4)
1.1 CVSをUSB2.0のUSB Default Powerに対応するSourceに設定します
1.2 DUTがUSB Default USB Powerの規格内の消費電力であることを確認します(疑問1)

2. DUTがBC1.2に対応する場合に以下を実施します (手順5)
2.1 CVSをUSB BC1.2に対応するSourceに設定します
2.2 DUTがUSB BC1.2のネゴシエーションを行い、その規格内の消費電力であることを確認します

3. 全てのDUTに対して以下を実施します (手順6~10)
3.1 CVSをUSB Type-C Current 3.0Aに対応するSourceに設定します
3.2 DUTが3.0A以下の消費電力であることを確認します

4. DUTがUSB3.1に対応している場合はCVSをUSB3.1に対応するよう設定し、上記手順の1~3を再度実施します (手順11~14)

5. DUTがUSB PDに対応する場合に以下を実施します (手順15)
5.1 CVSをUSB Type-C Current 1.5Aかつ5V 1.5AのPDOのUSB PDに対応するSourceに設定します
5.2 DUTがUSB PDのネゴシエーションを行い、1.5A以下の消費電力であることを確認します(疑問2)
5.3 DUTが優先度の低い電力規格で動作しないことを確認します
5.4 CVSをDefault USB Powerのみに対応するSourceに設定し、さらにPDメッセージのやりとりをしないよう設定します
5.5 ネゴシエーション中のDUTの消費電力が規格内であることを確認します

備考:
* 試験対象のUSB機器のことをDUT (Device Under Test)、試験機器のことをCVS (Connector Verification System)と言います。
* TD 4.10.2ではDUTが電力的にSink(消費側)、CVSが電力的にSource(出力側)になります。
* DUTがUSB SuperSpeedやHigh-Speedなどのデータ通信に対応している場合は電力に加えてデータ通信のネゴシエーションも試験されます。

先程ご説明した通り、本項目はFailが多くなっています。これは「USBの電力仕様についてレガシーコネクタの時期に策定された仕様とType-C Functional Testの判定基準の間で一部食い違いがあるから」という理由になります。レガシーコネクタのUSB機器を設計し、USB認証を取得した実績のある企業が、その製品の電力仕様を変えずにコネクタだけをType-Cコネクタに変更した場合、Type-C Functional TestでFailとなることがあります。

 

判定基準の疑問点

そこで食い違いのある2つの箇所についてUSB-IFに確認してみました。

疑問1: Default USB PowerのSelf-Poweredの場合の最大消費電力は1mAなのか

上記の試験手順の1.2において、Default USB Power時の消費電力の試験がされておりますが、その判定基準は以下の通りとなっています。
・Self-PoweredのDUTは1mA未満
・Bus-PoweredのDUTはデバイスディスクリプタ内のbMaxPowerで設定される最大電力値以下
ここで問題となったのがSelf-Poweredの基準になります。従来からのUSB仕様ではDefault USB PowerのSelf-Poweredで動作している場合に許容される最大消費電力はSuperSpeed接続の場合は150mA、High-Speed以下の接続の場合は100mAとなっています。ところがType-C Functional Testの判定基準では最大でも1mAとなっており、大幅に基準が厳しくなっています。なおSelf-PoweredとBus-Poweredの定義は以下の通りです。
Self-Powered: USB機器が自前の電源を持つ場合。ACアダプタを接続して使用するプリンタなどが該当
Bus-Powered: USB機器が接続相手からUSB経由で電源供給を受ける場合。USBメモリなどが該当
このSelf-Poweredで動作しているときの基準値について確認しました。

回答: 消費電力が1mA以上の場合はBus & Self-Poweredにしなければならない

USB-IFはType-Cコネクタの場合はDefault USB PowerのSelf-Poweredの条件では消費電力は1mA未満でなければならないと考えているようです。これは大幅に基準が厳しくなったことを意味しています。とは言っても、Self-Poweredで1mA以下に消費電力を抑えられない場合も多々あります。アリオンでの試験実績でも1mAを超えているSelf-PoweredのレガシーコネクタのUSB機器は多数あります。これらの機器はType-Cコネクタになったとたんに認証がとれなくなるのでしょうか? この点について再度USB-IFに確認したところ、Bus & Self-Poweredの設定にすることで回避できることが分かりました。ひとまず安心といったところかと思います。

 

疑問2: USB PDはUSB経由で電力をやりとりしているがBus-Poweredではないのか

上記の試験手順の5.2の判定基準として、USB PDが動作している場合にはDUTはSelf-Poweredと宣言し、かつデバイスディスクリプタ内のbMaxPowerで設定される最大電力値を0にしなければならないとなっています。しかし、USB経由で電力を受けている場合はBus-Poweredと考えていたためなぜSelf-Poweredなのか確認しました。

回答: DUTがUSB PDまたはType-C Currentで電力を送受信する場合はSelf-PoweredかつbMaxPower=0の設定にしなければならない

USB PDとUSB Type-C CurrentはUSB経由で電力をやりとりするものの、これらは外部電源とみなされているためSelf-Poweredにしなければなりません。またデバイスディスクリプタ内の消費電力を0と設定しなければならないことについては、USB PDやUSB Type-C Currentの場合はデバイスディスクリプタ以外に電力を通知する方法があるため特に問題にはなりません。

 

まとめ

DUTによっては、Default USB Powerでの動作時とType-C CurrentやUSB PDの動作時では、Self/Bus-Poweredの設定やbMaxPowerの値を切り替えなければならないことになります。また、USBの電力関連の仕様を分かりやすくするために、「UFP-Powered」という新しい用語が定義されています。Type-Cコネクタでは電力関連の仕様がかなり複雑になってしまい、全体を把握することが難しくなっています。設計しているUSB機器の認証を取得したいが、現在の設計仕様で大丈夫なのか不安な場合はぜひお気軽にお問合せください