Hi, ich benutze nicht zum ersten Mal TWI/I²C, aber bisher waren meine Pull-Ups mit 3k3R absolut ausreichend. Dieses Mal habe ich gerade noch erraten können, wo auf dem Oszi die Flanken sein sollten. Die Datenblätter von Attiny 3216 und Attiny n14 sind in Bezug auf TWI-Pull-Ups identisch und geben eine Formel an, mit der ich für 400kHz auf 885R komme. Und mit dem (820R) sah dann auch das Signal wieder gut aus. Aber ist das für ein Pull-Up nicht ungewöhnlich klein? Zumal 4mA pro Pin dann auch "messbarer" sind als die üblichen <1mA. Grüße Peder
Peder schrieb: > Aber ist das für ein Pull-Up nicht ungewöhnlich klein? nein Es ist eher so, daß die im Arduino Umfeld üblichen 10k Ohm schon immer viel zu scheach waren. Lies mal die I2C Spezifikation von Philips.
Dann muss ich mich fast fragen, warum das bisher immer funktioniert hat. Aber danke. Das ist beruhigend zu wissen.
Nemopuk schrieb: > Es ist eher so, daß die im Arduino Umfeld üblichen 10k Ohm schon immer > viel zu scheach waren. Die 10kΩ auf den Slaves im Arduino Umfeld sollen auch eher nicht als Pull-Up für den Bus dienen, sondern sorgen nur für definierte Pegel an den I/Os. Die für dynamische Signale in Abhängigkeit von der kapazitiven Last durch den Bus erforderlichen Ströme müssen schon woanders her kommen. Peder schrieb: > Dann muss ich mich fast fragen, warum das bisher immer funktioniert hat. Kurzer, kapazitätsarmer Bus und eine Portion Glück - aber darauf möchte man sich beim Systemdesign nicht unbedingt verlassen.
:
Bearbeitet durch User
Peder schrieb: > 4mA 3mA muss ein I2C Treiber können! Bei 100kHz mag 1MA reichen, bei 400kHz sollte man schon deutlich weiter an die Grenze gehen.
Peder schrieb: > Dieses Mal habe ich gerade noch > erraten können, wo auf dem Oszi die Flanken sein sollten. > ... > Und mit dem (820R) sah dann auch das Signal wieder gut aus. So schlecht sieht das Signal in dem Screen Shot doch gar nicht aus, nur etwas schwer zu erkennen. Zoom doch einmal etwas rein, so dass man die einzelnen Bits besser sehen kann ;-)
:
Bearbeitet durch User
Peder schrieb: > Dann muss ich mich fast fragen, warum das bisher immer funktioniert hat. Wenn der Master Clock Stretching unterstützt, dann kann der Slave die Clock-Leitung länger auf LOW, wenn er mehr Zeit braucht. Der Master kann nicht unterscheiden, ob spätere HIGH-Pegel von Clock Stretching oder einer langsam steigenden Flanke durch einen zu schwachen Pullup stammt. In Grenzen kompensiert der Master langsamere steigende Flanken in der Annahme es würde sich um Clock Stretching handeln.
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.

