I have DS1307 RTC with a maximal I2C frequency of 100KHz. I am planning to use MCP23017 that can do 400KHz (max ATMEGA328 can do). Having the added speed will help me flip MCP23017 pins faster. I have a few MCP23017 on route but from calculation, the top speed of setting the pins with 400KHz bus frequency is only about 13KHz.
Say I have 400KHz I2C speed, and I issue a write command with slave address byte + register address byte + data byte + some ack, that is about 30 bytes. So 400KHz/30=13KHz (Is this correct?).
If I have to run at 100KHz, then the top speed is down to 3.3KHz, barely enough for photo gate experiments.
So I wonder if there is any way to run at 100KHz for RTC and then 400KHz for IO extender (probably not?).
Maybe I have to use something like DS1388:
This one does 400KHz but is quite expensive. A DS1307 is only 1/10th of its price if you find the right store (say, dipmicro.com).