mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IR Kommunikation mit mehreren Stationen


Autor: Cheng (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus!

Ich habe folgendes Problem:

Eine IR Kommunikation zwischen 2 Stationen ist ja mit etwas aufwand 
recht schnell erledigt. Wie sieht es aber aus, wenn ich mehr als 2 
Stationen verbinden möchte? Wie verhindere ich da Datensalat? Mir geht 
es weniger um eine fertige Lösung (die werde ich dann selber 
ausarbeiten, keine Sorge).

Mir geht es eher um Konzepte und Lösungswege. Fachbegriffe und auch die 
Mamen der Konzepte (falls es etablierte sind) würden mir auch sehr 
weiter helfen, da ich ohne diese nur sehr schwer nach weiteren Infos 
googlen/suchen kann.



Die Anzahl der Stationen ist variabel (soll heißen sie ist nicht bekannt 
und kann sich im Betrieb verändern) es sollten aber nicht meh als 10 
sein. Es werden auch nicht kontinuierlich Daten gesendet, sondern nur 
dann, wenn ein bestimmtes Ereignis stattfindet werden Daten übertragen 
und sollten dann auch von allen Stationen empfangen werden können.


Ich danke im vorraus für Mithilfe!

Cheng

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehen sich die Stationen untereinander, oder müssen die Daten 
möglicherweise durch mehrere hindurch geleitet werden?

Autor: Cheng (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist davon auszugehen das sie sich nicht gegenseitig sehen können. Wie 
würde man den das ganze lösen wenn sich die Stationen doch gegenseitig 
sehen können?

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
vorausgesehen sie sehen sich, könntest du erst eine Präambel schicken 
(ein Byte , das deine gewünschte Station identifiziert).
Und anschliessend die Daten.
Abschliessend wartet der Sender auf ein Acknowledgement(wieder ne 
Präambel und Bestätigungsbyte/s deiner Empfangsstation).
Falls kein Ack kommt nochmal senden, usw.

Gruss

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso falls sie sich nit sehen können, die Stationen, vergiss es mit IR.
Dann nimm lieber Funk,z.B. 433Mhz.
Gibt hier im Forum reichlich Infos zu den Funkmodulen von Pollin 
Beispielsweise.

Gruss

Autor: Cheng (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe nur nicht, wie ich verhindern kann das gleichzeitig Daten 
gesendet werden. Ob das jetzt Funk ist oder IR ist denke ich erstmal 
nebensache.

Die Daten werden ja immer dann gesendet, wenn ein Ereigniss von den 
Stationen registriert wird. Wenn jetzt aber 2 (oder mehr) Stationen fast 
zeitgleich ein Ereigniss melden möchten, dann krieg ich doch glitches 
herein oder nicht?

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
deswegen ja die Acknowledgements, die dem Sender sagen, das der 
Empfänger was sinnvolles empfangen hat. Ansonsten sendet der Sender so 
lange bis er eins bekommt. Natürlich musst du darauf achten , das wenn 
das Ack nit empfangen wurde und der Sender wieder sendet, die 
Empfangsstation das nit wieder als neues Ereignis erkennt. Deswegen 
würde mit der Präambel und den Daten noch ein Byte mitschicken, das 
hochzählt und dem Empfänger zeigt das es noch das gleiche Ereignis ist, 
nur nochmals gesendet wurde und auf eine Bestätigung wartet.

Gruss

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja vor dem Senden erstmal gucken ob gerade eine Übertragung läuft. 
Wenn nein, dann senden. Wenn ja, dann solange mitlesen bis die 
Übertragung beendet ist (Daten können verworfen werden). Und dann noch 
etwas warten (zufällige Wartezeit?), wenn dann immernoch frei ist, dann 
senden.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim RS485-Multimaster-Bus (gilt auch für CAN) hören die Teilnehmer 
immer auf dem Bus mit.
Wenn "längere Zeit" nichts auf dem Bus los ist, werden die Daten auf den 
Weg geschickt. Dann sind alle anderen Sender ruhig (oder haben es 
zumindest zu sein...).
Eine Kollision wird dadurch festgestellt, dass man das, was man sendet 
auch gleichzeitig empfängt (CAN-Transceiver sind darauf speziell 
ausglegt).
Wird nun eine Kollision dadurch festgestellt, dass sich die gesendeten 
Daten von den empfangenen unterscheidenen, stellt der Sender mit dem 
nicht dominaten Bit das Senden ein und wartet auf einen freien Bus.

So könnte man es vermutlich auch per IR (und vielleicht auch Funk) 
machen.

War Irda nicht auch multimaster-fähig?

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei WLAN gab es doch genau das selbe Problem, da ist das doch irgendwie 
mit Timeslots gelöst worden wenn ich mich nicht irre....

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichworte: Multiplexverfahren (Zeit-, Frequenz-, Codemultiplex), Media 
Access Control, ALOHA

Autor: Peter Roth (gelb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem Master / Slave- Verfahren dürfen die Sklaven nur dann senden, 
wenn sie vom Master gefragt werden (Slave erkennt an der mitgesendeten 
Adresse, ob er gemeint ist). Bis dahin müssen die Sklaven ihre Daten 
eben zwischenspeichern und der Master muss oft genug fragen.

Acknowledge wie oben schon beschrieben.

Bei passender Problemstellung (z.B. Telemetrie) ist das die einfachste 
Methode, damit nicht alle durcheinander quatschen.

Grüße, Peter

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.