Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

FX3™/CX3ベースのUSB Type-C製品の設計 - KBA218460 - Community Translated (JA)

FX3™/CX3ベースのUSB Type-C製品の設計 - KBA218460 - Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

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データライン (SuperSpeedHi-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 ファミリのデバイスに適用されます。

  1. FX3 Type-Cプラグの設計

このType-Cプラグの設計は、5VVBUS電圧と3A以下の電流を必要とする標準的なデバイス(RAIDドングル、フラッシュドライブなど) に適しています。このような設計の場合、USB-PD (Power Delivery) コントローラは必要ありません。Type-Cプラグと FX3 を使用するアプリケーションでは、USB ホストが正しい接続を処理できるため、正しいペアの USB データラインを選択するためのマルチプレクサは必要ありません。FX3ベースのUSB Type-Cプラグ設計のサンプル回路図を図1に示します。デバイスが電力のコンシューマ側 (power sink) で、5V3A以下のVBUSが必要であることを示すために、プラグのコンフィギュレーション チャンネル (CC) ラインには5.1KΩのプルダウン抵抗 (Rd) が必要です。デフォルトでは、ホストはType-C5V, 3Aを提供するため、USB Type-Cプラグベースの設計を使用する際には、追加のPower DeliveryコントローラまたはFX3でのファームウェアの追加実装は必要ありません。アプリケーションが他の電圧/電流を必要とする場合は、PDコントローラが必要です。詳細はセクション3を参照してください。

1. FX3 Type-Cプラグ設計の回路図

pastedImage_7.png

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の電力伝送に対応します。5V3A以上の電流を必要としないアプリケーションでは、USB Power Deliveryコントローラ チップは必要ありません。このような場合には、FX3だけでマルチプレクサのSELラインを制御して、USB 3.1 SuperSpeedラインの正しいペアを選択できます。FX3は、堅牢なSDKに対応する強力なARM®コアをとおして、この実装を可能にします。USB Type-Cレセプタクルとマルチプレクサを使ったUSB接続のサンプル回路図を図2に示します。マルチプレクサを制御するためのFX3ファームウェアの実装については、サイプレスのテクニカル サポートに連絡してください。

2. FX3 Type-Cレセプタクル設計の回路図

pastedImage_8.png

図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側ではファームウェアの実装は必要ありません。サイプレスのFX3EZ-PD CCG2 コントローラ チップを使用した参考回路図を本記事に添付します。ファームウェアについては、サイプレスのテクニカル サポートに連絡してください。

コメント部:

2. FX3 Type-C レセプタクルの設計(PDなし)の場合は、以下の手順でFX3ファームウェアにマルチプレクサ制御を実装してください。

1) USB2のサポートを無効にします。

2) 最初の USB3 ペアを使用して USB3 接続の確立を試してください。

3) CY_U3P_USB_EVENT_SS_COMP_ENTRYCY_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");

  }

0 件の賞賛
1677 件の閲覧回数
寄稿者