Forum: HF, Funk und Felder Funkverbindung mit XBEE


von Günter (Gast)


Lesenswert?

Ausgangs-Situation:

Modul A (Sender)
XBEE 802.15.4, 1mW, chip-Antenne angeschlossen an ATMEGA162 (8 MHz)
Baud-Rate zwischen XBEE und ATMEGA162 38400 baud

Modul B (Empfänger)
XBEE 802.15.4, 1mW, chip-Antenne angeschlossen an ATMEGA162 (8 MHz)
Baud-Rate zwischen XBEE und ATMEGA162 38400 baud

eingehende Daten werden an den PC weitergeleitet (RS232-Schnittstelle)

gesendet wird im Transparent-Modus gesendet
XBEE-Adressen sind korrekt eingestellt
XBEE's können über X-CTU angesprochen/konfiguriert werden

Abstand zwischen Sender und Empfänger ca. 50 cm (Testaufbau)

zu sendende Test-Daten Modul A >>> Modul B):
6 mal jeweils 15 Bytes (Ziffern und/oder Buchstaben)

Problem:

beim Modul B (Empfänger)

>>kommen manche Bytes gar nicht an
>>kommen manche Bytes (Buchstaben) verstümmelt an

Wer kann mir weiterhelfen ?

(Sofern weitere Info's benötigt werden, kann ich die gerne nachliefern)

Gruß und vielen Dank im Voraus

Günter

von Markus U. (markjus) Benutzerseite


Lesenswert?

Ich hatte schon öfter das Problem, dass die Daten für die serielle 
Schnittstelle zu schnell übertragen werden und so der Puffer überläuft. 
Das gibt dann an der Empfangsseite Probleme.

von Günter (Gast)


Lesenswert?

Hallo Markus

... und was könnte man da ändern / verbessern ?

zu welchen Maßnahmen könntest du mir raten ?

Gruß
Günter

von Markus U. (markjus) Benutzerseite


Lesenswert?

Man könnte z.B. den Sender erst starten (=anschalten), wenn der 
Empfänger bereits läuft. Das wird natürlich meistens nicht gehen, daran 
könnte man aber erkennen, ob hier möglicherweise die Ursache für Dein 
Problem liegt.

Ansonsten geht natürlich jede Art von Protokoll, d.h. erst wenn der 
Empfänger empfangsbereit ist (z.B. durch Senden eines spezifischen Bytes 
an den Sender, der dieses Byte auswertet) darf der Sender senden.
Die Schnittstellengeschwindigkeit herunterzusetzen bringt imho nicht so 
viel, man könnte aber die Sendungsdaten in zeitliche auseinanderliegende 
Intervalle/ Pakete aufteilen, um einen möglichen Buffer-Overflow beim 
Empfänger zu verhindern.

Aus Deiner Beschreibung ist mir noch nicht so klar, wo bzw. wie die 
Daten per RS232 an den PC weitergeleitet werden. Vielleicht sollte man 
das beim Troubleshooting erstmal deaktiviert lassen.

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.