Einfache APRS-Encoder und -Decoder nach N0QBH
Stand vom 16. Oktober 2012

  Here is automatic translation made by Google:
http://translate.google.de/translate?sl=de&tl=en&js=n&prev=_t&hl=de&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.kh-gps.de%2Fn0qbh.htm&act=url

Auf der Suche nach einfachen Konzepten zum Aufbau von APRS-Encodern und -Decodern bin ich auf der Seite von Mike Berg, N0QBH gelandet ( http://www.ringolake.com/pic_proj/pic_index.html ).  Mike bietet einfache Einprozessor-PIC-Lösungen und stellt dazu auch die benötigten Codes zur Verfügung. Von den verschiedenen auf seiner Seite vorgestellten Versionen habe ich je einen Encoder und Decoder ausgewählt und praktisch getestet. Dabei ging es mir besonders auch um die möglichst einfache Verfügbarkeit der benötigten Bauteile.

APRS-ENCODER "FREETRAK"


Abb.1 Schaltbild APRS-Encoder

Abb.1 zeigt das Schaltbild des FREETRAK-APRS-ENCODERS. Er verarbeitet die von einem GPS-Empfänger stammenden NMEA-Daten. Diese müssen dem seriellen Eingang mit einer Datenrate von 4800bps und RS232-Pegel bereitgestellt werden. Zur Verarbeitung kommen Protokolle des Typs "RMC".
An seinem AFSK-Tonausgang stellt der Encoder 1200bps-APRS-Daten bereit. Dabei kann je nach Konfiguration entweder im RMC- oder im komprimierten MIC-E-Format gesendet werden.  Die Sendertastung  kann entweder  über den separaten PTT-Ausgang oder den kombinierten AFSK/PTT-Ausgang erfolgen. In diesem Fall ist der Widerstand "Rx" zu bestücken.
Wird der AFSK-IN-Eingang mit dem Hörerausgang eines angeschlossenen Empfängers verbunden, so dient das der Unterdrückung von Aussendungen bei belegtem Kanal.
Während der Sendezustand mithilfe der LED2 signalisiert wird, leuchtet LED1 nach jedem Einlesen der vom GPS-Empfänger kommenden Daten. Das gilt allerdings nur, wenn diese als gültig ( valid ) erkannt wurden, was ebenfalls eine Voraussetzung für die Durchführung von Aussendungen ist. 
Zur Konfiguration ist die Schaltanordnung mit dem COM-Port eines PC's zu verbinden. Dabei sind die seriellen Ein- und Ausgänge zu benutzen. Obwohl nicht 100% RS232 kompatibel, sollte eine Kommunikation mit dem PC dennoch problemlos möglich sein. Dazu ist hier ein auf 4800bps eingestelltes Terminalprogramm ( z.B. das Windows-Programm: HyperTerminal ) zu starten. Wird der Encoder anschliessend bei geschlossener Brücke: "OPTION" gestartet, dann sollte er sich mit einer Begrüßungsmessage melden. Anschliessend können die gewünschten Betriebsparameter wie Adress-Call ( z.B.: APRS ), Absender-Call, APRS-Pfad, Holdoff ( Verzögerung zwischen zwei Aussendungen ); Ausgabemodus ( N=RMC oder Y=MIC-E ) und das APRS-Symbol eingegeben werden. Nach Abschluss der Konfiguration erfolgt eine Ablage aller eingegebenen Parameter im prozessorinternen EEPROM. Dort bleiben sie auch nach dem Ausschalten des Encoders bis zu einem evtl. späteren Überschreiben erhalten.

NACHBAU DES ENCODERS

Den Programmcode, sowie weitere Angaben zum Encoder und zu seiner Konfiguration findet man auch auf den Seiten von Mike Berg:
http://www.ringolake.com/pic_proj/gps_trak/freetrak202.html

Zum Nachbau werden nur sehr wenige spezielle Bauteile benötigt. Nachdem der in der amerikanischen Originalversion verwendete OP-Amp "OP 196 " nicht leicht erhältlich war, wurde er durch den weitgehend identischen Typ "OPA 347 PA" ersetzt. Operationsverstärker dieses Typs und auch  PIC16F628-Prozessoren sind z.B. bei  http:/ www.reichelt.de erhältlich. Zur Takterzeugung kann entweder der im Schaltbild eingezeichnete 10MHz-Resonator ( X1 ) oder auch ein entsprechender Quarz eingesetzt werden. In letzterem Fall ist jeweils noch ein 22pF-Kondensator von den beiden Quarzanschlüssen gegen Masse anzuordnen. Das Platinenlayout gem. Abb.3 ist für beide Varianten vorbereitet.


Abb.2  Musteraufbau "FREETRAK"


Abb.3  Platinenlayout Encoder


APRS-DECODER "SIMPLER"

Der zum Encoder passende Decoder "SIMPLER" zeichnet sich durch seine extreme Einfachheit aus und weist keine Besonderheiten auf. Vom Hörerausgang eines angeschlossenen Empfängers kommende 1200bps-Signale müssen dem Eingang "AFSK-IN" zugeführt werden. Hierbei ist ggf. mit dem optimalen NF-Pegel zu experimentieren. Die LED's 1 und 2 erlauben dabei bereits eine begrenzte Aussage über die Pegelverhältnisse angelegter Daten. Am Ausgang liefert der Decoder jegliche decodierte UI-Files, zu denen dann auch die für eine APRS-Auswertung benötigten Protokolle gehören können. Die Ausgabe-Datenrate liegt bei 9600bps. 


Abb.4  AX25-Decoder für UI-Files

NACHBAU DES DECODERS

Den Programmcode, sowie weitere Angaben zum Decoder findet man auch auf den Seiten von Mike Berg:
http://www.ringolake.com/pic_proj/zcd/zcdmodem.html   ( Projekt: "Simpler Decoder" )

Zum Nachbau werden keine speziellen Bauteile benötigt. PIC16F627 oder PIC16F628-Prozessoren sind z.B. bei  http:/ www.reichelt.de erhältlich. Zur Takterzeugung kann entweder der im Schaltbild eingezeichnete 4MHz-Resonator ( X1 ) oder auch ein entsprechender Quarz eingesetzt werden. In letzterem Fall ist jeweils noch ein 22pF-Kondensator von den beiden Quarzanschlüssen gegen Masse anzuordnen. Das Platinenlayout gem. Abb.6 ist für beide Varianten vorbereitet.


Abb.5  Musteraufbau des AX25-Decoders
Anm.: Wer den Musteraufbau sehr detailliert mit dem Layout vergleicht, wird kleine Unstimmigkeiten im Bereich der LED's entdecken.
Sie haben sich dadurch ergeben, daß der Musteraufbau auf einer Platine erfolgte, deren Layout erst später noch einmal geringfügig korrigiert wurde.


Abb.6  Platinenlayout Decoder

BAUTEILE

Mithilfe des "downloadbaren" Codes  und der auf dieser und MikeBergs Seite verfügbaren Angaben sollte ein Nachbau beider Projekte problemlos möglich sein. Interessenten an bereits programmierten Prozessoren und ggf. auch sonstigen Spezialbauteilen ( incl. Platinen ) sollten mir eine Mail schicken.