
It is interesting for example that 1-Wire is slower again.Īfter extensive reading of the Atmega documentation, and running an experiment, I'm inclined to agree with this. There are probably more subtle reasons.SPI does not wait for any sort of acknowledgement - this must make it able to be designed to be faster.

The reply to a query comes down the same data line, so both ends are constantly reconfiguring inputs as outputs, and then open-drain.This would take time and the receiver needs to be given time to do it. The data line in particular is two-way, that is, after every 8th bit the sender waits for an ACK from the receiver.Since it uses open-drain and pull-up resistors, the transition from low to high is necessarily electrically fairly slow, as it relies on the pull-up (possibly some distance away) to bring the line back to the high state (compared to SPI which drives the line low/high "manually" all the time).But why does it have a slower clock rate?


Are you asking why is I2C so slow? I think the answer basically is that I2C has a slower clock rate.
