- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA219491 into Japanese.
Please confirm to my work.
Thanks,
Kenshow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirm to work this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Enabling FX3 Only for USB 3.0 Applications – KBA219491
Thanks.
==============================
タイトル: USB 3.0アプリケーションでのみFX3を有効にする – KBA219491
バージョン:**
質問:
FX3デバイスでUSB 3.0機能のみをどのように有効にしますか?
回答:
USB 3.0は、スーパースピードライン(SS_TX_P、SS_TX_M、SS_RX_P、SS_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に記載しております。FX3がPMODE [2:0] = 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ドライバーに登録した後、アプリケーションファームウェアで次の手順に従って、FX3でUSB 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(CyTrue、CyTrue);
if(apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(4, "USB Connect failed、Error code =%d \n", apiRetStatus);
}
else
{
CyU3PDebugPrint(4, "USB Connect passed, Error code = %d\n", apiRetStatus);
}
} while(apiRetStatus != CY_U3P_SUCCESS);
==============================
9-June-2020