Gibt es einen bewährten Ansatz zum Herunterfahren von Peripheriegeräten (SPI, I2C, UART), die viel Strom verbrauchen?

Ich versuche, den Stromverbrauch eines Systems zu begrenzen, das eine Reihe von Sensoren und Transceivern auf SPI-, I2C- und UART-Bussen verwendet. Ich kann die verwendeten Sensoren nicht einfach entwerfen, daher ist die Auswahl von Geräten mit expliziten Abschaltmodi oder niedrigem Ruhestrom leider keine Option. Einige der Geräte (z. B. ein ESP8266 ) bieten Energiesparmodi, die ausreichend sind, andere jedoch nicht.

Die Funktionen der Geräte sind vielfältig: Spannungs-/Strom-/Leistungsmessung, Temperatur- und Feuchtigkeitsmessung, MEMS, Transceiver.

In einer Frage zu nicht mit Strom versorgten I2C-Geräten verstehe ich, dass es aufgrund möglicher parasitärer Effekte auf den Bus einige Schwierigkeiten gibt, diese Geräte vollständig auszuschalten.

Eine Option, die ich mir angesehen habe, besteht darin, einen bidirektionalen galvanischen Isolator am SDA-Pin jedes I2C-Geräts einzusetzen, das ich ausschalten möchte, obwohl ich Bedenken hinsichtlich der Ausbreitungsverzögerung habe - müsste ich den Taktstift über einen anderen Kanal treiben, um eine Verzögerungsanpassung sicherzustellen ? Auch dies könnte schnell teuer werden, da die Isolator-ICs nicht die billigsten ICs sind.

Dies lässt mich immer noch ohne viele Informationen über mögliche parasitäre Auswirkungen auf SPI- und UART-Busse von nicht mit Strom versorgten Geräten. Haben diese ähnliche Probleme? Ich bin mir auch nicht sicher, wie ich das Gerät am besten von der Stromversorgung trennen kann. Ist ein einzelner N-Kanal-MOSFET in Reihe mit dem Vcc-Pin (oder einem gleichwertigen Pin) des Geräts angemessen?

Versuchen Sie, nach FET-Busschaltern zu suchen. Es gibt einige mit sehr geringer Standby-Leistung. Wenn sie aktiviert sind, verbinden sie direkt die Ein- und Ausgänge. Wenn deaktiviert, besteht eine hohe Impedanz zwischen Eingang und Ausgang.

Antworten (2)

Ich würde einen analogen Multiplexer wie unten gezeigt verwenden:

Verwenden eines analogen MPX zum Isolieren eines Geräts

Verwenden Sie die Select-Leitung, um die Master-Seite (links) mit dem Gerät (rechts) zu verbinden, wenn es eingeschaltet ist; Wählen Sie die Dummy-Leitungen (die nirgendwo hingehen können) aus, um eine Verbindung zum Master herzustellen, und schalten Sie dann das Gerät aus.

Der Multiplexer sorgt für Isolation.

Das Gerät benötigt möglicherweise einen Pullup (hoher Wert, er ist aus keinem Grund vorhanden, außer um einen gültigen Pegel auf die Pins zu legen) auf SDA und SCL.

Ausgeschaltete Geräte mit SDA und SCL, die an eine eingeschaltete Stromschiene gezogen sind, lecken Strom zu den SDA- und SCL-Pins des ausgeschalteten Geräts, sodass Sie sie isolieren müssen.

Ich würde einen analogen Schalter verwenden, um die I2C-Leitungen zum Gerät zu isolieren, bevor ich es ausschalte. Sie benötigen Spannungsschienen (mindestens 2 hier, eine für den Master und eine für das Gerät) mit demselben Spannungspegel, um die Logikkompatibilität zwischen Gerät und Master aufrechtzuerhalten.