Hinweise für die mündliche Prüfung
Erklärungen anhand von grafischen Darstellungen
Was ist I2C?
I²C (Inter-Integrated Circuit) ist ein weit verbreitetes serielles Kommunikationsprotokoll. Es dient dazu, Daten zwischen Mikrocontrollern und verschiedenen Peripheriegeräten, wie Sensoren, Speichern oder Aktoren auszutauschen.
I²C ist besonders beliebt in Embedded-Systemen und eignet sich gut für Anwendungen, bei denen eine relativ geringe Datenübertragungsrate benötigt wird. Die Übertragungsgeschwindigkeit beträgt bis zu 100 kbit/s.
Über welche Datenleitungen werden zwei Mikrocontroller bei einer I2C Übertragung miteinander verbunden und wozu dienen diese?
I²C benötigt nur zwei Leitungen zur Kommunikation:
- SCL (Serial Clock Line): Taktleitung zur Synchronisation der Datenübertragung
- SDA (Serial Data Line): Datenleitung für den bidirektionalen Datenaustausch
Wie werden I2C Komponenten miteinander verbunden?
I2C Komponenten werden in einer Bus-Topologie verbunden. Mehrere Geräte können an dieselben SDA- und SCL-Leitungen angeschlossen werden.
Erkläre die Master-Slave-Architektur!
Master
Der Master steuert die Kommunikation und gibt den Takt vor. Der Master sendet zunächst die Adresse eines Slaves, mit dem er kommunizieren möchte und das adressierte Gerät antwortet darauf. Ein Master kann gleichzeitig mit mehreren Slaves kommunizieren, indem zu Beginn einer Kommunikation die Adresse des jeweiligen Slave-Geräts angibt.
Slave
Der Slave empfängt Befehle vom Master und antworten auf Anfragen.
Erkläre das Senden von Werten über die I2C Schnittstelle anhand einer Grafik eines Logic Analyzers!
Die Kommunikation erfolgt in sogenannten Frames, die aus Start- und Stop-Bits sowie aus Adress- und Datenbits bestehen.
Der Master initiiert die Übertragung durch ein Start-Bit (grüner Punkt) und sendet dann die Adresse des Slaves (0x40). Anschließend erfolgt die Datenübertragung von drei Bytes.
Worin liegen die Vor- und Nachteile bei Datenübertragung zwischen Mikrocontrollern über die I2C-Schnittstelle?
Vorteile
- Einfache Verkabelung: nur zwei Leitungen für mehrere Geräte
- Geringer Platzbedarf: ideal für kleine Schaltungen
- Flexibilität: Unterstützung von mehreren Slaves an einer Busleitung
Nachteile
- Begrenzte Geschwindigkeit: im Vergleich zu anderen Protokollen wie SPI
- Begrenzte Buslänge: die Gesamtlänge des Busses ist auf wenige Meter beschränkt, abhängig von der Geschwindigkeit