I2C mehrere Master, ein Master hat einen internen Pullup, brauche ich einen externen Pullup?

Ich verwende 2 MCUs als 2 I2C-Master, die mit 1 Slave-F-Ram verbunden sind, um die Datenfrequenz zu lesen / zu schreiben. Eine MCU verfügt über interne 12-kOhm-Pull-up-Widerstände an SDA und SCL. Brauche ich also externe Pull-up-Widerstände?

Darf man 2 Sätze Pullup-Widerstände haben?
@jstola, wenn einer von ihnen 12k ist, ja, du kannst andere haben. Aber die internen können wahrscheinlich deaktiviert werden. Oder einfach ignoriert, vielleicht die externen etwas größer machen, um dies zu kompensieren. Wenn es nicht absurderweise Platzmangel gibt, würde ich die externen behalten, da es Dinge wie das Arbeiten mit einer Version des Boards ermöglicht, auf der nur eine der MCUs installiert ist (neue Produkte werden oft als Modifikation von etablierten Produkten prototypisiert).
@jsotola ja, mein aktuelles Design ist bereits extern, aber ich denke, es ist besser, Bom und PCB-Platz zu reduzieren, wenn es könnte
@ChrisStratton danke, darf ich nach Vorschlägen für den Widerstand externer Widerstände fragen?

Antworten (2)

I2C-Pullups sind eine Überlegung auf Systemebene. Sie benötigen nur ein Paar Pullups pro Segment, aber sie sollten unter Berücksichtigung Ihrer Buslastkapazität dimensioniert werden, um sicherzustellen, dass Ihre digitale Signalisierung ausreichend digital ist und Ihre Flankenraten innerhalb der Spezifikationen liegen. Ich beginne immer bei etwa 2,2 kOhm und stelle nach Bedarf ein. 12 kOhm klingt für meinen Geschmack viel zu hoch. Im Allgemeinen ist ein Oszilloskop praktisch, wenn es um die Auswertung des I2C-Signals in Integrität geht.

Ich verstehe, danke. Wenn ich einen externen Widerstand hinzufüge, wird der Gesamtwiderstand verringert oder erhöht?
es wird es reduzieren, weil sie parallel sein werden.

Ja, Sie können mehrere Sätze haben, wenn Ihr Bus lang ist oder eine hohe Kapazität hat, ist es oft sinnvoll, mehr als einen Satz zu haben.

Idealerweise, wenn es sich nicht um eine Anwendung mit geringem Stromverbrauch handelt, lautet eine anständige Faustregel, einen Treiberstrom von 1 mA anzustreben. Wenn es sich beispielsweise um einen 3,3-V-Bus handelt, würde ein 3,3-k-Widerstand gut funktionieren. Es ist eine gute Balance zwischen Stromverbrauch und allgemein guten Ergebnissen.