Praktikum Mikrocomputertechnik
Projekt: HF-Datenübertragung
Betreuer: Prof. Dr. Högl
Referat am 19.12.2002
Daniel Bechteler daniel@bechteler.com
Christoph Hanika chanika@rz.fh-augsburg.de

 

HF Datenübertragung

1. Allgemeines

Es geht bei diesem Projekt um die drahtlose Übertragung von Daten durch Hochfrequenz-Signale. Mit einem Sende- und einem Empfängermodul im 868 MHz Band wird eine drahtlose Verbindung aufgebaut, die einen serielle Datenstrom bei einer Datenrate von 9600 Bit/ sec über etwa 100 Meter durch die Luft schickt.


Das durchgeführte Projekt basiert dabei auf der Hardware der "HF-Fernbedienung mit Atmel AVR" von Prof. Dr. Högl.
Nähere Informationen sind unter folgendem Link zu finden: http://www.fh-augsburg.de/~hhoegl/op/doc/avr/rf/doc/main.htm

 

2. Aufbau

Der grundlegende Projektaufbau lässt sich über folgendes Schaubild verdeutlichen:


Der Sender selbst verfügt über einen Mikrokontroller (AVR2313), mit einem für dieses Projekt fest vorgegebenen seriell ansteuerbaren I/O Programm. Die Sourcen des I/O Programms befinden sich hier:  http://www.fh-augsburg.de/~hhoegl/rt/etc/projekte/rf/src/ (Prof. Dr. Högl)

 

Die serielle Ansteuerung des Senders mitsamt des HF-Sendemoduls QFMT1-868 verwendet folgende Bytefolgenkommandos [0..255]:

syntax:   setbit port bit-nr state
mögliche Werte:   1 1 : port B
2 : port D
0 : <lsb>...
7 : <msb>
0 : low
1 : high
2 : tristate

konkrete Anwendungsbeispiele:

1,2,2,0    : Vcc des HF-Moduls einschalten
1,2,2,1    : Vcc des HF-Moduls ausschalten

zusätzliche wichtige serielle Kommandos:

7,Sendebyte    : Übertrage Sendebyte auf der Tx-Leitung weiter (hier vom AVR zum HF-Sendemodul)
6                    : Versionsinfo

 

3. Software

Die Software des Projekts ist zweigeteilt:

a) Auf dem PC, welcher den Sender ansteuert, kommen Python-Programme zum Einsatz ( http://www.python.org/ ).

Die Pythonprogramme funktionieren dabei ähnlich wie ein Terminalprogramm. Für die komfortable Handhabung der seriellen Schnittstelle wird dabei die portable pyserial Bibliothek eingesetzt ( http://pyserial.sourceforge.net/ ). Für Windows wird zusätzlich die "win32all extension" benötigt ( http://starship.python.net/crew/mhammond/ ) .
Zur besseren Bedienbarkeit besitzen die Programme eine graphische Benutzeroberfläche (mit Tkinter).

folgende Programme wurden erstellt:

hfinterfaceTK-simpleinput.py   
-> zum direkten seriellen Senden und Empfangen von einzelnen Bytes

hfinterfaceTK-datatransfer.py
-> zur seriellen Datenübertragung (ASCII) mit Hilfe von Datenframes

hfinterfaceTK-time.py
-> zur seriellen Datenübertragung eines Zeitstrings als Beispielanwendung (Datenframes)

 

b) Auf dem NF-300 (MC68332) werden hingegen die Daten vom Empfänger mit Assemblerprogrammen ausgewertet.

hierzu wurden folgende Programme erstellt:

receive.asm
-> zum seriellen Datenempfang (ASCII) mit Hilfe von Datenframes (empfangene Daten auf $2000)

rec-time.asm
-> zum seriellen Datenempfang eines Zeitstrings und dessen Ausgabe auf dem LCD als Beispielanwendung (Datenframes)

 

4. Datenframes

Um Daten zu übertragen werden an die Datenübertragung nach der vorgegebenen Spezifikation einige Anforderungen gestellt.
Diese lassen sich folgendermaßen mit Datenframes erfüllen:

 

Es dürfen keine verfälschten Daten ankommen Einsatz von Checksummen
Daten sollen nur bestimmte Empfänger erreichen Einsatz von Kennungen
Daten sollen nicht verloren gehen Einschwingen des Signals mit $AA $AA
Es besteht kein Rückkanal möglichst gute Fehlerkorrektur (nicht implementiert)
Daten können beliebig oft gesendet werden Es muss nicht jedes Datum unbedingt ankommen (Aufgabenstellung)

 

Folgender Aufbau ist für die Datenframes gewählt:

 

5. Zusammenfassung und Ausblick

Die HF Datenübertragung funktioniert bewiesenermaßen. Ein nächstes Ziel ist nun die Verbesserung der Übertragungsleistung und der Sicherheit. Hierzu muss vor allen anderen Dingen besonderes Augenmerk auf die richtige Auslegung der Antennen gelegt werden.

Für eine Dateidatenübertragung ist das gegebene System aufgrund des fehlenden Rückkanals nicht geeignet.

Ein interessantes Einsatzgebiet erschließt sich jedoch auf dem Gebiet von HF-Fernbedienungen oder intelligenten Signalgebern, welche sich über den programmierbaren AVR-Mikrokontroller auf dem Sender relativ einfach realisieren lassen.  

 

6. weitere Links

http://www.fh-augsburg.de/~hhoegl/rt/etc/projekte/proj.html
die Projektbeschreibung (Prof. Dr. Högl)

http://www.rfsolutions.co.uk/
Datenblätter der Sender- und Empfängermodule

http://www.atmel.com/atmel/products/prod23.htm
der Atmel AVR Mikrokontroller

http://www.elektronik.vhf.de/index.htmld/
vhf elektronik als Bezugsquelle für das NF300 Mikrokomputersystem