I²C-Protokoll I²C-Datenverkehr mit dem Oszilloskop analysieren
Das I²C-Protokoll kommt mit zwei I/O-Verbindungen aus, weshalb es bei Entwicklern von Embedded-Systemen sehr beliebt ist. Kommen mehrere Geräte auf Basis des I²C-Protokolls zum Einsatz, können die Analyse des Datenverkehrs und die Signalauswertung mit einem digitalen Speicheroszilloskop erfolgen.
Anbieter zum Thema

In Embedded-Systemen wird häufig das von Philips Semiconductors entwickelte I²C-(Inter-Integrated-Circuit-)Protokoll verwendet. Im Gegensatz zu anderen Protokollen wie SPI und UART, die meistens mehrere fest zugeordnete I/O-Verbindung benötigen, kommt eine I²C-Kommunikation mit zwei I/O-Verbindungen aus.
Da I/O-Verbindungen in Embedded-Systemen immer knapp bemessen sind und die Entwickler angehalten sind so wenige Anschlüsse wie möglich pro Gerät zu verwenden, wird für die Kommunikation oft das I²C-Protokoll bevorzugt.
Das I²C-Protokoll verstehen
- Standard Modus 100 kHz
- Fast Modus 400 kHz
- Fast Modus-Plus 1 MHz und
- High Speed Modus 3,4 MHz
Das Protokoll besteht aus einem Start-Bit, Adress-Bits, Read/Write-Bit (R/W), Datenbyte, Acknowledge-Bit (ACK), No-Acknowledge-Bit (NACK), Stopp-Bit und Restart-Bit, welches gleich dem Start-Bit ist, dem aber kein Stop-Bit voraus geht.
- Datenbyte: Wird von dem sendenden Gerät übertragen (Master oder Slave)
- Acknowledge-Bit (ACK):Befindet sich bei dem neunten SCL Taktpuls. Das empfangende Gerät sendet das Bit, während es die SDA-Leitung auf Low zieht.
- No-Acknowledge-Bit: Wird gesendet, wenn das empfangende Gerät die SDA Leitung nicht auf Low ziehen kann. Die Übertragung wird beendet wenn ein NACK empfangen wird.
- Stopp-Bit: Wird immer vom Master zur Beendigung der Kommunikation gesendet. Es ist definiert als ein Wechsel der SDA-Leitung von Low nach High während die SCL-Leitung auf High ist.
Fehlersuche beim I²C-Protokoll
Embedded-Entwickler müssen die I²C-Nachrichten verstehen die in deren System hin- und hergeschickt werden. Sie müssen in der Lage sein, anhand der Adresse eines bestimmten Gerätes die Nachrichten, die an dieses Gerät gesendet werden, zu identifizieren, um dann die Nutzdaten/Datenbytes, die zwischen den Geräten gesendet werden, zu analysieren.
(ID:23284390)