- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have made a PCB with CYUSB3014, when doing test, about 2/3 boards can link to usb3.0 and works very well, I can get 430MB/s use the streamer program with no error.
but about 1/3 boards can only link with usb2.0, only 40MB/s with streamer program.
I have checked the clock, power, sstx/ssrx connections on board, seems all good.
Do you have any idea, how to check this issue?
Thanks a lot.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
The pcap logs attached. you can use < usb.src == "3.6.0" or usb.dst == "3.6.0" > to filter the FX3 transaction out.
1. Use a shorter cable and check for SS enumeration. ===> still fail
2. Use a Dock/HUB/USB Analyzer connected in between the host and the device and check for SS enumeration. ===> yse, SS enumeration is ok when I use a dock. this works for me !!!
3. If you are able to get the logs, please try to check the return value from CyU3PConnectState() and if the CY_U3P_USB_EVENT_USB3_LNKFAIL event is generated when the USB 2.0 is disabled (CyU3PUsbControlUsb2Support(CyFalse)). ===> I will check this later
4. Try to increase the TX swing in the firmware using the CyU3PUsbSetTxSwing() API before the CyU3PConnectState() ===> I have try 100/110/120, all fail.
Thanks a lot.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please double check the firmware (CyU3PConnectState(CyTrue, CyTrue)), cable used (maximum 3 meters), and the port of the PC to which the device is connected to. Please use the same setup for all the boards.
If you are using the same setup and issue is seen only in certain boards, please share your board schematics for review.
Also please let me know if there is USB-Serial device connected to the FX3 UART pins ?
Thanks,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
Thanks for your reply.
I'm using the USBBulkSourceSink.img in AN86947 to test my board. and yes, all test condition are same, same port, same cable(1.2m), same firmware.
I'm using type-c connector, as below. the SEL pin is controlled by a type-c controller, and i have tested the SEL pin, it's working properly.
unfortunately, i left the uart pins unconnected, but you can tell me what information should i take care of, i think i can output these information to the GPIF port.
Thanks a lot!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I understand that the SS coupling caps on the TX lines are placed between the MUX and the FX3 device. This will deteriorate the signal quality.
Please place the same between the Type C connector and MUX, close to the Type-C connector and check for enumeration.
Let me know if this is difficult, I will try to suggest a different method to the test if there is signal quality issues.
Also, please share the USB traces. If you do not have an hardware analyzer, you can use the Wireshark pcap software capture method.
Thanks,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
Yes, the SS coupling caps are placed between the MUX and FX3 device. Please check the USB traces below.
You see, it seems impossible to add those caps on current board. I need another way to confirm if there is signal quality issues.
I'm using bus hound to capture USB packets.
for pass case(success connected in usb3 mode):
for fail case(only link usb2 mode): in this case, when I load img to ram, it takes a while(about 2 or 3 sec) to discover the device
Thanks a lot for your help!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please share the Wireshark pcap logs?
Please try the below mentioned using USBBulkSourceSink firmware present in FX3 SDK and LPM disabled (using the CyU3PUsbLPMDisable() ) on the bad boards:
1. Use a shorter cable and check for SS enumeration.
2. Use a Dock/HUB/USB Analyzer connected in between the host and the device and check for SS enumeration.
3. If you are able to get the logs, please try to check the return value from CyU3PConnectState() and if the CY_U3P_USB_EVENT_USB3_LNKFAIL event is generated when the USB 2.0 is disabled (CyU3PUsbControlUsb2Support(CyFalse)).
4. Try to increase the TX swing in the firmware using the CyU3PUsbSetTxSwing() API before the CyU3PConnectState(). Refer to the API guide and this KBA: API to Increase TX Swing of SSTX line of FX3 – KBA223341
Thanks,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
The pcap logs attached. you can use < usb.src == "3.6.0" or usb.dst == "3.6.0" > to filter the FX3 transaction out.
1. Use a shorter cable and check for SS enumeration. ===> still fail
2. Use a Dock/HUB/USB Analyzer connected in between the host and the device and check for SS enumeration. ===> yse, SS enumeration is ok when I use a dock. this works for me !!!
3. If you are able to get the logs, please try to check the return value from CyU3PConnectState() and if the CY_U3P_USB_EVENT_USB3_LNKFAIL event is generated when the USB 2.0 is disabled (CyU3PUsbControlUsb2Support(CyFalse)). ===> I will check this later
4. Try to increase the TX swing in the firmware using the CyU3PUsbSetTxSwing() API before the CyU3PConnectState() ===> I have try 100/110/120, all fail.
Thanks a lot.