Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

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

cross mob
Ankitvats
Level 3
Level 3
50 sign-ins 10 questions asked First like received

Having the FPGA connected the FX3. And the data transaction happened between the FPGA and Host-app  using the bulk endpoints through Auto- DMA channels .

For this  I am using the

  1 )
xferdata(buffer , length )  for register read/write
2)
for bulk transfer 
xferdata( )  having 4 arguments like  XferData(PUCHAR buf, LONG &bufLen, CCyIsoPktInfo* pktInfos, bool pktMode);

 

Ankitvats_0-1710325837971.png

1 )   how to debug this issue ??
And also find the api  XferData () with 2, 3 and 4 arguments


having  2 arguments and also with 4 arguments 

USBDevice->BulkOutEndPt->XferData(buf, length);   

bool XferData(PUCHAR buf, LONG &len, CCyIsoPktInfo* pktInfos = NULL);
bool XferData(PUCHAR buf, LONG &bufLen, CCyIsoPktInfo* pktInfos, bool pktMode);
2 ) So whats the difference between them ?? 

I read the multiple threads but  not able to understand the USB interface working and how to debug 
https://community.infineon.com/t5/Knowledge-Base-Articles/FX3-FX2LP-XferData-API-Usage-KBA226200/ta-...
Solved: How to handle CY_U3P_USB_SC_SET_FEATURE and CY_U3P... - Infineon Developer Community

Please help me in understanding the USB interface and in how to Debug .

0 Likes
11 Replies
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

1) Please share the UART debug prints along with the complete wireshark traces. The UART debug prints should have the size of data received from the FPGA. This can be used to verify if FX3 always commits full buffers to the USB host.

2) Kindly let us know if a custom host application is used for capturing the data from the FX3 device. If yes, then please try using the default streamer application that comes along with FX3 SDK and let us know if you still face the same issue. 

0 Likes

Hi, 

1)  Our Hardware is not supporting  the UART interface. And please find the Wireshark traces in Drive link
https://drive.google.com/drive/folders/15Avw6fmHCBd9dLwEtsyBFg5ag5npcOHg?usp=sharing
2) Yes , custom application is used but streamer application was not detecting my Hardware enumerated with different vendor Id`s 
how to use this streamer application ?

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

>> Please try using the streamer application. You can find it in the FX3 SDK here: https://www.infineon.com/cms/en/design-support/tools/sdk/usb-controllers-sdk/ez-usb-fx3-software-dev...

Please let me know to which driver your device is bound to and is nothing highlighted on the streamer app when you open it?

Regards,

Mallika

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

>> Please try using the streamer application. You can find it in the FX3 SDK here: https://www.infineon.com/cms/en/design-support/tools/sdk/usb-controllers-sdk/ez-usb-fx3-software-dev...

Please let me know to which driver your device is bound to and is nothing highlighted on the streamer app when you open it?

Regards,

Mallika

0 Likes

Hi,
I run the Streamer application from here 
>> C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\cpp\streamer\x86\Release

Ankitvats_1-1711013062897.png

 

check once for Driver.



0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

Please bind the driver present in the following path: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin

FX3 SDK: https://www.infineon.com/cms/en/design-support/tools/sdk/usb-controllers-sdk/ez-usb-fx3-software-dev...

Regards,

Mallika

0 Likes

Hi ,
I run the streamer application . On bulk-in endpoint 0x81 , packet transfer is always failing.

Ankitvats_0-1711524491141.png

Control-center was also failed with error 997.

But not bulk-out endpoints is Working Fine.
From Firmware Side : USB_Call_back_functions  Handling the standard request 

Ankitvats_1-1711525183364.png

Ankitvats_3-1711525467237.png

 

After that  Create a DMA AUTO channel for P2U transfer and U2P .

 

 

So what to do next??

0 Likes
lock attach
Attachments are accessible only for community members.
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

Please send 0 byte packet. Kindly check the attached screenshot.

Regards,

Mallika

0 Likes

Hi, 
I send the 0 byte packet successfully .  And  also able to send on Target -> device , endpoints , inferace and other successfully.

Zero_packet_transfer.PNG

Streamer still failing on endpoint 0x81. 

Ankitvats_0-1712041599428.png

With last URB Error  = 0xC0010000

Internal FIFO of FX3 is getting Full after bulk-transfer and FLAGA, FLAGB, FLAGC, FLAGD all are stuck at 1 in first bulk read operation

Now what to do next  to avoid URB_FUNCTION_ABORT_PIPE error.??

0 Likes
0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

You can check the app note mentioned by you and take reference from it to develop your code. What all changes are present in your code as compared to the default code?

Error code: 997 refers to a timeout error. This can occur if the DMA buffer associated with the DMA socket corresponding to EP1 IN (i.e 0x81) is empty.

Kindly confirm that the FPGA has received the data that was sent to the endpoint 0x01 from the USB host. If yes, then please also confirm that the data is looped back properly to FX3's GPIF II interface by the FPGA.

Is the BULK IN transfer always failing?

Can you register callbacks for these and enable notifications for PROD and CONS events, and then get UART debig prints?

Regards,

Mallika

0 Likes