Warum verlangt das Datenblatt des TCA8418E, alle Pins mit einem Pullup-Widerstand an Vcc anzuschließen?

Ich versuche, den TCA8418E I2C Controlled Keypad Scan IC mit integriertem ESD-Schutz zu verwenden .

Auf Seite 3 in der Pin-Funktionstabelle heißt es, SDA und SCL mit einem Pullup-Widerstand an Vcc anzuschließen. Muss ich dies tun, wenn ich beabsichtige, die SDA- und SCL-Pins mit einem Mikrocontroller zu verbinden? Wenn ja warum und welcher Wert?

Auch eine kurze Frage zum Reset-Pin (aktiv niedrig): Kann ich ihn direkt an Vcc anschließen? Wenn nicht, woher weiß ich den zu verwendenden Widerstandswert?

Antworten (2)

I2C benötigt Pull-Ups, da es sich um einen bidirektionalen Open-Drain-Bus handelt.

Das Datenblatt enthält einen Link zum TI-Anwendungshinweis SLVA689 zur Berechnung des Pull-Up-Widerstandswerts, wenn Ihr System nicht bereits über Pull-Ups auf dem I2C-Bus verfügt. Dieselben Informationen sind auch in der I2C-Spezifikation enthalten. Trotzdem ist es eine gute Idee, noch einmal zu überprüfen, ob die Pull-up-Widerstandswerte für Ihre Zielgeschwindigkeit und Buskapazität geeignet sind und an welche Spannung die Pull-up-Widerstände angeschlossen sind.

In Bezug auf den Reset-Pin sagt das Datenblatt auch, dass, wenn er nicht verwendet wird, ein Pull-up-Widerstand angeschlossen wird. Etwas anderes wird nicht erwähnt, so dass davon ausgegangen werden kann, dass ein direkter Anschluss an die Versorgungsspannung nicht empfohlen wird. Sie sollten jedoch sorgfältig überlegen, ob Sie es wirklich zunächst ungenutzt lassen möchten, insbesondere wenn Sie nicht sicher sind, ob Ihr System die erforderlichen Anstiegs- und Abfallzeiten der Stromversorgung bereitstellen kann, damit der Power-On-Reset funktioniert.

Wenn Ihre MCU zurückgesetzt wird, während einer laufenden I2C-Kommunikation ein Fehler auftritt und der Busdaten-Pin vom Tastaturscanner-Chip beim Senden von Daten niedrig gehalten wird, kann die MCU die Kommunikation normalerweise nicht fortsetzen, es sei denn, der Bus wird manuell hochgefahren wieder in den Ruhezustand. Normalerweise möchten Sie also den Reset-Pin verwenden.

Der I2C-Bus benötigt irgendwo auf SCL und SDA einen Pull-up und sollte nur einen Satz Pull-ups haben. Wenn sie bereits am Mikrocontroller vorhanden sind, sollten Sie am Tastaturcontroller keine weiteren hinzufügen.

Danke ! Glaubst du, der Reset-Pin braucht auch einen Pullup?