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
Sehen sich die Stationen untereinander, oder müssen die Daten möglicherweise durch mehrere hindurch geleitet werden?
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?
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
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
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?
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
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.
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?
Bei WLAN gab es doch genau das selbe Problem, da ist das doch irgendwie mit Timeslots gelöst worden wenn ich mich nicht irre....
Stichworte: Multiplexverfahren (Zeit-, Frequenz-, Codemultiplex), Media Access Control, ALOHA
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.