Mikrocontroller-IO-Pin-Konfiguration I2C

Ich verwende diesen Mikrocontroller S32K142 64 Pin.

Im Referenzhandbuch kann ich viele Pins sehen, von denen ich annehme, dass sie nur Ausgänge sind, die als Eingang / Ausgang erwähnt werden. Beispielsweise ist der Mikrocontroller die Master-I2C-Uhr. In diesem Fall kann die Uhr also nur ausgegeben werden, oder? Aber warum wird es als I/O angegeben?

Geben Sie hier die Bildbeschreibung ein

Antworten (1)

Die meisten I2C-Geräte erlauben Clock-Stretching , wodurch der Slave etwas „verlangsamen“ kann, wenn er die vom Master erzeugte SCLK-Geschwindigkeit nicht einholen kann.

Der Slave tut dies, indem er die SCLK-Leitung nach dem Empfangen/Senden eines Bytes nach unten dehnt (der Master gibt zu diesem Zeitpunkt die Kontrolle über SCLK auf). Der Slave zieht den Takt zurück auf High, wenn er bereit ist, das nächste Byte zu verarbeiten. Der Master erkennt dies und übernimmt wieder die Steuerung von SCLK, und die Kommunikation wird fortgesetzt.

In solchen I2C-Geräten muss SCLK auch eine bidirektionale Leitung sein (Open-Drain/Open-Collector).

Da es sich auch um einen I/O-SCLK-Pin handelt, bietet dies die Flexibilität, das I2C-Gerät entweder als Master/Slave zu konfigurieren.

Außerdem scheint I2C nur eine mögliche Funktion dieses Pins zu sein. Bei den meisten Chips kann ein I2C-fähiger Pin auch als GPIO programmiert werden.
@WoutervanOoijen Ich glaube nicht, dass du Recht hast. Diese Liste sieht aus wie eine Liste aller Funktionen, die als alternative Funktionen für den PTA3-Pin verfügbar sind, und LPI2C0_SCL ist nur eine der alternativen Funktionen für diesen PTA3-Pin.
Ich habe dieses nicht gelesen, aber in den meisten Datenblättern bedeutet "alternativ" "abgesehen von GPIO".