OpenCores.org's I2C: Clock Stretching Support

Hi,

I'm currently working with the I2C core supplied by OpenCores.org. I have successfully got the design to work in an FPGA.

However, all of the slave device I used may not have the clock stretching feature implemented. As a result, I am not sure if this I2C core uses the included clock stretching feature correctly. I tried looking at the code, but could not find any code that implies clock stretching logic. The documentation for this core also lacks information regarding the clock stretching. Has anyone used this core with a slave that performed clock stretching?

If you're familiar with this core, my control logic for this core simply sends the instructions that's required for read/write and waits for interrupts, ack/nack, and TIP logic to assert/deassert. Do I need to add logic to detect clock stretching?

Thanks,

-M

Reply to
markus
Loading thread data ...

I am not familiar with the I2C core you are using, but in order to stretch the clock, it will have to pull the clock line low. You should be able to start at the IO signal for the clock, find the output side and trace it back to the controlling logic. If you don't see a signal that drives the clock signal as an output, then they have not implemented clock stretching.

Reply to
rickman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.