Forum: Mikrocontroller und Digitale Elektronik IR Kommunikation mit mehreren Stationen


von Cheng (Gast)


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

von gast (Gast)


Lesenswert?

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

von Cheng (Gast)


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?

von fubu1000 (Gast)


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

von fubu1000 (Gast)


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

von Cheng (Gast)


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?

von fubu1000 (Gast)


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

von Gast123 (Gast)


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.

von STK500-Besitzer (Gast)


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?

von Jörg S. (Gast)


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....

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Stichworte: Multiplexverfahren (Zeit-, Frequenz-, Codemultiplex), Media 
Access Control, ALOHA

von Peter R. (gelb)


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

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.