USB3.0 configuration

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

cross mob
kosa_4707851
Level 1
Level 1
5 questions asked 5 replies posted Welcome!

Hello

We are currently using FX3 for USB 3.0 communication.

I want to change the connector to TypeC. Is it possible to use a CCG controller to perform USB3.0 communication with TypeC?

The CCG series does not have a built-in USB3.0 device, so I think it will have a configuration of FX3 + CCG.

Does the CCG series have a built-in 2: 1 switch for Super Speed?

Best Regards

Koji

0 Likes
1 Solution
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello Koji,

No, CCG controller will not be able to act as a USB 3.0 device controller as well. You will have a FX3+CCG configuration as you mentioned if your design requires PD support i.e. more than 15W power.

For selecting the superspeed lines as per the orientation, you will have to use an external multiplexer in case you are using a Type-C receptacle. For a Type-C plug, you can directly connect one pair of superspeed lines to FX3 and the USB host will take care of the orientation detection.

Please refer to the KBA for more details.

Best Regards,
Sananya

View solution in original post

0 Likes
9 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello Koji,

No, CCG controller will not be able to act as a USB 3.0 device controller as well. You will have a FX3+CCG configuration as you mentioned if your design requires PD support i.e. more than 15W power.

For selecting the superspeed lines as per the orientation, you will have to use an external multiplexer in case you are using a Type-C receptacle. For a Type-C plug, you can directly connect one pair of superspeed lines to FX3 and the USB host will take care of the orientation detection.

Please refer to the KBA for more details.

Best Regards,
Sananya

0 Likes

Hello Sananya

Thank you for your quick reply.

I will refer to this design.

I don't need the function of PD power supply.

Thank you for your prompt reply

I will refer to the design.

I don't need the function of PD power supply.

Regarding 2 in KBA, FX3 and external multiplexer are connected by one line.

It looks like there is only output from FX3 to the external multiplexer.

・Does it mean that there is no need to input data because the front and back of the connector are judged by the host?

・I don't want to change the firmware as much as possible. Is it possible to change it only by correcting the comments in the KBA?

Best Regards

Koji

0 Likes

Hello Koji,

If you're using a Type-C receptacle without a CCG controller as shown in the second design in the KBA, you need a GPIO to connect to the multiplexer SEL line after determining the orientation in the FX3 code. For this, you need to modify the FX3 code as shown in the comment below.

Best Regards,

Sananya

0 Likes

hello

It is possible only by connecting SEL and GPIO and modifying the program in the comment.

What does FX3 detect in GPIO to determine if the connector is front or back?

Best Regards

Koji

0 Likes

Hello Koji,

FX3 is responsible for detecting the orientation in the connector and it uses the GPIO as output to communicate that to the multiplexer. So FX3 tries to establish a connection using the first pair of superspeed lines and checks if it fails as shown in the code. CY_U3P_USB_EVENT_SS_COMP_ENTRY indicates that the 3.0 link has entered the compliance state and CY_U3P_USB_EVENT_USB3_LNKFAIL indicates that the 3.0 link between the FX3 and host has failed.

If either of these happen, it changes the GPIO output to select the other pair of superspeed lines through the multiplexer.

Best Regards,

Sananya

0 Likes

Hello

About"FX3 is responsible for detecting the orientation in the connector".

What does FX3 itself detect first to judge the front and back?

Best Regards

Koji

0 Likes

Hello Koji,

As mentioned, FX3 first chooses one pair of superspeed lines from the connector using the MUXSEL GPIO. For example, MUXSEL is set as 0 and TX1+/-, RX1+/- lines are selected and connected to FX3 superspeed lines. FX3 then checks if the connection is proper using the event callback function. If it fails i.e. either of the events mentioned are generated, then it toggles MUXSEL to switch to the other pair of superspeed lines and establish a connection.

Best Regards,

Sananya

0 Likes

Hello Sananya

Thank you for your polite explanation.

For example, if an operational amplifier judgment circuit is inserted between the CC line and the switch, can it be operated without modifying the FX3 firmware?

(Two inputs of CC line to SEL of switch. Nothing is connected to MUXSEL of FX3.)

Best Regards

Koji

0 Likes

Hello Koji,

Yes, you could use a comparator circuit between the cc lines and connect the output to the multiplexer select line. You wouldnt need any firmware modification on FX3 side if you use this method.

Best Regards,

Sananya

0 Likes