www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TWI nur mit Mastern


Autor: Michele B.. (luxx) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich will mit mehreren AVRs (ca.8 Stck.) ein Art Netzwerk aufbauen. Die
AVRs sollen aber dabei alle mal Master spielen dürfen, d.h. alle
schicken nacheinander ihre aktuellen Daten an die Anderen raus.
Ist da überhaupt möglich?
Oder soll nur einer Master sein, und alle Anderen nacheinander
auffordern ihren Müll an den Master zu senden und der Verteilt ihn
dann?
Wie könnte ich das machen, da nicht immer alle "online" sind dass
sich der als erster "angemeldeter" automatisch als Master schaltet?

luxx

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist da überhaupt möglich?
ja
>Oder soll nur einer Master sein, und alle Anderen nacheinander
>auffordern ihren Müll an den Master zu senden und der Verteilt ihn
>dann?
wäre wahrscheinlich einfacher
>Wie könnte ich das machen, da nicht immer alle "online" sind dass
>sich der als erster "angemeldeter" automatisch als Master schaltet?
ein Master redet wenn er was zu sagen hat und überprüft ob es richtig
gesendet wurde
Hast du Dir schon den TWI-Teil im AVR Datenblatt durchgelesen?
Da steht schon drin wie man sowas macht!

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest ja eine Token Ring Struktur nachempfinden.
- Jeweils der im Besitz des Token befindliche Atmel darf senden.
- nach einer bestimmten kurzen Zeitspanne muss der Token weitergegeben
  werden
- wenn ein Atmel etwas senden möchte, muß er auf den Token warten

Autor: Michele B.. (luxx) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja aber woher kommt das "erste" Token? Weil wenn einer allein im
Netzwerk loslegt, gibt es ja noch kein Token, und wenn dann noch
mehrere dazukommen und kein Token da ist, sendet keiner.

luxx

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TWI = I²C ist multimasterfähig.
Der Master mit dem dominanterem Bit gewinnt die Arbitrierung.
Jetzt muß man sich nur noch überlegen, wie man herausfindet, ob man
gestört wurde, und wann man wieder senden darf.
Eigentlich müssen alle Master grundsätzlich als Slave konfiguriert
werden, und nur wenn sie senden wollen/sollen, zum Master werden.
Durch den Slave-Betrieb kann man dann auch feststellen, ob der Bus
gerade in Benutzung durch einen anderen Master ist.
Dann muß man halt warten, bis der fertig ist.
Das sollte theoretisch funktionieren.

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft der Link

http://de.wikipedia.org/wiki/Token-Ring

Autor: Michele B.. (luxx) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, da hab ich schon nachgesehen, wusste bisher ja gar nicht was token
ring ist.
Naja ich denke das werde ich schon hinbekommen. Danke für die Hilfe!

luxx

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.