Diese Module lassen den Empfänger-Pin im Grunde wackeln, je nachdem, wie Sie den Sender-Pin ansteuern. Sie wissen nichts darüber, was es Ihrer Meinung nach bedeutet, mit dem Stift zu wackeln, und enthalten keinen UART. Weitere Details waren nicht sofort offensichtlich, ohne zu graben. Das ist dein Job, also habe ich mich nicht darum gekümmert, weiter zu gehen. Sie sollten einen Link zum Datenblatt und nicht zur Produkt-Begrüßungsseite bereitstellen.
Diese Module arbeiten mit AM-Modulation. In der kurzen Beschreibung steht ASK, aber es handelt sich wahrscheinlich nur um das Ein- und Ausschalten des Senders (was technisch gesehen eine Teilmenge von ASK ist). Das Problem bei diesem Schema ist, dass der Empfänger den Pegel für den eingeschalteten Sender nicht von Natur aus kennen kann. Es betrachtet daher höchstwahrscheinlich die zuletzt empfangenen Signalstärken und wählt einen Wert in der Mitte aus, um zwischen Ein und Aus zu entscheiden. Dies wird als Daten-Slicing bezeichnet.
Wenn Sie nicht regelmäßig Ein- und Ausschalten senden, verliert der Empfänger den Überblick darüber, welche Pegel ein- und ausgeschaltet sind, und kann Daten nicht mehr korrekt aufteilen. Dies wird normalerweise auf zwei Arten behandelt. Zunächst wird eine Präambel gesendet. Diese enthält eine Reihe von Ein- und Ausschaltungen in schneller Folge, damit sich der Empfänger auf einen guten Schwellenwert für den Datenschneider festlegen kann. Es wird erwartet, dass einige oder alle dieser Bits vom Empfänger nicht korrekt interpretiert werden und daher nicht wirklich "empfangen" werden. Die zweite Strategie besteht darin, Daten so zu senden, dass der Empfänger immer ein aktuelles Ein- und Ausschalten erhält. Einige Empfänger, insbesondere billige, die das Daten-Slicing analog durchführen, schneiden nur über die tiefpassgefilterte durchschnittliche empfangene Signalstärke. Bei solchen Empfängern müssen Sie nicht nur häufig zwischen Ein und Aus wechseln, sondern der Durchschnitt muss nahe bei 1/2 Ein liegen.
Aus diesem Grund ist die Manchester-Codierung für solche RF-Verbindungen so beliebt. Ich werde hier nicht auf die Manchester-Codierung eingehen, da dies bekannt ist und Sie kein Problem damit haben werden, viele Informationen darüber zu finden. Ein nettes Merkmal des Manchester-Codes ist, dass er über jedes Bit durchschnittlich 1/2 beträgt. Ein Bit ist in zwei Hälften geteilt. Ein-Aus kann 1 und Aus-Ein 0 bedeuten. Manchester ist wahrscheinlich das am einfachsten durchzuführende Codierungsschema.
Sie können einen UART verwenden, müssen jedoch vorsichtig sein und geben etwas Bandbreite auf ( Batterieleistung). Schauen Sie sich an, was ein UART sendet. Wenn Sie die Zeichen unmittelbar nacheinander senden, dauert jedes Zeichen 10 Bit. Es gibt ein Startbit, 8 Datenbits und ein Stoppbit. Das Start- und Stoppbit haben immer die entgegengesetzte Polarität. Sie können festlegen, dass in den verbleibenden 8 Bits Codes mit einer gleichen Anzahl von Nullen und Einsen verwendet werden, um den Schwellenwert für den Datenschneider in der Mitte zu halten. Dies bedeutet, dass Sie in jedem UART-Zeichen nur 4 Informationsbits senden dürfen. Sie müssen auch sorgfältig über die Präambel nachdenken.
Im Allgemeinen sollten Sie davon ausgehen, dass bei jeder HF-Übertragung eine erhebliche Wahrscheinlichkeit von Bitfehlern besteht. Dies bedeutet, dass eine Art Prüfsumme eine gute Idee ist. Sie können Daten in Paketen senden und jedem Paket eine 16- oder 20-Bit-CRC-Prüfsumme hinzufügen. Wenn das Paket nicht intakt empfangen wird, wird es verworfen, als wäre es nie geschehen.
Das System muss sich auch mit dem zufälligen Rauschen befassen, das beim Ausschalten des Senders empfangen wird. In diesem Fall sinkt der Empfängerschwellenwert und es werden Daten geschnitten, unabhängig von dem zufälligen Rauschen, das es aufnimmt. Mit einer richtig gestalteten Präambel und Prüfsumme können Sie die Wahrscheinlichkeit verringern, dass zufälliges Rauschen wie gültige Daten aussieht, die verschwinden.