Hub erlaubt Anschluss mehrerer I²C-Geräte mit gleicher Adresse am selben Bus
I²C-Displays und Sensoren haben oft nur eine Adresse, was die Verwendung mehrerer gleicher Teile an einem Bus ausschließt. Mit diesem Hub geht es doch.
- Heinz Behling
Der I2C-Bus hat den Vorteil, dass man mehrere Sensoren, Displays oder andere Komponenten über nur zwei Datenleitungen mit einem Mikrocomputer verbinden kann. Voraussetzung ist aber, dass die Komponenten unterschiedliche Bus-Adressen besitzen. Meist sind die aber fest eingestellt, sodass beispielsweise alle Displays gleichen Typs auch dieselbe Adresse verwenden. Folge: Entweder darf nur eines dieser Displays verwendet werden oder man braucht für jedes einen eigenen I2C-Bus.
Der I2C-Hub PAHub2 von M5Stack umgeht dieses Problem. Der darin arbeitende Chip vom Typ PCA9548APW kommuniziert mit einem Mikrocontroller über den I2C-Bus. Auf der anderen Seite steuert er sechs weitere I2C-Anschlüsse auf der kleinen Hub-Platine, an die beliebige Geräte auch mit gleichen Adressen angeschlossen werden dürfen, ohne sich gegenseitig zu beeinträchtigen.
Bis zu 48 Geräte
Die Stromversorgung erfolgt über den Bus vom Mikrocontroller aus. Der Hub selbst hört auf die hexadezimale Adresse 70. Die kann aber mithilfe dreier Lötbrücken auf 71 bis 77 geändert werden, sodass auch der Betrieb mehrerer Hubs am selben Bus möglich ist. So wären maximal bis zu 48 I2C-Geräte gleicher Adresse denkbar.
Die am Hub angeschlossenen Geräte müssen vom Programm her dann mit der Adresse des Hubs und einer Kanalnummer von 0 bis 5 (entspricht dem Anschluss am Hub) adressiert werden. Auf Github stellt der Hersteller dazu ein kleines Programmbeispiel zur Verfügung, das die Vorgehensweise erklärt. Der Hub (Online-Preis ca. 10 Euro) wird mit einem vierpoligen Anschlusskabel in einem Lego-kompatiblen Gehäuse geliefert.
(hgb)