Schönen Sonntagabend allen! Noch einmal dieser Beispiel RFM433 Kommunikation. (Siehe unter: http://winavr.scienceprog.com/example-avr-projects/running-tx433-and-rx433-rf-modules-with-avr-microcontrollers.html ) Als Sender-Signal ist mir alles klar. Als Empfänger nicht ganz. In dem Code drin ist SYNC als synchro signal definiert, aber ich sehe nirgendwo wieder? Wie ist diese Code dann angepasst? Ich habe versucht ohne SYNC zu machen, die Modulen funktionieren ne weile,dann gibt es Kommunikationsfehler. Kann jemand mir helfen zu erklären? Noch ne Frage, muss dieser SYNC immer als 0xAA gesetzt werden? Ich habe einen anderen Modul, der ständig 0x0d 0x0a 0x42 0x43 ..... blabla sendet... Kann ich auch 0x0d als SYNC setzen? Vielen Dank & viel Grüße Ge Ge
Ich habe mir das Projekt dort nicht bis zu Ende angesehen. Meine Vermutung ist, dass die SYNC-Folge von der Empfängerhardware ausgewertet wird, und dass erst danach die ankommenden Daten gelesen werden (möglicherweise über einen FIFO). Das heißt, dass die SYNC-Folge selbst in den empfangenen Daten, wie sie dann zur Auswertung im Controller kommen, nicht auftaucht. Als SYNC-Folge will man irgendetwas nehmen, das eine möglichst geringe Wahrscheinlichkeit hat, bereits durch das normale Rauschen beim Fehlen eines Sendesignals fehlerkannt zu werden, andernfalls würde der Empfänger anfangen, das Rauschen als Nutzsignal anzusehen und diese Daten zum Controller weiterleiten. Dass so etwas passiert, lässt sich natürlich nie vollständig verhindern, weshalb man bei derartigen Übertragungen für gewöhnlich am Ende noch eine Prüfsumme überträgt, die vom Empfänger kontrolliert wird. Dafür eignen sich am besten sogenannte CRCs, da sie eine hohe Zuverlässigkeit haben, aufeinanderfolgende Bitfehler in der Übertragung als Fehler zu erkennen.
Hallo, die 0-1-0-1 Folge am Anfang (dort Sync genannt) sorgt vor allem dafür, daß der Empfänger "einschwingen" kann, also AFC und/oder AGC sich auf das Signal einstellen können. Selbst Pendelempfänger brauchen einige Zeit, bis der Empfang stabil ist. 0xAA oder 0x55, also 0-1 Folgen, sind dafür am geeignetsten, weil es einen guten Mittelwert der Modulation gibt. Die 0-1 Folge kann theoretisch beliebig lang sein, mindestens muß es eben dazu reichen, daß der Empfänger klar kommt. Üblich sind so 2-4 Byte. Danach kommt dann üblicherweise ein geeignetes Datenbyte, daß den Beginn der Daten kennzeichnet. Ob diese Erkennung in Hardware passiert oder in der Software des Controllers, hängt davon ab, wie intelligent das benutze Modul ist. Gruß aus Berlin Michael
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.