I2C Default And Max Clock Rate

I'm doing an FPGA project, which will communicate via I2C. I'd like the highest reliable I2C clock rate I can get. The FPGA is more than capable of running well into the MHz. What is the default, using the I2C library, and how high can I push it by modifying the library?

Regards, Ray L.

  1. If you are modifying the library then you are the judge of “reliable.” You will probably need an oscilloscope to see what is going on and draw limits on “reliability.”

  2. Use SPI. It’s much faster.

You also need to pay attention to the pullup resistors to get the maximum speed out of I2C. See post #5 in Nick Gammon’s excellent discussion on I2C.