Community Translation - FX3 does not fall back to USB 2.0 mode when TUSB501 re-drivers are connected

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

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

 

I would like to translate KBA231618 into Japanese.

Please confirm to my work.

 

Thanks,
Kenshow

1 Solution
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

 

Original KBA:

FX3 does not fall back to USB 2.0 mode when TUSB501 re-drivers are connected with a USB 2.0 cable to...

 

Thanks.

Kenshow

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

 

タイトル: TUSB501リドライバがUSB2.0ケーブルでホストに接続されている場合、FX3USB2.0モードにフォールバックしません - KBA231618

 

バージョン:**

FX3ファームウェアがUSB接続ネゴシエーションに使用する手順については、FX3テクニカルリファレンスマニュアル(TRM)のセクション6.8- USB3.0およびUSB2.0機能調整を参照してください。

テキサス・インスツルメンツTUSB501のデータシートから、TUSB501 デバイスは定期的に Tx ペアのレシーバ検出を行います。SuperSpeed USB レシーバを検出した場合、Rx 終端を有効にし、TUSB501 はりドライブの準備ができています。

したがって、FX3デバイスがリドライバに接続されると、リドライバはFX3をレシーバとして検出し、その終了を有効にします。同様に、FX3もUSB 3.0 PHYをオンにして、USB3.0レシーバの検出を開始します。リドライバは常にアクティブであるため、FX3はリドライバを検出します。リドライバがUSB2.0ケーブルを使用してホストに接続されている場合、FX3デバイスはUSB 3.0エニュメレートパケットを無期限に待機し、USB2.0モードにフォールバックしません。このため、デバイスはUSB3.0モードでもUSB2.0モードでもエニュメレートされません。これは、セクション6.8 - FX3TRMUSB3.0およびUSB2.0機能調整によると、レシーバの検出が成功したため、予想される動作です。

次の手順を実行して、USB 3.0エニュメレートを試行し、失敗した場合はUSB2.0のエニュメレートにフォールバックします。

1.タイマ構造体(CyU3PTimer)をグローバル宣言します。詳細については、FX3APIガイドを参照してください。

  1. CyU3PTimerCreate()を使用してタイマを作成します。このAPIは、USB 3.0のエニュメレートのためにCyU3PConnectState(CyTrue, CyTrue)を呼び出した直後に呼び出すことができます。CyU3PTimerCreate()の最後のパラメータ(timerOption)をCYU3P_AUTO_ACTIVATEに設定すると、すぐにタイマが起動します。起動しない場合は、CyU3PTimerStart()を使用してタイマを起動します。これらのAPIの詳細については、FX3 APIガイドを参照してください。

タイマティックのデフォルト値は1ミリ秒です。タイマ作成中のタイムアウトは、USB3.0のエニュメレートがエラーなしで行われるようにするのに十分なはずです。

3.タイマが切れる前にCY_U3P_USB_EVENT_SETCONFイベントが受信されたかどうかを確認します。タイマの期限が切れる前にCY_U3P_USB_EVENT_SETCONF正常に受信されたことは、USB3エニュメレートが成功したことを示しています。この場合、CY_U3P_USB_EVENT_SETCONFイベントを受信したら、CyU3PTimerStop()を使用してタイマを停止します。

4.タイマが切れる前にCY_U3P_USB_EVENT_SETCONFイベントが受信されない場合、CyU3PTimerCreate()の呼び出し中に提供されたコールバック関数が実行されます。これは、USB3のエニュメレートが成功しなかったことを意味します。したがって、コールバック関数内で、次の手順を実行して、USB2.0モードのデバイスをエニュメレートします。

  1. CyU3PConnectState(CyFalse、CyTrue);を使用してUSB接続を無効にします。
  2. CyU3PThreadSleep(100);を使用して、わずかな遅延を提供します。
  3. CyU3PConnectState(CyTrue、CyFalse);を使用してUSB2.0エニュメレートを試みます。

AN75779 – How to Implement an Image Sensor Interface Using EZ-USB FX3 in a USB Video Class (UVC) Fra... に付属するファームウェアは、タイマ動作を実装する際の参考になります。

 

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

9-Feb-2021

Kenshow

View solution in original post

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

Hi, Kenshow-san

Confirm to work this KBA.

Please work to do.

Thanks,

Jenna 

Jenna Jo
0 Likes
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

 

Original KBA:

FX3 does not fall back to USB 2.0 mode when TUSB501 re-drivers are connected with a USB 2.0 cable to...

 

Thanks.

Kenshow

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

 

タイトル: TUSB501リドライバがUSB2.0ケーブルでホストに接続されている場合、FX3USB2.0モードにフォールバックしません - KBA231618

 

バージョン:**

FX3ファームウェアがUSB接続ネゴシエーションに使用する手順については、FX3テクニカルリファレンスマニュアル(TRM)のセクション6.8- USB3.0およびUSB2.0機能調整を参照してください。

テキサス・インスツルメンツTUSB501のデータシートから、TUSB501 デバイスは定期的に Tx ペアのレシーバ検出を行います。SuperSpeed USB レシーバを検出した場合、Rx 終端を有効にし、TUSB501 はりドライブの準備ができています。

したがって、FX3デバイスがリドライバに接続されると、リドライバはFX3をレシーバとして検出し、その終了を有効にします。同様に、FX3もUSB 3.0 PHYをオンにして、USB3.0レシーバの検出を開始します。リドライバは常にアクティブであるため、FX3はリドライバを検出します。リドライバがUSB2.0ケーブルを使用してホストに接続されている場合、FX3デバイスはUSB 3.0エニュメレートパケットを無期限に待機し、USB2.0モードにフォールバックしません。このため、デバイスはUSB3.0モードでもUSB2.0モードでもエニュメレートされません。これは、セクション6.8 - FX3TRMUSB3.0およびUSB2.0機能調整によると、レシーバの検出が成功したため、予想される動作です。

次の手順を実行して、USB 3.0エニュメレートを試行し、失敗した場合はUSB2.0のエニュメレートにフォールバックします。

1.タイマ構造体(CyU3PTimer)をグローバル宣言します。詳細については、FX3APIガイドを参照してください。

  1. CyU3PTimerCreate()を使用してタイマを作成します。このAPIは、USB 3.0のエニュメレートのためにCyU3PConnectState(CyTrue, CyTrue)を呼び出した直後に呼び出すことができます。CyU3PTimerCreate()の最後のパラメータ(timerOption)をCYU3P_AUTO_ACTIVATEに設定すると、すぐにタイマが起動します。起動しない場合は、CyU3PTimerStart()を使用してタイマを起動します。これらのAPIの詳細については、FX3 APIガイドを参照してください。

タイマティックのデフォルト値は1ミリ秒です。タイマ作成中のタイムアウトは、USB3.0のエニュメレートがエラーなしで行われるようにするのに十分なはずです。

3.タイマが切れる前にCY_U3P_USB_EVENT_SETCONFイベントが受信されたかどうかを確認します。タイマの期限が切れる前にCY_U3P_USB_EVENT_SETCONF正常に受信されたことは、USB3エニュメレートが成功したことを示しています。この場合、CY_U3P_USB_EVENT_SETCONFイベントを受信したら、CyU3PTimerStop()を使用してタイマを停止します。

4.タイマが切れる前にCY_U3P_USB_EVENT_SETCONFイベントが受信されない場合、CyU3PTimerCreate()の呼び出し中に提供されたコールバック関数が実行されます。これは、USB3のエニュメレートが成功しなかったことを意味します。したがって、コールバック関数内で、次の手順を実行して、USB2.0モードのデバイスをエニュメレートします。

  1. CyU3PConnectState(CyFalse、CyTrue);を使用してUSB接続を無効にします。
  2. CyU3PThreadSleep(100);を使用して、わずかな遅延を提供します。
  3. CyU3PConnectState(CyTrue、CyFalse);を使用してUSB2.0エニュメレートを試みます。

AN75779 – How to Implement an Image Sensor Interface Using EZ-USB FX3 in a USB Video Class (UVC) Fra... に付属するファームウェアは、タイマ動作を実装する際の参考になります。

 

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

9-Feb-2021

Kenshow

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

Hi, Kenshow-san

TUSB501リドライバがUSB2.0ケーブルでホストに接続されている場合、FX3はUSB2.0モー... - Cypress Developer Community

Thank you for your work.

Your translation has been published as above;

For the rewarding, I will publish new thread to update.

Thanks,

Jenna Jo
0 Likes