Announcements
IMPORTANT: Cypress Developer Community currently doesn’t allow sign-in to prepare for the upcoming transition. To learn more, check out our announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

Flance_Fang
New Contributor II

Hi. Cypress

current, customer use CYPD3177 to connect with external CPU. the main issue as below:

外部的MCU有两种IIC模式:一种为MCU可以作为主从两种模式的IIC;一种为简易IIC,只能做模式。

1、MCU的的主从模式IIC跟BCR可以正常的跟BCR进行通信,按照文档(EZ-PD_BCR_Host_Processor_Interface_Specification)并且已经调试完成,。

2、当外部的MCU使用另一种简易IIC,此情况下跟BCR无法通信:MCU发送了数据,BCR无ACK回码。我们使用这种IIC与其他器件的TC DCDC芯片进行IIC通信正常,说明此路简易IIC对外进行通信是没有问题的。同时为了排除问题,我们将此IIC更改为普通IO,使用软件模拟IIC功能,然后跟BCR通信,BCR一样无ACK回码。MCU的FAE确认MCU的IIC通信无问题。

3、对于BCR对IIC通信有什么特殊要求我们没有涉及到的,外部硬件配置、内部寄存器配置、IIC配置等。按理说数据正常应该有ACK回码的。或者你帮忙使用一个普通MCU的IO口进行模拟一路IIC试试,能否通信上?

0 Likes
1 Solution
ShifangZ_26
Moderator
Moderator

Hi Flance,

I2C writes begin with a Start bit and the read preamble of 7-bit device address and the Write bit (0). BCR responds

back with a 1-bit ACK/NAK response.

EZ-PD™ BCR uses 0x08 as the 7-bit device address.

As per I2C specification (https://i2c.info/i2c-bus-specification ), the I2C transfer format is below:

pastedImage_0.png

It seems the I2C slave address is not matched. Could you please kindly take a look?

Best Regards,

Lisa

View solution in original post

0 Likes
3 Replies
ShifangZ_26
Moderator
Moderator

Hi Flance,

您这边指的简易I2C是通过GPIO进行模拟I2C吗?

最快速帮助到您的方式是,您这边把I2C的波形发给我们看看。

Best Regards,

Lisa

0 Likes
Flance_Fang
New Contributor II

Hi.Lisa

是的用GPIO进行模拟I2C,BCR是做从模式,,MCU是主模式。如下使用IO口进行模拟IC时的数据波形,发送了地址,BCR没有ACK回码,速率尝试过50K到100K都一样结果。

企业微信_图_157762665(01-13-09-13-50).png

ShifangZ_26
Moderator
Moderator

Hi Flance,

I2C writes begin with a Start bit and the read preamble of 7-bit device address and the Write bit (0). BCR responds

back with a 1-bit ACK/NAK response.

EZ-PD™ BCR uses 0x08 as the 7-bit device address.

As per I2C specification (https://i2c.info/i2c-bus-specification ), the I2C transfer format is below:

pastedImage_0.png

It seems the I2C slave address is not matched. Could you please kindly take a look?

Best Regards,

Lisa

View solution in original post

0 Likes