Forum: Mikrocontroller und Digitale Elektronik TWI nur mit Mastern


von Michele B. (luxx) Benutzerseite


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

von Wolfram (Gast)


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!

von christian (Gast)


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

von Michele B. (luxx) Benutzerseite


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

von inoffizieller WM-Rahul (Gast)


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.

von christian (Gast)


Lesenswert?

Vielleicht hilft der Link

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

von Michele B. (luxx) Benutzerseite


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

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.