I am trying to use the EZ I2C Slave component on a CY8C3666 to emulate an I2C EEPROM in my project. However, it is not working.
The symptoms I see is that the master does a Start bit, then 8 clocks, but the 9th clock for the AK bit is missing. Perhaps it's being held low for clock stretching? I don't know, it's hard to tell.
So I tried the following:
* The EZ I2C example project on my CY8C3666 project board. This works fine.
* The EZ I2C example project on my CY8C5566 dev board. This works fine.
* Wiring the I2C Master into the dev board. This works fine.
So I'm sure that all of the components work individually. The only thing I can think that's wrong is the set up of my project; the configuration of the EZI2C component or the code. I have checked my code against the example project, and it looks OK. Also, I am using the I2C0 pins 3 & 4 in all cases.
The only difference I can see between my project and the example project is the EZI2C config window. In the example project, the Pin Connections option is greyed out, even though everything else looks the same. Nothing I do seems to be able to un-grey this option.
I think this is because 'wakeup from sleep' is not supported for your PSoC5 device (only with the upcoming PSoC5 LP), and the 'PinConnection' are only needed for this. (Look at the data sheet for an explanation of these 2 options).
(But if I'm right with that, the 'wakeup from sleep' checkbox should be enabled on the PSoC3 device, which it isn't. But this could also be because your I2C pins are not connected to the right pins)