XBee, wie geht es mit Kollisionen um?

Ich beginne gerade mit XBEE S2-Modulen und bezweifle, dass ich immer noch keine Klärung bekommen konnte. Ich hoffe, ihr könnt helfen.

Ich möchte 2 Endgeräte haben, die Daten an einen Koordinator senden, die alle im API-Modus (Escape-Zeichen) arbeiten. Die Daten sollten "so schnell wie möglich" gesendet werden, daher fürchte ich, dass ich viele Kollisionen bekomme. Wie geht XBEE damit um?

Auf den RX-Paketen kann ich die Quelladresse erhalten, aber ich muss viele Bytes lesen, bevor ich sie kenne. Was passiert, wenn, während ich Bytes aus einem Paket lese, das andere Endgerät beginnt, ein weiteres Paket zu senden? Wenn XBEE implizit Kollisionsvermeidung verwendet, ist das "pro Byte" oder "pro Paket"?

Danke!

Antworten (2)

Der von diesen Modulen verwendete Funk (MAC- und PHY-Schicht) wird durch den IEEE 802.15.4- Standard definiert, der die Verwendung von Carrier Sense Multiple Access mit Kollisionsvermeidung oder abgekürzt als CSMA/CA spezifiziert .

Eine einfache Zusammenfassung: Ein Gerät führt einen schnellen Scan des Kanals durch, auf dem sich sein PAN-Netzwerk befindet, und wenn es feststellt, dass es verwendet wird, wartet es und versucht es erneut, indem es ein zufälliges exponentielles Backoff-Schema verwendet. Mit dieser Methode können Sie sich den Kanal als eine gemeinsam genutzte Ressource vorstellen, die von einem Gerät „genommen“ wird, um eine Burst-Übertragung durchzuführen, und dann für andere zur Verwendung freigegeben wird.

Weitere Fragen zum zuverlässigen Transport können beantwortet werden, indem man darüber in der Zigbee-Spezifikation oder der IEEE 802.15.4-Spezifikation nachliest.

Danke für die Klarstellung! Aber... ist die Kollisionsvermeidung "pro Byte" oder "pro Paket". Ich denke, "pro Byte" macht nicht viel Sinn, aber ich möchte das sicherstellen.
@msr Auf jeden Fall pro Paket. Beachten Sie auch, dass die Kollisionsvermeidung nicht zu 100 % erfolgreich ist – Sie benötigen immer noch einen Bestätigungskanal und Neuübertragungen, um einen zuverlässigen Transport zu gewährleisten

Ich kenne die Einzelheiten von XBee nicht, aber ich glaube, es ist ein ziemlich schweres Protokoll. Als solches würde ich wetten, dass es sowohl Kollisionsvermeidung (auf der Ebene der mittleren Zugriffssteuerung) als auch automatische Neuübertragungen (ähnlich wie TCP) einsetzt und dies auf Paketebene tut.