CY3014 bulkin transfer error with CYU3P_USBEP_SS_RESET_EVT

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

cross mob
meyerlw
Level 1
Level 1
5 sign-ins First question asked Welcome!

Hi,

We recently had some problems with CY3014 superspeed communication.

In our design,we create a BULK IN path between FPGA-CY3014 and Android.The firmware used  is based on the SlaveFifoSync example with some small changes(auto dma,dma buffer size 16Kb).IN data is generated by FPGA and transferred to FX3 buffer via GPIF-II,then Android host read data from FX3 buffer via USB3.0 .Android usb test program is based on "libusb".

In our test,BULK IN transmissions sometimes abruptly stop.The stop is random,some time in a few minute,sometime in a few hours.we find that when transfer error occurs, the BULKIN endpoint triggers a CYU3P_USBEP_SS_RESET_EVT event(The endpoint has already triggered several CYU3P_USBEP_SS_RETRY_EVT events before triggering the CYU3P_USBEP_SS_RESET_EVT event),and at this time USB logic analyzer shows that a DP packet is wrong (it should be 1024 bytes, but it is only 558 bytes).

Our problem is very similar to the problem in the link,so we have tried the following two methods in the link:

https://community.infineon.com/t5/USB-superspeed-peripherals/FX3-Superspeed-communication-fails-on-l...

1.Stall the endpoints when CYU3P_USBEP_SS_RESET_EVT;

2.Call CyU3PUsbSetTxSwing(125) to set the Tx amplitude range.

But unfortunately, neither method works.

1.After stall the endpoints when CYU3P_USBEP_SS_RESET_EVT, however, in reality, the endpoint does not receive the CLEAR_FEATURE request from the host, and the endpoint keeps reporting an error(CYU3P_USBEP_SS_SEQERR_EVT).

2.After calling the CyU3PUsbSetTxSwing , it is found that the communication still has problems.

Here is our question:

1.Our design used to be in successfully debugged in the linux system,but now fails in android system.So is CY3014 compatible with Android system?

2.Why did FX3 not receive CLEAR_FEATURE request from Android host after stalling the endpoint, but kept reporting CYU3P_USBEP_SS_SEQERR_EVT errors?Does CLEAR_FEATURE request require Android host to send it actively(such as calling certain functions in host code)?What else can I remedy when a CYU3P_USBEP_SS_RESET_EVT event occurs?

3.It seems that the CyU3PUsbSetTxSwing function is called to improve the USB signal quality, Does CYU3P_USBEP_SS_RESET_EVT event indicate that it must be a USB link signal problem.And in our PCB design, CY3014 and Android host are directly connected on the PCB board(without connectors).Is there a problem with our pcb design?

Any one has an idea about this please give me a help.

Thanks,

Lw

 

 

0 Likes
1 Solution
JiangJing
Moderator
Moderator
Moderator
First like given 250 sign-ins 250 replies posted

Hi,

    1,Yes, you can use Android as the host;

2, You can refer to this link:https://community.infineon.com/t5/Knowledge-Base-Articles/Handling-CYU3P-USBEP-SS-RESET-EVT-event-in...

The clear feature request can be handled in the firmware as done in GPIF to USB example  (SDK path -..\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxgpiftousb) of the SDK. The host application need to be modified such that clear feature request is sent by the host on seeing the stalled endpoint;

3,
Please check the PHY and LINK errors using CyU3PUsbGetErrorCounts call in the thread entry function. The FX3 device keeps track of the number of USB 3.0 PHY and LINK errors encountered during device operation.

View solution in original post

0 Likes
1 Reply
JiangJing
Moderator
Moderator
Moderator
First like given 250 sign-ins 250 replies posted

Hi,

    1,Yes, you can use Android as the host;

2, You can refer to this link:https://community.infineon.com/t5/Knowledge-Base-Articles/Handling-CYU3P-USBEP-SS-RESET-EVT-event-in...

The clear feature request can be handled in the firmware as done in GPIF to USB example  (SDK path -..\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxgpiftousb) of the SDK. The host application need to be modified such that clear feature request is sent by the host on seeing the stalled endpoint;

3,
Please check the PHY and LINK errors using CyU3PUsbGetErrorCounts call in the thread entry function. The FX3 device keeps track of the number of USB 3.0 PHY and LINK errors encountered during device operation.

0 Likes