cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

PaBe_4746231
New Contributor

Hello,

We are developing a USB-A and USB-C charger around the CYPD3175. The charger will be located in area where the ambient temperature as the potential to be high by moment. In order to help the internal power electronics to stay within a limited temperature, we are planning to control the charging current available. Our USB charger only supplies 5V on USB-A and C with a limitation of 30W total. 

We can control the PD contract at runtime to reduce the current drawn from the charging device on USB-C, but it looks like for none-PD devices, the only way to reduce the current without interrupting the USB port power is to disable high current charging modes such as Apple 2.4A, QC, AFC and keep the BC1.2 active to limit at 1.5A. Is my observation is right? 

Then how can we change charge mode during runtime?

Thanks,

Patrick

0 Likes
1 Solution
ShifangZ_26
Moderator
Moderator

Hi Patrick,

1. Your understanding is correct. 

2. If your question is based on CCGx Power SDK3.5 (https://www.cypress.com/documentation/software-and-drivers/ez-pd-ccgx-power-software-development-kit ), the Mask you can change is configuration table:

(1) Read back config:

const chg_cfg_params_t *bc_get_config(uint8_t cport)

(2) Set the configure as you want to.

ccg_status_t bc_set_config(uint8_t cport, chg_cfg_params_t *chg_cfg)

Meanwhile, you also need enable Marco Define: LEGACY_DYN_CFG_ENABLE

 

Best Regards,

Lisa

 

 

Best Regards,

Lisa

View solution in original post

0 Likes
1 Reply
ShifangZ_26
Moderator
Moderator

Hi Patrick,

1. Your understanding is correct. 

2. If your question is based on CCGx Power SDK3.5 (https://www.cypress.com/documentation/software-and-drivers/ez-pd-ccgx-power-software-development-kit ), the Mask you can change is configuration table:

(1) Read back config:

const chg_cfg_params_t *bc_get_config(uint8_t cport)

(2) Set the configure as you want to.

ccg_status_t bc_set_config(uint8_t cport, chg_cfg_params_t *chg_cfg)

Meanwhile, you also need enable Marco Define: LEGACY_DYN_CFG_ENABLE

 

Best Regards,

Lisa

 

 

Best Regards,

Lisa

View solution in original post

0 Likes