www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C Slave


Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info

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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So blöd ist die Frage garnicht.

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


Peter

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter

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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast den master mit dem CodeVision programmiert?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.