Darf die I2C-Übertragung gestoppt und wiederhergestellt werden?

Darf die I2C-Übertragung gestoppt und wiederhergestellt werden? Ich möchte es in verschiedenen Übertragungsperioden stoppen und dann nach beispielsweise 500 ms den Zustand wiederherstellen, in dem es gestoppt wurde. Ich denke darüber nach, SCL-Übergänge zu aktivieren und zu deaktivieren. Wenn es erlaubt ist, ist es eine schlechte Praxis?

Beim Debuggen der I2C-Kommunikation passiert dies versehentlich und hat mir Kopfschmerzen bereitet. Nicht alle Geräte sind besonders gut darin, willkürliche Phasen des I2C-Takts unbegrenzt zu dehnen. Ich habe schnell gelernt, immer so zu entwerfen, dass Uhren ohne Startbedingung generiert werden, um die Kontrolle nach einem Reset wiederherzustellen, was hilft, es sei denn, ein Slave ist mit SCLbestätigt und niedrig gehalten abgestürzt. Normalerweise gibt es keine Erholung von diesem Zustand. Wenn Sie eine zuverlässige Wiederherstellung auf einem Watchdog benötigen, achten Sie auf solche Geräte.

Antworten (2)

Die minimale Busgeschwindigkeit für alle I 2 C-Modi beträgt 0 Hz. Dies bedeutet, dass es in der I 2 C-Spezifikation gültig ist, das Takten des Takts zu stoppen (statischer Betrieb).

Dies bedeutet jedoch nicht, dass Slaves auch den statischen Betrieb unterstützen müssen; Sie können interne Zeitüberschreitungen haben, die vergehen können, bevor die Kommunikation wieder aufgenommen wird. Überprüfen Sie immer das Datenblatt aller I 2 C-Slave-Geräte, um sicherzustellen, dass sie den statischen Betrieb unterstützen.

Im Datenblatt ist nur die maximale Frequenz angegeben. Die Mindestfrequenz bleibt leer. Glaubst du, ich kann es interpretieren, dass das Divce den statischen Betrieb unterstützt?
Sie müssen das spezifische Verhalten des Geräts überprüfen. UM10204 spezifiziert 0 Hz, aber das ist keine Garantie pro Gerät.

Ich denke, jeder I2C muss aufgrund der Taktdehnung ein vollständig statisches Design sein.

BEARBEITEN:

Clock-Stretching ist auch für Master erlaubt. Außerdem spielt es keine Rolle, wer es verursacht hat, sowohl der Herr als auch der Sklave müssen richtig damit umgehen. 5 Stunden sind auch nicht vertretbar - aber noch im Rahmen der Spezifikation.

Abgesehen davon, dass die Taktdehnung von Slave-Geräten durchgeführt wird und 500 ms unter den meisten Bedingungen etwas übertrieben sind.