Maximum I2C Clock Rate

Hopefully someone here will have an answer for this, as it's all quiet on the Due forum....

I need to know the maximum clock rate fo the I2C on a Due I've looked at the libraries and the data sheet, but it's about as clear as mud. I know it defaults to 100K, it supports 400K, but I'm wondering if ti can be pushed to 1MHz. I'm not yet in a position to actually test it to see....

Regards, Ray L.

Use the setClock method.

Looking at the datasheet is seems the low and high periods are adjustable from 4 clocks to 32644 clocks (47ns to 388us, so the combined period from 94ns (10.5MHz)

Mark,

Excellent! Thanks!

Regards, Ray L.

Hi Ray,

If you have some numbers, please let me know.

Might be useful to add to the multispeed I2C scanner - http://forum.arduino.cc/index.php?topic=197360.0 -

I haven’t tried to push it to the limit, as my current wiring is really poor (just jumper wires plugged onto header pins). But it’s working perfectly at 1MHz. I’ll try to go higher when I get my PCBs in later this week.

Regards,
Ray L.

This is interesting ... it would be great to see FM+ speed. There would probably be more limited compatibility as Atmel only lists TWI compatibility with the i2C Standard at Standard Mode (100KHz) and Fast Mode (400KHz) speed.

What is "FM+"?

I suspect few I2C devices would work reliably above 400kHz. I can get away with it because I'm using a high-speed FPGA as the slave, so i can design it to work at any speed I want, signal integrity on the interconnect permitting.

Regards, Ray L.

FM+ is just I2C @ 1MHz Fast Mode Plus - I2C Bus If I can ever get the time, might try the PCA9698 40-bit port expander @ FM+ speed.