mehrere I2C-Slaves mit einem PIC

Gast #216856
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
Gast #216857
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
Gast #216858
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
Gast #216859
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?!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren