Forum: Mikrocontroller und Digitale Elektronik I2C Slave


von Kurt (Gast)


Lesenswert?

Hallo an die AVR Familie

Ich habe eine kleine Frage.
Ich möchte intelligente I2C-Slave Module bauen, die sich im Standard
I2C Bus befinden (wie z.b. PCF8574, 24C02, usw Umgebung).

Die Module sollen z.b. mehrere 10BIT Analogeingänge besitzen,
Phasenanschnittsteuerungen usw.
Die Soll- und Istwerte werden vom/zum Mastercontroller gesendet.

Nun meine eigentliche Frage.
Hat schon jemand die I2C Slave Funktion z.b. im tiny26 bzw Mega8
mit USI bzw. TWI verwendet?
Wenn ja ist es problemlos zu implementieren, oder muss man etwas
bestimmtes beaachten? Bzw. würdet Ihr von der Lösung abraten?


Mein Problem ist, dass ich so rasch als möglich das Layout entwickeln
muss, und erst später Zeit habe mich um die Software zu kümmern.

Für hilfreiche Kommentare wäre ich dankbar.

von peter dannegger (Gast)


Lesenswert?

Wenn der Master sich an den I2C-Standart hält, kein Problem.

D.h. der Master muß warten, wenn der Slave den SCL auf low hält, bis er
den Interrupt abgearbeitet hat.


Dumme I2C-Chips haben dagegen nur einen SCL-Eingang, da kann der Master
losrotzen so schnell er kann.


Peter

von Kurt (Gast)


Lesenswert?

Danke für die Info

Blöde Frage
Hält sich die I2C Lib vom Codevision an den I2C Standard?

von peter dannegger (Gast)


Lesenswert?

So blöd ist die Frage garnicht.

Da ich WINAVR benutze, kann ich sie Dir aber nicht beantworten.


Peter

von Kurt (Gast)


Lesenswert?

Danke Peter

Hast du schon mal den I2C-Slave z.b. mit USI verwendet?
bzw. welche Erfahrungen damit gemacht?

von crazy horse (Gast)


Lesenswert?

Beim Mega8(TWI) hats problemlos funktioniert, beim Tiny2313 (USI) bin
ich grandios gescheitert, habe auch im Netz nicht wirklich was zu
dieser Problematik gefunden, hier kam auch nichts.
Lösung: nur die Start-condition per Interrupt ausgewertet, den Rest per
Software gemacht. War, wie immer, unter Zeitdruck, läuft aber so
problemlos.

von Kurt (Gast)


Lesenswert?

hast den master mit dem CodeVision programmiert?

von crazy horse (Gast)


Lesenswert?

ne, Master war ein Beck SC12. Der hat "nach oben" per TCP/IP
kommuniziert, von da aus per I2C an diversen I/Os. Also nur I2C-slaves.

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.