cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

New Contributor II

Hello,

I am looking to implement a solution that uses the current sense circuit of CYPD3175 to detect when the current draw reaches a certain threshold. In my design with SC8815, there is an EOC bit that can be set by the IC, but the threshold is 10% of the current limit for the PD profile. I would like the threshold to be higher than this for other reasons pertaining to this project.

Is this possible with the current FW for CYPD3175 without an external current sensing circuit? If so, where can I find the specific function to call for reading the current level?

Thanks,

Jeremy

0 Likes
Reply
1 Solution
Moderator
Moderator

Hi Jeremy,

The API for real time current measurement is:

pastedImage_0.png

It measures the current currently being provided through the VBus supply.(measures current on Rsense)

pd_hal_measure_vbus_cur() function is defined in pdss_mx_hal.c file in the firmware.

Best Regards,

Mallika

Mallika

View solution in original post

0 Likes
Reply
4 Replies
Moderator
Moderator

Hi,

The over-current detection can be done by the CCG3PA firmware.

OCP can be enabled and a threshold can be set which can also be configured using the EZ-PD Configuration Utility.

So you can try disabling OCP in SC8815 and allow only CCG3PA to handle the over-current detection.

Best Regards,

Mallika

Mallika
0 Likes
Reply
New Contributor II

Hi Mallika,

Thank you for the response. However, I am not looking to detect overcurrent, but rather when the current draw drops below a certain threshold (say 50% of the PDO). Essentially what I would need is a function in the cypress FW that can provide the current reading from the CYPD3175 current sensing circuit.

Thank you in advance for the help,

Jeremy

0 Likes
Reply
Moderator
Moderator

Hi Jeremy,

The API for real time current measurement is:

pastedImage_0.png

It measures the current currently being provided through the VBus supply.(measures current on Rsense)

pd_hal_measure_vbus_cur() function is defined in pdss_mx_hal.c file in the firmware.

Best Regards,

Mallika

Mallika

View solution in original post

0 Likes
Reply
Contributor

Hi Jeremy!

Another solution is to just read the current usage from the SC8815 via I2C from CYPD3175. We do that in our design every 0.1s and it works well. Only problem we had was to add support for I2C read from the Host SDK, but ones done it works.

Cheers

Olof

0 Likes
Reply