Liebe alle, ich habe gerade ein Verständnisproblem: Beim ATMega328P steht im entsprechenden Abschnitt 22.1 "up to 400kHz Data Transfer Speed" Weiter unten unter 22.5.2 steht eine Formel, wo ich auf 1MHz SCL-Takt komme, wenn ich ihm mit 16MHz laufen lasse, des Prescaler auf 1 und das Bit rate register auf 0 stelle - was stimmt nun? Hab ich mich verrechnet? http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet_complete.pdf
Hi >Weiter unten unter 22.5.2 steht eine Formel, wo ich auf 1MHz SCL-Takt >komme, wenn ich ihm mit 16MHz laufen lasse, des Prescaler auf 1 und das >Bit rate register auf 0 stelle - was stimmt nun? Hab ich mich >verrechnet? Schon mal S.308 '29.7 Two-wire Serial Interface Characteristics' im Datenblatt gelesen? MfG Spess
Es wäre möglich, an den Prozessor-Pins Signale mit einer höheren Frequenz auszugeben, aber das bedeutet nicht, dass der I²C-Bus dann noch funktionieren würde. Die I²C-Spezifikation verlangt für Fast-mode Plus einen Mindeststrom von 20 ms, was der ATmega nicht mit 0,4 V Spannungsabfall schafft.
spess53 schrieb: > Schon mal S.308 '29.7 Two-wire Serial Interface Characteristics' im > Datenblatt gelesen? Jetzt ja - da steht "meets or exceeds these requirements" - also würde ich schließen - er kann auch schneller. Clemens L. schrieb: > Die I²C-Spezifikation verlangt für Fast-mode Plus einen Mindeststrom von > 20 ms, was der ATmega nicht mit 0,4 V Spannungsabfall schafft. ? was meinst Du genau ?
Für höhere Frequenzen hat sich SPI durchgesetzt. Z.B. der S25FS128SAGMFI100 (16MB Flash) kann bis 133MHz.
Hi >Jetzt ja - da steht "meets or exceeds these requirements" - also würde >ich schließen - er kann auch schneller. Dann addiere mal tLOW und tHIGH. Das macht 1,9µs oder 0,53MHz. TWI hat bei Atmel 'Slew-rate Limited Output Drivers'. Das begrenzt deine maximale Gschindigkeit. MfG Spess
spess53 schrieb: > Dann addiere mal tLOW und tHIGH. Das macht 1,9µs oder 0,53MHz. Ah, jetzt, ja! Das war das fehlende Puzzleteil (zumindest hab ich es erst jetzt verstanden :-) Danke an alle.
Rainer U. schrieb: > Clemens L. schrieb: >> Die I²C-Spezifikation verlangt für Fast-mode Plus einen Mindeststrom von >> 20 ms, was der ATmega nicht mit 0,4 V Spannungsabfall schafft. > > ? was meinst Du genau ? Wenn ein Pin des ATmega328P ein 0-Signal ausgibt und mit 20 mA belastet wird, dann hat er nicht mehr 0 V, sondern typischerweise ca. 0,5 V, im schlechtesten Fall noch mehr.
HI >Wenn ein Pin des ATmega328P ein 0-Signal ausgibt und mit 20 mA belastet >wird, dann hat er nicht mehr 0 V, sondern typischerweise ca. 0,5 V, im >schlechtesten Fall noch mehr. Na und? L wir bis maximal 0,3*VCC erkannt. MfG Spess
spess53 schrieb: > L wir bis maximal 0,3*VCC erkannt. Wenn der ATmega328P mit sich selbst spricht; dann braucht man auch kein I²C. Die I²C-Spezifikation sagt 0,4 V.
Hi >Die I²C-Spezifikation sagt 0,4 V. Nö. In der I2C-Spezifikation http://www.nxp.com/documents/user_manual/UM10204.pdf steht auf S.47 0,3*VCC. MfG Spess
spess53 schrieb: > Dann addiere mal tLOW und tHIGH. Das macht 1,9µs oder 0,53MHz. Das sind die Grenzen, bei denen es auch im worst case für alle sonstigen Randbedingungen (insbesondere kapazitive Buslast) sicher noch funktioniert. Genauso interessant sind aber tr und tof. Zusammen 550ns oder 1,81MHz. DAS stellt die Grenze dar, oberhalb der es sicher NICHT mehr funktioniert. Zwischen diesen beiden Eckwerten existiert ein recht breiter Graubereich, der sich nutzen lässt, wenn die tatsächlichen Randbedingungen des Busses deutlich besser als der spezifizierte worst case sind. > TWI hat bei Atmel 'Slew-rate Limited Output Drivers'. Das begrenzt deine > maximale Gschindigkeit. Genau. Die stecken aber eben nicht in tLow und tHigh, sondern in tr und tof.
spess53 schrieb: >>Die I²C-Spezifikation sagt 0,4 V. > > Nö. In der I2C-Spezifikation steht auf S.47 0,3*VCC. Es geht hier um des Ausgang des ATmega. VOL1max ist 0,4 V.
spess53 schrieb: >>Die I²C-Spezifikation sagt 0,4 V. > > Nö. In der I2C-Spezifikation > > http://www.nxp.com/documents/user_manual/UM10204.pdf > > steht auf S.47 0,3*VCC. Viel Spaß in der rauen Praxis mit einem I2C-Bus bei dem einzelne Teilnehmer mehr als 1 Volt bei low stehen lassen.
Hi >Viel Spaß in der rauen Praxis mit einem I2C-Bus bei dem einzelne >Teilnehmer mehr als 1 Volt bei low stehen lassen. Hast du kongrete Beispiele? Denn bei VCC=5v macht das immerhin 1,5V. MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
