Please check whether the USB cable lengths are in accordance with the spec. If you are using longer cable length then I will suggest you to use following API's
>> CyU3PReturnStatus_t CyU3PUsbSetTxSwing (uint32_t swing) - This will increase the Txswing which will helps us to pass through long length cables.
>> CyU3PReturnStatus_t CyU3PUsbSetTxDeemphasis (uint32_t value) - this will control the noise and jitters.
Thanks & Regards
We are using a custom CX3 based board & when connected to PC, the CX3 base board works in USB2 speeds despite being connected to USB 3.0 port in the PC.
This happens only when CX3 based device is connected to the PC via a custom USB cable (micro-B to type-A) used by the customer & works fine (in USB 3.0 speeds) when used with Wurth Electronics' 692904100000 part. We suspect that this behavoir might be due to signal integrity issues arising with the use of custom cable.
We had come across the CyU3PUsbSetTxSwing API to adjust the TX pair swing with the following description.
"Please use this API with caution. The device has only been tested to work properly under the default swing setting of 0.9V (swing value set to 90). This API is expected to be called before calling the CyU3PConnectState() API to enable USB connections. (swing TX Amplitude swing in 10 mV units. Should be less than 1.28V)"
Based on above description ,
1) As there is caution associated with the use of API, Can you please let us know possible issues associated with this adjustment?
2) Are there any tested values of Tx swing over the 0.9V limit which are known to work reliably?
3) We hope that we would be fine with Tx swing adjustment as long as swing is kept below the 1.28V mark.
Please let us know the comments on this.
1) The enumeration issue explained above happens with the 50% of the custom USB cables available with the customer.
2) When same custom cable is used by the customer with another FX3 based custom board. The FX3 board operate as USB 3.0 devices only(no issue observed).
Apart from the use of CyU3PUsbSetTxSwing API, It would be helpful if there are any other recommendations for this issue.
Yes you can change the TX swing upto 1.28 V but increase it step by step in multiples of 10 mV. Also if the channel is noisy you can also play around CyU3PUsbSetTxDeemphasis API.
Also please create a new community thread for this issue.
Thanks & Regards