I use the CY22150 to provide clocks. The IIC bus master is cy68013, the slaver is cy22150. I use the
function EZUSB_WriteI2C(ChipID,length,EepromBuf), which is from lib to write data to IIC bus, but the cy22150 didn't send back ACK, after the 8bits ChipID finished.
EepromBuf = 0X09H
EepromBuf = 0X00H
The slaver device address is 0x69H, so EZUSB_WriteI2C(0x69,2,EepromBuf) .
The attachments are schematic.
And I forgot one thing, in my system, I have a EEPROM chip 24LC128, the sda and clk have pull up resistors 1.5K.
I use the EZUSB_WriteI2C(), EZUSB_ReadI2C() functions to write and read data, I think the IIC bus operation functions are working all right.
the 24LC128 device address is 0xA2.
data address is two bytes.
I was very confused about the iic interface of cy22150.
That problem is that the chip device address is not 0x69H, those distributors modify address before sending cy22150 chip. Those fool didn't tell us that!