Forum: HF, Funk und Felder RFM22 höhere Baudrate


von Jörg T. (brause)


Lesenswert?

Hallo zusammen,

ich habe 2 Funkmodule von Ulrich Radig (RFM22 goes AVR) aufgebaut.
Der Beispielcode von U. Radig klappt auch ganz gut und habe diesen 
erweitert für höhere Baudraten. Leider bekomme ich dann recht viele 
Übertragungsfehler (z.B. 46 von 1171 Bytes fehlerhaft @19200 Baud).

Hat jemand schon einmal höhere TX-Baudraten als 2400 Baud erfolgreich 
ausprobiert? Wo könnte noch der Fehler liegen? Die Registersettings habe 
ich mehrmals überprüft. Prinzipiell klappt es ja auch.

Meine Testumgebung ist wie folgt:

RFM22B (Si4432 Rev B) mit ATmega328P
Sendemodul mit 6 MHz Quarz
Empfangsmodul mit 12,049 MHz Quarz

Die TX-Baudrate ist zwar bei 19200 Baud, aber ich sende nur alle 100ms 
ein Byte!

Vielen Dank und Grüße,
Jörg

von Michael U. (amiga)


Lesenswert?

Hallo,

meine Sensoren mit den RFM02/RFM12 senden auf 433MHz ca. alle Minute ein 
Paket mit 30 Byte. Prüfsumme ist nur mit XOR über die Datenbytes.
Ich habe es nicht überprüft, weil für mich nicht notwendig, aber so ca. 
10 Pakete über den Tag verteilt, werden verworfen.
Manchmal rutscht auch ein falsches Paket durch, weil XOR für die 
Prüfsumme eben etwas optimistisch ist.

Ist ja schließlich Funk, da kann immer was stören.
Sende das Byte 3x oder 5x und mache eine Entscheidung auf der 
Empfängerseite.
Außerdem vermeide Bytes, die zu wenig Flankenwechsel enthalten, da 
verlieren die Module schnell den Bit-Sync. Ich sende aus Bequemlichkeit 
ASCII-Ziffern, da ist zumindest vorn immer eine 0011 drin und Debug mit 
einem Testempfänger am PC und Terminalprogramm ist auch bequemer.

Gruß aus Berlin
Michael

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg T. schrieb:
> Leider bekomme ich dann recht viele
> Übertragungsfehler (z.B. 46 von 1171 Bytes fehlerhaft @19200 Baud).

Präambel verlängern, Bandbreite des Kanals erhöhen.

Jörg T. schrieb:
> Hat jemand schon einmal höhere TX-Baudraten als 2400 Baud erfolgreich
> ausprobiert?

Locker. 57600 war bisher das "schnellste".

Jörg T. schrieb:
> Wo könnte noch der Fehler liegen? Die Registersettings habe
> ich mehrmals überprüft.

Die Registereinstellungen sind kritisch. Lade Dir am besten mal das 
EZ-Radio Config-Tool von Silabs herunter, das kann helfen, übersehene 
Dinge zu finden.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg T. schrieb:
> Sendemodul mit 6 MHz Quarz
> Empfangsmodul mit 12,049 MHz Quarz

??? Haben die nicht von Haus aus 10Mhz oder verstehe ich da ´was falsch?

von Jörg T. (brause)


Lesenswert?

Hallo,

>> Sendemodul mit 6 MHz Quarz
>> Empfangsmodul mit 12,049 MHz Quarz
>
> ??? Haben die nicht von Haus aus 10Mhz oder verstehe ich da ´was falsch?

ich meinte die Quarze für die ATmegas auf den Radig-Modulen, nicht am 
Funkmodul selbst.

Jetzt hatte ich noch versucht, die Empfangsfequenz abzustimmen.
Aber das hat auch nichts gebracht.

Als nächstes (falls Ihr keine andere Idee mehr habt), wollte ich noch 
ein Dämpfungsglied verwenden und die Antennenbuchsen direkt verbinden. 
Derzeit stehen die Module sehr nah beieinander (20cm) mit minimaler 
TX-Leistung +1dBm. Vielleicht ist der Empfänger übersteuert? Aber 
ehrlich gesagt, hatte ich mal vor einiger Zeit auch den Test gemacht und 
5m dazwischen gehabt - auch mit diesem Fehlerbild.

Grüße,
Jörg

von Jörg T. (brause)


Lesenswert?

Hallo,

vielen Dank für den Tipp.
Mein aktueller Stand ist wie folgt...

1) Ich habe wie an anderer Stelle beschrieben versucht, die 
Empfangsfequenz abzustimmen. Aber das war auch nicht der Übeltäter.

2) Als nächstes habe ich also ein Dämpfungsglied verwendet und die 
Antennenbuchsen direkt verbunden, um Empfänger nicht zu übersteuern.
Aber auch hier kein messbarer Unterschied.

3) Durch Zufall habe ich folgenden Effekt festgestellt.
Wenn ich das ISP-Kabel vom STK500 (mit dem ich programmiere und auch die 
USART/COM-Ausgaben zum PC mache) auf dem Empfängermodul gesteckt lasse, 
so werden nur 5-7 Pakete (von 25) korrekt empfangen. Ist das 
Programmierkabel nicht gesteckt, so werden 24-25 Pakete empfangen...

Hat dafür jemand eine plausible Erklärung?
Ich wäre für jegliche Hilfe unbeschreibbar dankbar.

Grüße,
Jörg

von Jörg T. (brause)


Lesenswert?

zu 3) kommt mir noch etwas in den Sinn...

- die Programmier-Schnittstelle (IPS) ist ja die SPI
- der ATmega kommuniziert auch per SPI mit dem Funkmodul
- wenn der Empfänger Daten empfängt, dann ist ja auf der SPI etwas "los"
- vielleicht wird das durch das STK500 beeinflusst/gestört?

Es wundert mich, da ja m.E. das STK500 nur während des Flashens die SPI 
klappern dürfte.

Wäre das die richtige Richtung?

Grüße,
Jörg

von Christoph H. (christoph_b)


Lesenswert?

Habe das gleiche Problem.

Nur das ich auf der Empfangseite nur den USB Adapter angeschlossen habe.
Bei 2400 Baud klappt alles. Bei 19200 Baud verliehre ich von 10 Paketen 
bis zu 4.

PS: Leider kann ich das EZ-Radio Config-Tool nicht finden-

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

>PS: Leider kann ich das EZ-Radio Config-Tool nicht finden-

silabs.com > Products > Wireless > EZRadioPRO > Si4430/31/32 RF 
Transceivers > Tools

von Zaungast (Gast)


Lesenswert?


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.