CCG3PA 45W Car Charger Hard Reset

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

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

cross mob
JeGr_4019896
Level 3
Level 3
First like received

Hello,

I have implemented the reference design for CCG3PA 45W car charger with SC 8815. For the most part, everything works great.

With an iPad Pro at 100% charge, I notice that there is a hard reset initiated by someone and then the iPad will begin charging. This only happens when the iPad is at 100% charge. At 99%, it does not have this problem.

I have attached an image of the CC log from the Car Charger FW implemented with the Car charger reference design HW. Thank you for the help.

Jeremy

pastedImage_0.png

1 Solution

Hi Jeremy,

You could grade your firmware on your hands from SDK3.3 to SDK3.4.

You can get SDK3.4 from the link: https://www.cypress.com/documentation/software-and-drivers/ez-pd-ccgx-power-software-development-kit

All of SouthChip relates API should be under the file southchip_i2c.h and southchip_i2c.c.

pastedImage_1.png

Best Regards,

Lisa

View solution in original post

9 Replies
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hi Jeremy,

1. I would like to recommend you add a log information into the CCG3PA firmware and output the reason of hard reset on CC line. The way is below:

Here is case APP_EVT_HARD_RESET_SENT: under file app.c.

2. May I know what's the battery management in CCG3PA firmware? For example, when charging flow current is very small (<100mA for a log time = the charged battery is almost full.) What's the actions will be taken in the CCG3PA side? You could take a look the original management in the power bank example code project at power_bank.c. 

Best Regards,

Lisa

0 Likes

Hi Lisa,

1. I do not understand what to implement for logging information on the CC line. Could you help me understand this better?

2. The battery management should be the same as the SDK firmware. The power_bank.c file in the car charger FW is identical.

I notice that the FW provided for the Car Charger 45W reference design was created from the SDK 3.3 and the latest version is now 3.4.

I have done some additional testing with CY4532 EVK. If I use the CYPD3171-24LQXQ_cla FW from SDK 3.3, I observe the same hard reset problem. If I use SDK 3.4, the problem goes away. What I suspect is that the was resolved in the transition from 3.3 to 3.4 and the car charger FW I have with the southchip i2c functionality does not incorporate the fix. How can I get the car charger FW to include the changes from 3.3 to 3.4. Thank you for the help!

Jeremy

0 Likes

Here is additional information about what I am observing if this helps in any way. The hard reset appears to consistently happen 600ms after the PS_RDY message is sent. Although, I could not find a timer that was 600ms on the ccg code. Also, before the hard reset, the PD communication is revision 3 and then after it resorts to rev 2.

0 Likes

Hi Jeremy,

Here is additional information about what I am observing if this helps in any way. The hard reset appears to consistently happen 600ms after the PS_RDY message is sent. Although, I could not find a timer that was 600ms on the ccg code. Also, before the hard reset, the PD communication is revision 3 and then after it resorts to rev 2.

Here is my observations :

It may not be because of 600mSec Timer, It could be because of APP_BAD_SINK_TIMEOUT_TIMER_PERIOD which is 1000 mSec which is APP_BAD_SINK_TIMEOUT_TIMER timer, And that will be started at APP_EVT_TYPEC_ATTACH. But this timer should get stopped at APP_EVT_PD_CONTRACT_NEGOTIATION_COMPLETE event.

I just checked the time between Src cap and the Hard reset in the image attached by you. It is some where around 930ms. As it matches APP_BAD_SINK_TIMEOUT_TIMER_PERIOD.  So Hard Reset might sent from "app_bad_sink_timeout_cbk" in SDK 3.3, I hope you are testing CY4532 EVK in provider mode. I think Hard Reset must be initiated from CCG3 Provider and not from iPad, I am not sure Why CCG3PA CY4532 Provider thinks PDC is not successful ?

I think Lisa can comment much on this.

Best Regards,

Prasanna

Hi Prasanna,

Thank you for the information. I found that the issue was indeed caused by the APP_BAD_SINK_TIMEOUT_TIMER. Adding the related code from SDK 3.4 resolved this issue for my project.

Thank you again!

Jeremy

Hi Jeremy,

You could grade your firmware on your hands from SDK3.3 to SDK3.4.

You can get SDK3.4 from the link: https://www.cypress.com/documentation/software-and-drivers/ez-pd-ccgx-power-software-development-kit

All of SouthChip relates API should be under the file southchip_i2c.h and southchip_i2c.c.

pastedImage_1.png

Best Regards,

Lisa

Hi Lisa,

I would like to follow up on this to see if there is any recommendations as to how to resolve this issue. Thank you for the help!

Jeremy

0 Likes

Hi Jeremy!

Maybe the SC8815 enters the EOC-mode (end-of-charge):

pastedImage_1.png

pastedImage_0.png

Can be changed by modifying init-values that you send over I2C to the SC8815.

Cheers

Olof

0 Likes

Hello Olof,

Thank you for the recommendation. I do believe that this is related to the EOC state of the iPad. The system gets into this state when the iPad chooses to renegotiate from a higher PD profile to 5V/3A, meaning it in EOC as stated by SC8815. I tried modifying the init-values to SC8815 without any luck.

However, I believe that it is more related to the handling of this state by the CCG3PA. The reason being that I also see this occur with the CY4532 EVK when using the provided FW from SDK3.3. That board uses SC8802 which is PWM, not i2c. This problem seems to be resolved in SDK3.4 which is out now.

I have been looking through the differences between SDK3.3 and 3.4, but I cannot find anything that is related to the EOC state for the CCG3PA.

Any recommendations?

Thanks,

Jeremy

0 Likes