Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
My project needs an I2C EEPROM. Rather than use an actual EEPROM chip, I thought I'd just use the PSoC's EZI2C component.
I wired it up as you'd expect, using the special I2C0:SCL and I2C0:SDA pins. Data rate 300kbps, 1 address, Primary slave address 0x50, Sub address size 8, Pin connections Any. The PSoC's Master clock was set to 40MHz. The project is empty except for the EZI2C component and its pins. The main() function does nothing (just an empty loop) after setting up the EZI2C component.
When the external device tries to read the "EEPROM", I can see on my logic analyser that it's not working properly. It still doesn't work with a 50MHz master clock. However, if I set the master clock to 60MHz, it starts to work. Please see the attached images showing the waveforms.
So what is then the difference between the two projects? Just the strange workspace file? Or can you replicate the problem by creating a new workspace, duplicating the schematic and the source code? If yes - can you post the project?