Die Zeitdauer kannst du dir ja berechnen. Du hast ja die Clock-Frequenz und damit auch, wie viele Bits pro Sekunde gesendet werden.
Adress-Byte + Datenbyte + 2x ACK/NAK + Start + Stop = 20 Bit.
Ich komm da auf 0,2ms bei 100kHz.
Die Zeitdauer kannst du dir ja berechnen. Du hast ja die Clock-Frequenz und damit auch, wie viele Bits pro Sekunde gesendet werden.
Adress-Byte + Datenbyte + 2x ACK/NAK + Start + Stop = 20 Bit.
Ich komm da auf 0,2ms bei 100kHz.
#ifndef MfG
#define MfG
Pardon, sind es nicht 29 bits?
ein Paket-Rahmen:
Start(1) + Slave_add(7) + R/W(1) + A(1) + Data(+ A(1) + DATA(
+ NACK(1) + Stop (1)
dann je nach Datenrate: 100 kBit/s < 400 kBit/s < 3,5 MBit/s
Sprich theoretische Dauer eines Zyklus für ein Datenbyte:
Standard-mode: 29/100000 = 0,290 ms
Fast-mode: 29/400000 = 0,0725 ms
High-Speed-mode: 29/3400000 = 0,008529 ms
Weiss eigentlich jemand wo der High-speed-mode eingesetzt wird?
Der High Speed - Mode ist abhängig von der Hardware, diese bestimmt die Geschwindigkeit der Schnittstelle.
Bei kurzer Betrachtung zum Datasheet eines ATmega 644p kann ich lesen, dass das TWI-Hardwarenterface nur mit max. 400kHz läuft.
Wie es mit einer soft-i2c Version ausschaut weiß ich leider nicht.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Lesezeichen