Inhaltsverzeichnis
2. Verkabelungs- und Kommunikationsmethoden
2. Detaillierte Erläuterung der Verkabelungs- und Kommunikationsmethoden
1. Verkabelung
Arduino Mega2560 und MPU9250 kommunizieren über I2C . Die Datenübertragung zwischen dem Host (Arduino) und dem Slave (MPU9250) erfolgt über zwei Leitungen (SCL und SDA) .
Hinweis: SDA ist eine bidirektionale Datenleitung und SCL ist eine Taktleitung.
Darüber hinaus müssen Arduino Mega2560 und MPU9250 an die 5-V-Stromversorgung bzw. GND angeschlossen werden .
2. I2C-Kommunikationsmethode
Der IIC-Bus ist ein serieller Halbduplex-Bus, der Anfang der 1980er Jahre von der Philips Company eingeführt wurde. Wird hauptsächlich für die Kommunikation zwischen Chips mit kurzer Reichweite und geringer Geschwindigkeit verwendet.
Hinweis: Halbduplex bedeutet, dass Daten gesendet und empfangen werden können, jedoch nicht gleichzeitig.
Der IIC-Bus verfügt über zwei bidirektionale Signalleitungen. Eine Datenleitung SDA dient zum Senden und Empfangen von Daten und eine Taktleitung SCL dient zur Synchronisierung der Uhren beider Kommunikationsparteien;
Der IIC-Bus verfügt über eine einfache Hardwarestruktur und niedrige Kosten, sodass er in verschiedenen Bereichen weit verbreitet ist.
Bei der Verkabelung wurden auch die Konzepte von Master und Slave erwähnt . Als nächstes wird der Kommunikationsprozess des IIC-Busses kurz erläutert:
(1) Der Host (Arduino Mega2560) sendet ein Offenbarungssignal, um den Bus zu aktivieren;
(2) Der Master sendet ein Datenbyte, um die Slave-Adresse (Registeradresse) und die Übertragungsrichtung nachfolgender Bytes anzugeben.
(3) Der adressierte Slave sendet als Antwort ein Antwortsignal an den Host.
(4) Der Sender sendet ein Datenbyte;
(5) Der Empfänger sendet als Antwort an den Sender ein Antwortsignal;
(6) ... ...(Schleifenschritte 4, 5);
(n) Nachdem die Kommunikation abgeschlossen ist, sendet der Host ein Stoppsignal, um den Bus freizugeben.
Einzelheiten finden Sie unter (die Erklärung ist relativ klar und sehr anfängerfreundlich): 07 IIC Bus Overview_bilibili_bilibili