Forum: Mikrocontroller und Digitale Elektronik mehrere I2C-Slaves mit einem PIC


von Digitalo (Gast)


Lesenswert?

Hallo,
ich möchte gerne dem PIC 16F877 statt einer Slave Adresse mehrere
vergeben. In dem Projekt möchte ich mehrere I2C Port-ICs PCF8574 in dem
PIC simulieren. Jeder Port des soll eine bestimmte I2C Slave Adresse
bekommen.
Leider lößt der Interrupt nur aus wenn die einprogrammierte Slave
Adresse des PICs mit der Adresse auf dem Bus übereinstimmt, d.h. man
kann dem PIC nur eine Adresse vergeben??!
Hat Jemand schonmal so etwas gemacht?
Es wäre nett wenn ihr  mir ein Paar Ideen postet.
MfG

von dds5 (Gast)


Lesenswert?

Der PIC hört in der Tat nur auf eine Slave Adresse. Man müsste also
immer vorher wissen welche als nächste drankommt und diese dann
einstellen.
Vor einigen Wochen gab es hier schon mal einen Thread zu diesem Thema.

Dieter

von Peter Dannegger (Gast)


Lesenswert?

Bei den AVRs gibt es den ATTiny26 und ATTiny2313.

Damit ist sowas möglich, da die nur ein Schieberegister ohne
Adreßvergleich haben.

Man kriegt also bei jeder Adresse einen Interrupt und muß dann
entscheiden, ob man adressiert sein möchte oder nicht.

Wichtig ist aber bei jeder Art I2C-Slave mit µC, daß sich der Master
auch an die I2C-Norm hält, d.h. den SCL als open-drain treibt und dann
darauf lauscht, ob ihn ein anderer auf Low hält (Clock stretching).


Peter

von Digitalo (Gast)


Lesenswert?

Ich bin leider an den PIC gebunden. Vielleicht kennt wer einen PIC der
einen interrupt auslöst sobald eine Adresse empfangen wurde. Egal
welche. Meine Suche war bisher leider erfolg los.
Gruß

Vielleicht kann man das Problem auch lösen in dem man die Schnittstelle
mit software nachbildet?!

von Michael (Gast)


Lesenswert?

Hi,

sicher geht das per Software.
Am besten zwei Interrupt on change nutzen und dann
per Software auswerten was passiert ist.

von Digitalo (Gast)


Lesenswert?

Hast Du schon mal so etwas gemacht?

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.