Ich versuche, dieses I2C-LCD-Display mit einem ATxmega16A4U- Mikrocontroller zu betreiben .
Beide Geräte arbeiten mit I2C-Taktfrequenzen bis zu 400 kHz. Die beiden Geräte sind die einzigen Geräte am I2C-Bus.
Das Berechnen der Berechnungen für die Pull-up-Widerstandsgrenzen ergibt jedoch einige ziemlich merkwürdige Werte.
Berechnung des minimalen I2C-Pullup-Widerstandswerts:
In den uC-Datenblättern finden Sie auf Seite 92 die maximale Pin-Eingangskapazität von 10 pF.
Für das LCD hat es jedoch auf Seite 8 etwas, das Capacitive load represent by each bus line
als Cb bezeichnet wird, und ist bei einem Maximalwert von 400 pF aufgeführt. Ich gehe davon aus, dass ich diesen Wert nur zur Eingangskapazität von 10 pF uC addieren sollte, aber dies scheint sehr hoch zu sein und die Berechnungen sind wackelig.
Wenn ich zum Beispiel versuche, den maximalen Pullup-Widerstandswert für einen 400-kHz-Takt zu berechnen:
Interpretiere ich das LCD-Datenblatt falsch? Offensichtlich kann der maximal zulässige Pullup-Widerstandswert nicht kleiner als der minimal zulässige Wert sein.
Wenn ich eine maximale Nettobuskapazität von 400 pF annehme, erhalte ich ebenfalls:
immer noch unter dem maximal zulässigen Wert.
Ihre Berechnung macht Sinn. Eine ähnliche Berechnung findet sich in diesem TI-App-Hinweis (Abschnitt 4.1) . Beachten Sie, dass sie V cc = 1,8 V zur Berechnung von R min verwenden .
Es ist denkbar, dass C b die maximale Buskapazität ist, mit der das LCD arbeiten kann, und nicht die Kapazität, die das LCD dem Bus hinzufügt. Sie können die Kapazität der I 2 C-Eingänge testen, indem Sie deren RC-Konstante messen. Dies würde die Überprüfung der geistigen Gesundheit in der Größenordnung ermöglichen.
quelle