HF-Entwicklungsleitfaden

Voraussetzungen für eine transparente Schnittstelle

Was genau ist eine “transparente Schnittstelle”?

Circuit Design verwendet für diese Art von Schnittstelle den Begriff “transparent”, der normalerweise im Zusammenhang mit “Rohdatenverarbeitung” verwendet wird.

Ein “transparentes” Funkmodul enthält keine zusätzlichen Schaltungen zur Verarbeitung Ihrer Daten und verwendet nur Ihr Eingangssignal zur Modulation eines Trägers. Auch beim Empfang wird das Signal aus der Demodulation und der Schwellenerkennung direkt ausgegeben. Anders ausgedrückt: Es sendet und empfängt Daten wie sie sind.

Dadurch könnte man leicht vermuten, dass man eine kabelgebundene Verbindung (z. B. RS232) einfach durch eine drahtlose Verbindung ersetzen kann. Allerdings hat die Signalausbreitung im Raum andere Eigenschaften, die berücksichtigt werden müssen. Daher ist es notwendig, dass der Ingenieur die Daten vor dem Senden richtig formatiert.

 

Grundkonzept einer transparenten Schnittstelle

 

Bei einer transparenten Schnittstelle erfolgt keine Datenverarbeitung durch das Modul und der Ingenieur hat eine bessere Kontrolle über den Funkteil. Er kann die Daten nach Belieben formatieren, was z. B. die Verwendung mit vorhandenen Kommunikationsgeräten, die Optimierung des Protokolls für die Anwendung, die Skalierung des Protokolls für die Datenmenge usw. ermöglicht. All dies ermöglicht ein höheres Maß an individueller Anpassung und Experimentiermöglichkeiten für den Ingenieur. Da keine Daten verarbeitet werden, können solche Module andere als die üblichen Datenraten verwenden. Ein Modul, das ein internes Puffersystem enthält, unterstützt dagegen in der Regel nur Standarddatenraten.

Die wichtigste Bedingung ist, dass es für eine transparente Schnittstelle eine Möglichkeit geben muss, den Frame (Header) zu erkennen, um mit dem Datenempfang zu beginnen, und dass der Entwickler diese zusätzlichen Funktionen in das Programm einbauen muss.

Hardware-Voraussetzungen für eine transparente Schnittstelle

Beispiel-Konfiguration für eine transparente Schnittstelle

 

Von der CPU zum Funkmodul muss ein Datenfluss stattfinden (bidirektional wenn das Modul ein Transceiver ist). Die Pins müssten für DI und DO konfiguriert werden.

Beispiel für das Einfügen eines Kommunikationsprotokolls

Wird eine transparente Schnittstelle verwendet, kann der Ingenieur das Paket vor der Übertragung nach Belieben formatieren. Nachfolgend finden Sie ein allgemeines Beispiel, wie ein formatiertes Paket aussehen könnte, inklusive einiger Erläuterungen.

Ein formatiertes Paket für die Funkkommunikation

Präambel

Vor der Übertragung des formatierten Pakets wird ein kurzes Taktsignal, die so genannte Präambel, eine Zeit lang (z. B. etwas mehr als einige ms) an das andere Modul gesendet. Dies dient dazu, die Empfangsschaltungen für den Empfang zu stabilisieren.

Wenn das Paket kontinuierlich (zyklisch) übertragen wird, wird die Präambel nur zu Beginn einer neuen Übertragung gesendet.

Frameerkennung

Aufgrund der Präambel ist das Zielmodul bereit zur Demodulation und zur Ausgabe des Signals für das formatierte Paket am DO-Pin. Bis zu diesem Zeitpunkt sieht die CPU jedoch nur ein Rauschen am DO-Pin, was bedeutet, dass die CPU nicht weiß, wo sie mit dem Empfang beginnen soll. Deshalb muss der Ingenieur eine Methode entwickeln, die es der CPU ermöglicht, das Eintreffen neuer Paketdaten zu erkennen. Es gibt verschiedene Methoden, z.B. kann die CPU den DO-Pin überwachen und mit dem Empfang des neuen Pakets beginnen, wenn sie einen bestimmten Signalübergang sieht.
Sobald die CPU die Signalübertragung erkannt hat, kann sie mit dem Empfang und der Analyse des Pakets beginnen. Um die Kommunikation sicherzustellen, kann der Ingenieur wie unten vorgeschlagen dem Paket zusätzliche Informationen hinzufügen:

Kanalinformationen

Arbeiten andere Geräte auf einem ähnlichen Kanal, besteht die Möglichkeit, dass sie dasselbe Signal empfangen (falls das Signal stark genug ist, um sich durchzusetzen). Wenn die Frequenzkanalinformationen im Paket enthalten sind, können solche Pakete ignoriert werden.

ID

Das Einfügen von ID-Informationen ermöglicht das ” Paaren “, d.h. Sie können eine 1:N oder N:1 Kommunikation durchführen.

Datengröße

Die Größe des Pakets in Bytes. Mit dieser Angabe kann die CPU feststellen, ob alle Daten empfangen worden sind.

Fehlererkennung / Korrektur

Durch die Aufnahme von Fehlererkennungsbits in das Paket kann man feststellen, ob beim Empfang Bitfehler aufgetreten sind. Ausgefeilte Fehlererkennungsmechanismen können sogar eine automatische Korrektur von Bitfehlern ermöglichen.

Empfang des Pakets

Bytes im Paket können in Echtzeit verarbeitet und analysiert werden, oder nach dem vollständigen Empfang des Pakets. Zur Prozessoptimierung ist jedoch eine Echtzeit-Verarbeitung erforderlich.

Frameerkennung

Wie erwähnt, gibt es für die CPU verschiedene Möglichkeiten, ein eingehendes Paket zu erkennen. Dann sollte sie die serielle Hardware für den Empfang vorbereiten. Sie sollte keine anderen Signale verarbeiten (z. B. die Präambel oder Rauschen). Sollte der Paketempfang aufgrund eines Kommunikationsverlustes auf halbem Weg abbrechen, kann ein Timeout-Verfahren zur Vorbereitung des Empfangs des nächsten Frames implementiert werden.

Sobald das Paket empfangen und verarbeitet wurde, kann der serielle Empfang bis zur Erkennung des nächsten Frames deaktiviert werden.

Kanal- und ID-Prüfung

Wenn ein anderes Gerät auf einem ähnlichen Kanal das Paket versehentlich demodulieren und ausgeben kann, kann es dies erkennen, indem es die Kanalinformation mit seiner eigenen Kanaleinstellung vergleicht. Dann kann eine geeignete Maßnahme ergriffen werden, um das Paket beispielsweise zu verwerfen. Wenn die ID-Information nicht zur ID des Geräts passt (wird verwendet bei Kommunikation N:1 oder 1:N), kann das System das Paket entsprechend ignorieren.

Datengröße

Ein Zähler im CPU-Programm zählt die Bytes. Dadurch kann er feststellen, ob alle Bytes empfangen wurden.

Fehlererkennung / Korrektur

Wurden Fehler festgestellt, kann das System diese entweder korrigieren oder, falls dies nicht der Fall ist, entweder eine erneute Übertragung anfordern oder das Paket verwerfen.

Ausgabe von Benutzerdaten

Sobald die Übertragungsintegrität bestätigt wurde, können die Benutzerdaten im Pakt isoliert werden.