Kommt drauf an, was man haben will...
Die 400kHz beim IIC ist die Frequenz von SCL. Um ein Byte zu senden ist man dann bei maximal 50kHz. Für 1 Byte vom Slave abzufragen kann man 4 Bytes Transfer rechnen.
SlaveAdresse - DatenAdresse - SlaveAdresse - Datum
Wobei das günstiger wird, wenn man mehrere Bytes abfragt. Damit ist man bei rund 12 kb/s bzw 80µs pro Transfer.
Mit SPI kommt SCK mit 8MHz rüber bei 16MHz MCU-Takt. AVR als SPI-Sklave verkraftet aber leider nicht so viel, da wären es nur 4MHz. Das wär gegenüber IIC schon mal Faktor 10.
Wobei die Software im SPI-Sklaven fix genug sein muss, sonst verpasst man was. Beim IIC mit TWI kann das nicht passieren, weil der Sklave den Bus bremsen darf via SCL-Stretch.
Lesezeichen