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

USB EZ-PD™ Type-C Forum Discussions

jasec_4252311
Level 1
Level 1

I have a design with a CCG3 (CYPD3125) and with the following schematic:

ccg3_schematic.png

The only role is to provide power to rechargeable USB devices. I have used the notebook reference firmware with custom configuration. I have tried to connect USB devices but cannot get any power at all. Seems like VBUS is always 0,15V or so.

I looked at the CC1 and CC2 pins and I can see a DC level of around 3.3V with some slight but very distinct ripple of around 150 mV at around 360 Hz (27.3 ms period).

TEK00004.PNG

So then I checked the SWD_DAT pin (pin 15) to see if the level is toggling (LED control) and it does so it seems like the firmware is actually running. I am not sure how to proceed fault searching this. Any ideas?

0 Likes
1 Solution
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi,

It seems you have send multiple PDOs to the sink and the sink choose the PDO it wants. However, your board can only provide 5V.  So please delete the PDOs that your board not capable of in the configuration.

Regards,
Eddie

View solution in original post

0 Likes
13 Replies
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi,

Can you check the voltage level on VBUS_P_CTRL to see if the MOSFET has been turned on?

Regards,
Eddie

0 Likes

Hi Eddie

The voltage is practically 0V on both VBUS_P_CTRL pins.

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi,

So your MOSFET hasn't been turned on at all. Then you can use a sniffer to catch the CC communication log to see why PD contract couldn't been established.

Regards,

Eddie

0 Likes

I have but there is absolutely nothing logged at all.

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Could you capture your CC waveform when nothing is attached?

0 Likes

Hi Eddie and Jakob, joining in here to add a bit more input to Jakobs question.

When running the CCG3 in dual power role, the CC-line toggles nicely up and down as it should. When a device is connected, the connecting cc-line get's pulled down to around 0.7V and it looks like that doesn't trigger the CCG3 to recognize that there is a device connected a turn on the FETs and provide 5V.

Not sure, but it look like maybe it gets not pulled down enough for CCG3 to recognize that a device has been connected. It is very strange that it doesn't get pull-downed all the way. Have tested with multiple USB-C devices, same result.

We even tried to ground CC manually to 0 but it still didn't trigger so we guess the problem is somewhere else.

/Olof

0 Likes

Hi Jakob,

May I know whether you have been changed default firmware as per your hardware or not? Since the VBUS_MON is not follow Cypress CY4531.

Two ways to fix this issue (You can choose one of them as you want to):

1. Cut off VBUS from +5V and wire to VBUS as below.

pastedImage_0.png

2. Firmware change:

a. At file config.h:

/* Enable Internal UVP Comparator to be used as VBUS divider. */

#define VBUS_MON_INTERNAL                           (0u)  >> Lisa: change 1>0;

b. Enable VBUS_MON_P1 on TopDesign.cysch

pastedImage_1.png

c. pin assignment to pin#23 of CCG3 as per your hardware schematic.

pastedImage_2.png

d. Rebuild the firmware project and test it again.

Best Regards,

Lisa

Thanks Lisa, it seems the problem was related to the difference you spotted.

I realized that the notebook firmware example was not suited for our application so I went ahead and took the power adapter firmware for CYPD3135 and rebuilt for CYPD3125. Now it seems that I get some power from the controller but only for a short while (about 700 ms). Then there is a rapid drop to around about 2V and some slow discharge to less than 1V. After about 400 ms the 5V comes back on but is interrupted after 700 ms again, and so on.

So I guess the CYPD3125 detects some kind of fault and shuts off VBUS power?

TEK00005.PNG

I tried analyzing and got this log:

vbus_toggle.png

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi,

It seems you have send multiple PDOs to the sink and the sink choose the PDO it wants. However, your board can only provide 5V.  So please delete the PDOs that your board not capable of in the configuration.

Regards,
Eddie

0 Likes

Of course...

Now it seems to work fine! Thank you very much for your help!

0 Likes

Actually, I thought I had everything solved now. I managed to deliver power to a device connected to my PCB.

Then I went ahead and created 2 additional firmware HEX files with slightly different max current. Then I started programming all my PCBs (I have 4) but none of them worked. Now I have been trying for 4 hours to repeat the same steps I did but still cannot get power again.

It is very odd as I am pretty sure I saved a copy of the working firmware HEX. Now even that one does not work!

Trying the notebook example firmware does work however (toggling CC pins and blinking LED). But I just cannot get it back to work with power adapter firmware.

0 Likes

There seems to be multiple issues.

I switched USB cable and then it works but only for 1 out of 3 PCBs!

0 Likes

It seems I had multiple issues:

1) the USB cable I used has died somehow (I tested it on a laptop + smartphone)

2) the other PCB's had a damaged ESD protection device that short-circuited the CC2 signal

3) the other PCB's had an incorrect 5V supply which produced around 7.5V (which was probably the cause of no. 2)

So now I think I have everything in order.

Thank you everyone for excellent support!

0 Likes