Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Community Translation - Enabling FX3 Only for USB 3.0 Applications – KBA219491

Kenshow
Level 8
Level 8
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

I would like to translate KBA219491 into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Kenshow-san

Confirm to work this KBA.

Thanks

Jenna

Jenna Jo
0 Likes

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

Original KBA:

Enabling FX3 Only for USB 3.0 Applications – KBA219491

Thanks.

Kenshow

==============================

タイトル: USB 3.0アプリケーションでのみFX3を有効にする – KBA219491

バージョン:**

質問:

FX3デバイスでUSB 3.0機能のみをどのように有効にしますか?

回答:

USB 3.0は、スーパースピードライン(SS_TX_PSS_TX_MSS_RX_PSS_RX_M)とハイスピードライン(DMおよびDP)の両方で構成されています。一部のデザインでは、USB 3.0モードのみでFX3デバイスを使用する場合があります。つまり、FX3はスーパースピードラインのみを使用し、別のコントローラーはハイスピードラインを使用します。たとえば、サイプレスUSB 3.0ハブコントローラーCYUSB3328およびCYUSB3326には、SharedLink 機能を備えております。これにより、USB 3.0ポートを組み込みのスーパースピードラインポートと標準のUSB 2.0ポートに分割できます。FX3を組み込みUSB 3.0ポートに接続するには、USB 3.0でのみ動作し、USB 2.0にフォールバックしないようにプログラムする必要があります。これが役立つ可能性があるSharedLink以外のアプリケーションが存在する可能性があります。この記事では、FX3アプリケーションファームウェアでUSB 3.0機能のみを有効にする実装について説明します。

FX3のブートオプションについては、AN76405記載しておりますFX3PMODE [20] = Z11を介してUSBブートオプション用に設定されている場合、それはサイプレスUSBブートローダーデバイスとして表示され、USB 2.0モードでのみ操作できます。組み込みの超高速ポートに関連付けられたD+/D-がないため、ホストでFX3を検出できません。このシナリオでは、USBを介してFX3にアプリケーションファームウェアをプログラムできません。したがって、USBの代わりに他のブートオプションを使用する必要があります。

ブートオプション、USBフォールバックを使用したI2CブートとUSBフォールバックを使用したSPIブートを使用するときは注意してください。これらの起動オプションでは、FX3は次のシナリオでUSB 2.0ブートローダーデバイスとして表示されます。

  • I2CまたはSPIアドレスサイクルまたはデータサイクルエラー
  • FX3ファームウェアイメージの無効な署名
  • 無効な画像タイプ

CyU3PUsbStart API を使用してUSBデバイスモードドライバーを起動し、USBコールバック要求とUSB記述子をUSBドライバーに登録した後、アプリケーションファームウェアで次の手順に従って、FX3USB 3.0のみの機能を有効にします。

     1. CyU3PConnectState APIを呼び出す前に、CyU3PUsbControlUsbSupport APIを使用してUSB 2.0接続を無効にします。

2. CyU3PConnectState APIを繰り返し呼び出して、障害が発生した場合にUSB 3.0接続を再試行します。これらのAPIの詳細については、FX3 APIガイドを参照してください。ステップのコードスニペットは次のとおりです。


/* USB 2.0接続を無効にします */
CyU3PUsbControlUsb2Support(CyFalse);
do
{
/* 超高速動作を有効にしてUSBピンを接続します。 */
apiRetStatus = CyU3PConnectState(CyTrueCyTrue);
if(apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(4, "USB Connect failedError code =%d \n", apiRetStatus);

}

else
{
CyU3PDebugPrint(4, "USB Connect passed, Error code = %d\n", apiRetStatus);
}
} while(apiRetStatus != CY_U3P_SUCCESS);

==============================

9-June-2020

Kenshow

0 Likes