© prettyboy80/Shutterstock.com
Mobile Technology
I2C-Bus in Android Things

Gib mir zwei

Um zu verstehen, dass man mit Android Things keine Rakete ins Ziel bringen wird, genügt ein Blick in die Modulationsebene. Das Betriebssystem brilliert nur dann, wenn wir Zeitkritisches an einen hardwaregesteuerten Bus auslagern.

Tam Hanna


Android Things ist in unserem Fall auf das Entgegennehmen der Informationen beschränkt – eine wenig zeitkritische Aufgabe. Im letzten Teil der Serie hatten wir den SPI-Bus vorgestellt und ein kleines Display verwendet. Diese Vorgehensweise war sinnvoll, weil das Display nicht unerheblich Bandbreite konsumiert – die farbige Variante ist übrigens noch in der Post.In der Praxis gibt es immer wieder Situationen, in denen es auf Bandbreite nicht ankommt und man sich stattdessen freut, wenn eine Vielzahl verschiedener Sensoren an ein und demselben Prozessrechner hängt. An diesem Punkt schlägt die Stunde des als I2C bezeichneten Busses, den man in der Literatur aufgrund von Patentstreitigkeiten mit Philips auch unter dem Namen Two Wire Interface (TWI) findet. Damit ist die Rolle des Busses eigentlich auch schon beschrieben: Zwei Leitungen (plus die prinzipiell nicht mitgezählte Masse) verbinden Sensoren nach dem in Abbildung 1 gezeigten Schema mit dem Prozessrechner.Die beiden oben eingezeichneten Widerstände Rp, in der Fachsprache als Pull-ups bezeichnet, haben die Aufgabe, die als SCL (Serial Clock) und SDA (Serial Data) bezeichneten Leitungen leicht in Richtung der Versorgungsspannung zu ziehen. Wer kommunizieren möchte, zieht die Leitungen über einen Transistor auf Masse. Das Hochlimitieren zur Versorgungsspannung erfolgt in I2C prinzipiell selbsttätig (Kasten: „Wo sind sie?“). Wo sind sie? Die verwendeten Schaltungen kommen ohne Pull-up-Widerstände aus. Die Ursache dafür ist, dass die meisten Prozessrechner auf ihren I2C-Pins schon Widerstände mitbringen, die das Hochziehen erledigen. In manchen Fällen kann es allerdings wünschenswert sein, einen kleinen zusätzlichen Widerstand hinzuzufügen, um längere Leitungen effizient betreiben zu können. Dabei dürfen Sie es allerdings nicht übertreiben – denken Sie daran, dass der gesamte Strom ausschließlich von den gerade kommunizierenden ISs abgeleitet werden muss. Die verwendeten Schaltungen kommen ohne Pull-up-Widerstände aus. Die Ursache dafür ist, dass die meisten Prozessrechner auf ihren I2C-Pins schon Widerstände mitbringen, die das Hochziehen erledigen. In manchen Fällen kann es allerdings wünschenswert sein, einen kleinen zusätzlichen Widerstand hinzuzufügen, um längere Leitungen effizient betreiben zu können. Dabei dürfen Sie es allerdings nicht übertreiben – denken Sie daran, dass der gesamte Strom ausschließlich von den gerade kommunizierenden ISs abgeleitet werden muss.Die eigentliche Kommunikat...

Mobile Technology
I2C-Bus in Android Things

Gib mir zwei

Um zu verstehen, dass man mit Android Things keine Rakete ins Ziel bringen wird, genügt ein Blick in die Modulationsebene. Das Betriebssystem brilliert nur dann, wenn wir Zeitkritisches an einen hardwaregesteuerten Bus auslagern.

Tam Hanna


Android Things ist in unserem Fall auf das Entgegennehmen der Informationen beschränkt – eine wenig zeitkritische Aufgabe. Im letzten Teil der Serie hatten wir den SPI-Bus vorgestellt und ein kleines Display verwendet. Diese Vorgehensweise war sinnvoll, weil das Display nicht unerheblich Bandbreite konsumiert – die farbige Variante ist übrigens noch in der Post.In der Praxis gibt es immer wieder Situationen, in denen es auf Bandbreite nicht ankommt und man sich stattdessen freut, wenn eine Vielzahl verschiedener Sensoren an ein und demselben Prozessrechner hängt. An diesem Punkt schlägt die Stunde des als I2C bezeichneten Busses, den man in der Literatur aufgrund von Patentstreitigkeiten mit Philips auch unter dem Namen Two Wire Interface (TWI) findet. Damit ist die Rolle des Busses eigentlich auch schon beschrieben: Zwei Leitungen (plus die prinzipiell nicht mitgezählte Masse) verbinden Sensoren nach dem in Abbildung 1 gezeigten Schema mit dem Prozessrechner.Die beiden oben eingezeichneten Widerstände Rp, in der Fachsprache als Pull-ups bezeichnet, haben die Aufgabe, die als SCL (Serial Clock) und SDA (Serial Data) bezeichneten Leitungen leicht in Richtung der Versorgungsspannung zu ziehen. Wer kommunizieren möchte, zieht die Leitungen über einen Transistor auf Masse. Das Hochlimitieren zur Versorgungsspannung erfolgt in I2C prinzipiell selbsttätig (Kasten: „Wo sind sie?“). Wo sind sie? Die verwendeten Schaltungen kommen ohne Pull-up-Widerstände aus. Die Ursache dafür ist, dass die meisten Prozessrechner auf ihren I2C-Pins schon Widerstände mitbringen, die das Hochziehen erledigen. In manchen Fällen kann es allerdings wünschenswert sein, einen kleinen zusätzlichen Widerstand hinzuzufügen, um längere Leitungen effizient betreiben zu können. Dabei dürfen Sie es allerdings nicht übertreiben – denken Sie daran, dass der gesamte Strom ausschließlich von den gerade kommunizierenden ISs abgeleitet werden muss. Die verwendeten Schaltungen kommen ohne Pull-up-Widerstände aus. Die Ursache dafür ist, dass die meisten Prozessrechner auf ihren I2C-Pins schon Widerstände mitbringen, die das Hochziehen erledigen. In manchen Fällen kann es allerdings wünschenswert sein, einen kleinen zusätzlichen Widerstand hinzuzufügen, um längere Leitungen effizient betreiben zu können. Dabei dürfen Sie es allerdings nicht übertreiben – denken Sie daran, dass der gesamte Strom ausschließlich von den gerade kommunizierenden ISs abgeleitet werden muss.Die eigentliche Kommunikat...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang