cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

jingc_3301211
New Contributor II

Hi Guys,

I have created a uvc project for cx3 using normal usb3.0 connector, It works fine.

Then I changed to type c connector, the reference schematic as bellow

FX3 with type-C connector

QQ截图20190416104224.png

and added the following code to select mux

    /* Check the enumeration MuxControl_GPIO to High */

    apiRetStatus = CyU3PConnectState(CyTrue, CyTrue);

      if(CyU3PUsbGetSpeed() != CY_U3P_SUPER_SPEED)

       {

          apiRetStatus = CyU3PConnectState(CyFalse, CyFalse);

          CyU3PDebugPrint(4, "First attempt failed = %d\n", apiRetStatus);

            /* Check in other orientation */

          CyU3PGpioSetValue(0, CyFalse);

          apiRetStatus = CyU3PUsbControlUsb2Support (CyTrue);

          apiRetStatus = CyU3PConnectState(CyTrue, CyTrue);

          if (apiRetStatus != CY_U3P_SUCCESS)

            {

            CyU3PDebugPrint(4, "USB Connect failed, Error code = %d\n", apiRetStatus);

            }

        }

the result is that it only works for one side, the other side is black window( both usb 3.0 detected)

I noticed that the mux pins 13 and 12 are swapped, and also pins 15 and 14 are swapped on the schematic.

is that the reason  it only work for one side?

0 Likes
1 Solution
YiZ_31
Moderator
Moderator

Hi Jimmy,

The USB 3.0 spec allows polarity being swapped on USB 3.0 differential pairs. That won't affect the performance. You shall check if your MUX works fine.

Regards,
Eddie

View solution in original post

0 Likes
1 Reply
YiZ_31
Moderator
Moderator

Hi Jimmy,

The USB 3.0 spec allows polarity being swapped on USB 3.0 differential pairs. That won't affect the performance. You shall check if your MUX works fine.

Regards,
Eddie

View solution in original post

0 Likes