FX3™/CX3ベースのUSB Type-C製品の設計 - KBA218460 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by JuIn_1625121 & keni_4440091 Version: **
質問:
FX3/CX3ベースのUSB Type-Cコネクタを使った製品の設計方法を教えてください。
回答:
USB Type-Cコネクタの顕著な特長は、それらがリバーシブルで、最大100Wの電力を供給できることです。つまり、USB Type-Cケーブルはどちら向き (上下逆) でも接続でき、またVBUS電圧は最大20V, 5Aです。リバーシブル接続を実現するために、USB Type-Cレセプタクルは、すべてのUSBデータライン (SuperSpeedとHi-Speed) のペアを1つ多く持っています。USB Type-Cコネクタが挿入されている方向に基づき、マルチプレクサを使用して正しいUSBデータラインのペアを選択する必要があります。以下のセクションは、USB Type-C コネクタを使用した 3 タイプのFX3/CX3設計について説明します。Type-C コネクタと USB Power Delivery の詳細については、USB Type-C 仕様書と USB Power Delivery 仕様書を参照してください。以下のセクションは、FX3 および CX3 ファミリのデバイスに適用されます。
- FX3 Type-Cプラグの設計
このType-Cプラグの設計は、5VのVBUS電圧と3A以下の電流を必要とする標準的なデバイス(RAIDドングル、フラッシュドライブなど) に適しています。このような設計の場合、USB-PD (Power Delivery) コントローラは必要ありません。Type-Cプラグと FX3 を使用するアプリケーションでは、USB ホストが正しい接続を処理できるため、正しいペアの USB データラインを選択するためのマルチプレクサは必要ありません。FX3ベースのUSB Type-Cプラグ設計のサンプル回路図を図1に示します。デバイスが電力のコンシューマ側 (power sink) で、5Vで3A以下のVBUSが必要であることを示すために、プラグのコンフィギュレーション チャンネル (CC) ラインには5.1KΩのプルダウン抵抗 (Rd) が必要です。デフォルトでは、ホストはType-Cで5V, 3Aを提供するため、USB Type-Cプラグベースの設計を使用する際には、追加のPower DeliveryコントローラまたはFX3でのファームウェアの追加実装は必要ありません。アプリケーションが他の電圧/電流を必要とする場合は、PDコントローラが必要です。詳細はセクション3を参照してください。
図1. FX3 Type-Cプラグ設計の回路図
2. FX3 Type-Cレセプタクルの設計
カメラモジュール、ドック、モニターなどのデバイスは、Type-Cレセプタクルで設計されます。これらはType-Cケーブルを介してUSB Type-Cホストに接続されます。USB Type-Cレセプタクルを使用するアプリケーションでは、USBホストと通信するUSB SuperSpeedデータラインの正しいペアをType-Cコネクタの向きに応じて選択するために、マルチプレクサが必要です。コネクタの向きに基づいてUSBデータラインの正しいペアを選択するために、論理的に向きを決定する仕組みが実装され、マルチプレクサが動作するための入力が必要です。
USB Type-Cの仕様は、デフォルトでは、USB Power Deliveryを含まず、VBUSを介して最大5V, 3Aの電力伝送に対応します。5Vで3A以上の電流を必要としないアプリケーションでは、USB Power Deliveryコントローラ チップは必要ありません。このような場合には、FX3だけでマルチプレクサのSELラインを制御して、USB 3.1 SuperSpeedラインの正しいペアを選択できます。FX3は、堅牢なSDKに対応する強力なARM®コアをとおして、この実装を可能にします。USB Type-Cレセプタクルとマルチプレクサを使ったUSB接続のサンプル回路図を図2に示します。マルチプレクサを制御するためのFX3ファームウェアの実装については、サイプレスのテクニカル サポートに連絡してください。
図2. FX3 Type-Cレセプタクル設計の回路図
図2に示すように、USB Type-Cレセプタクルからの各USBデータラインの2組のペアがマルチプレクサに接続されています。マルチプレクサからは、1組のペアのUSBデータラインがFX3に接続されています。MUXSEL ラインは FX3 の出力 GPIO を介して制御され、USB SuperSpeed ラインの正しいペアを選択します。USB SuperSpeed ラインの正しいペアを選択するロジックは FX3 ファームウェアに実装されています。
3. PDコントローラ付きFX3 Type-Cレセプタクル設計
5V,3A以外の電圧/電流を必要とするアプリケーションでは、Type-C PDホストと電力値をネゴシエートするためにUSB Power Delivery (PD) コントローラが必要です。PDコントローラ チップはマルチプレクサを制御し、USB SuperSpeedデータラインの正しいペアを選択します。PDコントローラがUSB Type-CおよびPD関連の要求を処理するため、FX3側ではファームウェアの実装は必要ありません。サイプレスのFX3とEZ-PD CCG2 コントローラ チップを使用した参考回路図を本記事に添付します。ファームウェアについては、サイプレスのテクニカル サポートに連絡してください。
コメント部:
2. FX3 Type-C レセプタクルの設計(PDなし)の場合は、以下の手順でFX3ファームウェアにマルチプレクサ制御を実装してください。
1) USB2のサポートを無効にします。
2) 最初の USB3 ペアを使用して USB3 接続の確立を試してください。
3) CY_U3P_USB_EVENT_SS_COMP_ENTRYとCY_U3P_USB_EVENT_USB3_LNKFAILをチェックします。
2つのイベントのいずれかが発生した場合は、以下のようにしてください。
a) CyU3PConnectState(CyFalse, CyFalse)を使用してUSB PHYを無効にしてください。
b) マルチプレクサ選択用GPIOをトグルしてください。
c) USB 2.0 サポートを有効にしてください。
d) connectstate API を呼び出して、2番目のペアを使用してUSB 3.0接続を確立してください。
下記にプログラムコードの例を示します。
status = CyU3PUsbControlUsb2Support(CyFalse);
if (status != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(4,"\r\nDisabling USB2 failed. Stopping Execution");
while(1);
}
CyU3PThreadSleep(20);
status = CyU3PConnectState(CyTrue, CyTrue);
CyU3PThreadSleep(50);
for(int i =0 ; (i<100 && !U3_EVENT); i++ )
CyU3PThreadSleep(5);
if(!U3_TRUE)
{
CyU3PDebugPrint(5,"\r\nNot Super speed enumeration with MUX_SEL low. Flipping Mux to try again");
CyU3PConnectState(CyFalse, CyFalse);
CyU3PGpioSetValue(SS_MUX_SEL_GPIO22,CyTrue);
CyU3PUsbControlUsb2Support(CyTrue);
CyU3PThreadSleep(20);
status = CyU3PConnectState(CyTrue, CyTrue);
CyU3PThreadSleep(50);
if (status != CY_U3P_SUCCESS)
{
CyU3PDebugPrint (4, "\n\rAppInit:ConnectState Err = 0x%x", status);
CyCx3UvcAppErrorHandler(status);
}
}
else
{
CyU3PDebugPrint(5,"\r\nSuper speed enumeration with MUX_SEL low");
}
- タグ:
- ez-usb fx3