6 Replies Latest reply on Aug 26, 2020 7:12 AM by XuWa_4521076

    CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0

    XuWa_4521076

      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.

        • 1. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
          YatheeshK_36

          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

          • 2. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
            XuWa_4521076

            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.

            type-c.jpg

             

            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!

            • 3. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
              YatheeshK_36

              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

              • 4. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
                XuWa_4521076

                Hi Yatheesh,

                 

                Yes, the SS coupling caps are placed between the MUX and FX3 device. Please check the USB traces below.

                usb_ss_trace.jpg

                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):

                cap_pass_3.0.png

                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

                cap_fail_2.0.png

                 

                Thanks a lot for your help!

                • 5. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
                  YatheeshK_36

                  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

                  • 6. Re: CYUSB3014, some boards can't link to usb3.0, down mode to usb2.0
                    XuWa_4521076

                    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.