cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD™ Type-C

MiSt_2612701
New Contributor

I am trying to use I2C to read the CYPD3177.  I am using the EZ-PD BCR Host Processor Interface Specification Doc # 002-26784.  In this document, it states to read the BCR, you need the following I2C transaction:

Capture1.PNG

The REG ADDR shown above is a 16-bit address of the register you would like to read according to the document.

I am trying to read address 0x100D, which is the bus voltage register:

Capture3.PNG

My I2C transaction is shown below:

Capture2.PNG

As you can see the device address is properly ACK'ed, then the 16-bit address is properly ACK'ed, but then I do a restart(send the start sequence again), and do a read transaction to the same device address, but here the device NACKs.  What is the reason for the NACK?

Here is a close up view of the restart and NACK:

Capture4.PNG

Also in the document listed above it states, the BCR device can operate in one of two modes, standalone and HPI mode, and certain writeable registers are only available in HPI mode.  Looking at the document and the datasheet it doesn't state how to get the device into HPI mode to perform the write operations.

Thank you.

0 Likes
2 Replies
ShifangZ_26
Moderator
Moderator

Hi ,

Recommend you use Cypress Utility to test the same command and compare the difference between your I2C trace and Cypress Utility I2C trace. Utility could download it on websites:https://www.cypress.com/documentation/software-and-drivers/ez-pd-bcr-hpi-utility 

Your understand is correct. Kindly refer details documentations:

https://www.cypress.com/documentation/software-and-drivers/ez-pd-bcr-host-processor-interface-specif... 

Best Regards,

Lisa

0 Likes
MiSt_2612701
New Contributor

Lisa,

The problem with this answer is that it requires me to purchase a high priced USB-I2C piece of hardware to solve the problem.  I was really hoping that you could look at my waveform and make a determination of the problem. 

Thank you,

0 Likes