Forum: Mikrocontroller und Digitale Elektronik Mehrere I2C an einem ATmega32u4?


von Marcel S. (derschlangen)


Lesenswert?

Hallo und einen guten Abend zusammen

Als blutiger Anfänger habe ich bei meiner Bastelei einen kleinen 
"Zwischenstopp" beim I2C Bus gemacht. Ich würde jetzt gerne 2 IC's per 
I2C an meinen bevorzugten uC anbinden habe jetzt aber im Datenblatt 
gesehen das es nur einen Hardware Eingang für I2C gibt.
Was sind meine Möglichkeiten? Brauche ich noch ein ergänzenden 
Controller oder gibt es tatsächlich wie ich auf einer Internetseite 
gelesen habe programmtechnisch die Möglichkeit jeden Pin als I2C zu 
nutzen?

Ich würde mich freuen wenn mir das mal jemand erläutern kann...

von Eumel (Gast)


Lesenswert?

Welche ICs willst du denn anschließen? Wenn die unterschiedliche I2C 
Adressen haben hängst du die an den selben BUS ansonsten bleibt dir noch 
Software I2C.

von Frank K. (fchk)


Lesenswert?

Marcel Schlangen schrieb:

> Als blutiger Anfänger habe ich bei meiner Bastelei einen kleinen
> "Zwischenstopp" beim I2C Bus gemacht. Ich würde jetzt gerne 2 IC's per
> I2C an meinen bevorzugten uC anbinden habe jetzt aber im Datenblatt
> gesehen das es nur einen Hardware Eingang für I2C gibt.

I2C ist ein Bus, und wie das mit Busses im Allgemeinen so ist, sind die 
für mehrere da. Du kannst also mehrere I2C-Geräte an einen Bus hängen, 
vorausgesetzt, jede I2C-Adresse (das erste Byte nach dem Startsignal) 
ist nur einem Chip zugeordnet. Bei vielen Chips kannst Du über Pins 
verschiedene I2C-Adressen auswählen. Wenn das nicht reicht, gibts 
I2C-Multiplexer, die den Bus in verschiedene Teilsegmente aufteilen, von 
denen immer nur eines aktiv ist. Beispiel PCA9544.

von Marcel S. (derschlangen)


Lesenswert?

Hallo und Danke,
das mit mehreren Geräten am Bus war auch eine große Frage von mir, da es 
aber scheinbar geht ist das wohl die Lösung für mein Problem :-)

Bin ein wenig am probieren bzw. am Gedanken machen und bin dabei auf ein 
paar Sensoren für Umweltdaten (Druckluft etc.) gestoßen die ich gerne 
mal auslesen würde um I2C mal auszuprobieren.

von Uwe (de0508)


Lesenswert?

Hallo,

Und dann fragt man sich nicht, warum eine I2C Device eine Adresse, resp. 
2 hat ?

Wichtig, dass das langsamste I2C Device die Busgeschwingkeit bestimmt.

von Klaus (Gast)


Lesenswert?

Marcel Schlangen schrieb:
> das mit mehreren Geräten am Bus war auch eine große Frage von mir, da es
> aber scheinbar geht ist das wohl die Lösung für mein Problem :-)

Ob scheinbar oder nicht und alle anderen großen Fragen könnte dieses 
Dokument klären
www.nxp.com/documents/user_manual/UM10204.pdf

MfG Klaus

von Marcel S. (derschlangen)


Lesenswert?

Wer ich mal durchlesen, danke für den Link.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.