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

cross mob
user_4124326
Level 1
Level 1

Hi

While implementing a USB Type-C solution with a FX3 we found KBA218460 Designing FX3™/CX3-Based USB Type-C Products - KBA218460  and have two questions about it:

1. It is written in KBA218460: "by default, the Host provides 5 V, 3 A over Type-C". However, in the USB Type-C Spec R2.0, section 4.6.2.1 it is specified that the USB Type-C source advertises either the default current, 1.5A or 3.0A. So the host doesn't always provide 5V 3A, how is this managed in both the FX3 Type-C Plug Design and the FX3 Type-C Receptacle Design?

2. The FX3 Type-C Receptacle Design uses the PI3USB302-A mux to select the correct pair of USB data lines based on the orientation of the cable. The mux select signal is set by the FX3. USB Type-C Spec section 4.5.1.1 describes how the CC1 and CC2 pin at the receptacle can be used to determine the cable orientation and set the mux accordingly. How is this done in the FX3 firmware, I can't see a connection between the CC pins and the FX3?

Thanks

Gian

0 Likes
1 Solution

Hi Gian,

1.) We have no mechanism to understand the host's current limits in our hardware or software and has to be implemented externally using a PD controller since it can understand the CC terminations.

NOTE: Please don't follow the schematics of the PD controller design from the KBA as it is not correct.


Regards,

Yashwant

View solution in original post

0 Likes
3 Replies
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hi Gian,

The answers to the queries are:

1.) There is no current selection mechanism in the plug an receptacle design based on the schematics in the KBA, it is made to work at 5V and not more than 3A by default. Even if the source advertises the current limits, because of the pull-down on the CC lines, the FX3 Type-C design is supposed to work at the default 5V 3A.

   

2.) Please refer to the following thread: Type C connector enumeration issue .

The FX3 firmware does the following steps to control the switching of the MUXSEL signal:

     A) Disable the USB2 support.

     B) Try to establish USB3 connection using the first USB3 pair.

     C) check for CY_U3P_USB_EVENT_SS_COMP_ENTRY and CY_U3P_USB_EVENT_USB3_LNKFAIL.

          If any of the two event gets triggered, do the following:

               (a)disable the USB PHY by using CyU3PConnectState(CyFalse, CyFalse);

               (b)toggle the mux selection GPIO.

               (c)enable the USB 2.0 support

               (d)Call connectstate API to establish a USB 3.0 connection using the second pair.

     The above thread shows the implementation of mux control in the firmware.

Regards,

Yashwant

0 Likes

Hi Yashwant,

1.) Of course it will work at the 5V 3A. My issue here is that the default current on USB Type-C is not 3A. The default is either 500mA or 900mA. It might also offer 1.5A or 3A, so the KBA should be made to work at 5V and 500mA. It might get more power but that's not guaranteed. The way it currently says "by default, the Host provides 5 V, 3 A" leads to users thinking they can always draw 3A which they can't.

2.) Ok thanks for the explanation.

Regards,

Gian

0 Likes

Hi Gian,

1.) We have no mechanism to understand the host's current limits in our hardware or software and has to be implemented externally using a PD controller since it can understand the CC terminations.

NOTE: Please don't follow the schematics of the PD controller design from the KBA as it is not correct.


Regards,

Yashwant

0 Likes