cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

X3:データがUSBソケットにコミットされた後でもUSB転送は発生しません– KBA231898 - Community Translated (JA)

JennaJo
Moderator
Moderator

X3:データがUSBソケットにコミットされた後でもUSB転送は発生しません– KBA231898 - Community Translated (JA)

Original KBA: FX3: USB transfers do not occur even after data is committed to USB socket – KBA231898

Translated by: Kenshow

 

タイトル: FX3:データがUSBソケットにコミットされた後でもUSB転送は発生しません– KBA231898

バージョン:  **

FX3 SDK 1.3.4では、CyU3PConnectState() APIを使用してUSB接続を設定する前にUSBソケットに関連付けられたDMAチャネルを作成すると、USBソケットへのデータのコミットに成功してもUSB転送が発生しない場合があります(CyU3PDmaChannelCommitBuffer()またはCyU3PDmaMultiChannelCommitBuffer() APIはCY_U3P_SUCCESSを返します)。シナリオ例を図1と図2に示します。

 

1. USBソケットにコミットされたDMAバッファを示すUARTデバッグプリント

JennaJo_0-1614315718012.png

 

2. USBコントロールセンタからのUSBIN転送が失敗する

JennaJo_1-1614315717516.png

 

ノート:

  1. エラーコード997は、FX3にUSBホストに転送するデータがない場合に発生するタイムアウトエラーです。
  2. FX3 DMAチャネル、DMAバッファ、およびソケットの詳細については、EZ-USBFX3テクニカルリファレンスマニュアルを参照してください。
  3. USBコントロールセンタを使用したFX3へのデータ転送のプログラミングと実行については、AN75705EZ-USBFX3入門を参照してください。

この問題は、FX3 SDKリリースノートに記載されている既知の問題が原因で発生する可能性があり、USB デバイスモードでの接続開始時に USB ソケットに関連付けられた DMA チャンネルの設定が無効になる可能性があることに言及しています。

この問題を回避するには、CyU3PDmaChannelReset()またはCyU3PDma-MultiChannelReset()APIを使用してDMAチャネルをリセットし、各エニュメレートサイクルの後に再度有効にする必要があります。これは、CY_U3P_USB_EVENT_SETCONFイベントが発生したときに実行でき、USBデバイスが正常にエニュメレートされたことを示します。CY_U3P_USB_EVENT_SETCONFイベントの前に、USBソケットに関連付けられたDMAチャネルを使用しないでください。

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Feb 25, 2021 09:02 PM
Updated by:
 
Contributors