-
-
Beim Empfang von Funksignalen besteht das Problem, das Nutzsignal vom Rauschen zu unterscheiden. Zum Verständnis: Wenn man mit einem Radio ein Band (UKW manchmal auch als FM bezeichnet, oder KW oder MW manchmal auch als AM bezeichnet) manuell durchläuft, hört man manchmal nur Rauschen, oder Rauschen überlagert mit einem Sender oder auch nur einen Sender.
Zum Erkennen des Nutzsignals kann man den Abstand der Flanken messen. Liegt der Abstand der Flanken innerhalb einer Toleranz, ist das Signal ein Nutzsignal, sonst ein Rauschen.
Die Erkennung des Nutzsignals kann per Polling erfolgen oder über Interrupt (Interruptauslösung, wenn Empfängerausgang eine Flanke ausgibt).
Leider kenne ich nur damit aus, wie man mit einem normalen Port des AVRs eine Funkstrecke betreibt. Dafür läuft die Funkstrecke mit jeden beliebigen AVR! Im folgenden beschreibe ich, wie man mit normalen Ports eine Funkstrecke aufbaut:
Du mußt ein Protokoll festlegen. In dem festgelegt wird, aus wievielen Bits das Paket besteht, ob Start- oder und Stopbits verwendet werden, ob Paritätsbits verwenden werden, wenn ja in welcher Bitposition, ob eine Prüfsumme verwendet wird usw. Die Bits werden manchesterkodiert.
Anhand des Protokolls kann du den Empfänger sagen, was er mit den einzelnen gültigen Bits machen soll.
z.B.:
Ein Paket besteht aus 12 Highs, einem Startbit und einem Datenbyte.
Die 12 Highs dienen als Einschwingung.
Das Startbit ist ein Low.
Das Datenbyte wird so festgelegt:
MSB LSB
Bit Bit Bit Bit Bit Bit Bit Bit
7 6 5 4 3 2 1 0
--------------------------------------> Zeit
Zuerst wird also das MSB gesendet.
Der Empfängerausgang von ELV HFS 301 ist 1bittig. Man zählt die Highs, die aufeinander folgen. Sind es 10 oder gar 12, dann könnte das folgende Bit ein Startbit sein. Ist dieses Bit ein Low, so ist man einigermaßen sicher, dass man das Startbit erkannt hat. Die folgenden gültigen Bits schiebt man in ein 8Bit-Register. Beachte, das 1. Byte ist MSB. Ist das Register voll, hat man dann das Datenbyte, das man an ein Port schicken könnte.
Zum Thema Reichweitenoptimierung:
Fakt 1: Je größer der Abstand zwischen Sender u. Empfänger, umso größer das Rauschen;
Fakt2: Je schwächer das Funksignal, umso schwieriger ist die Einschätzg des Empfängers, was Nutzsignal und was Rauschen ist.
Fakt3: Funkbedingungen sind nicht immer gleich, weil das Rauschen ein chaotisches Signal ist.
1. Möglichkeit
Paket viele Male senden. Irgendwann wird der Empfänger ein Paket erfolgreich empfangen. Fragt sich nur wann.
2. Möglichkeit
Den Flankenabstand vergrößern. Senkt aber die Datenrate.
3. Möglichkeit
Die Toleranzgrenzen des Empfängers erhöhen. Erhöht aber die Wahrscheinlichkeit, Datenmüll zu empfangen. Abhilfe: Verwenden von Paritätsbits, Stopbits und Prüfsummen.
Ich hoffe mit meinem kleinen Beitrag, Dir geholfen zu haben.
MfG
Wolfram Hubert
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen