"RMC2APRS"
APRS mit D-STAR-Geräten
APRS ist ein geschütztes Warenzeichen von Bob Bruninga, WB4APR
letzte Bearbeitung: 18. Mai 2007

  "RMC2APRS" is a simple microcontroller interfacing board for sending APRS compatible navigation data. Serial input of board is for connecting to GPS receiver. It is using it's 4800bps NMEA protocols type RMC. Output is for directly connecting to data input of e.g. D-STAR radios ( possible data rates are 4800-38400bps ). Specific data, like sender call, APRS symbol, additional text and sending interval can be entered by user and stored within an EEPROM. For more informations please send me an E-Mail.
NEU:  Bei der aktuellen Softwareversion "RMC2APR5" sind einige neue Funktionen hinzugekommen. So wurde in das ausgegebene APRS-Protokoll eine von der GPS-Zeit abgeleitete TIMESTAMP  in UTC eingefügt ( siehe dazu auch Tabelle 3 ). Weiterhin wird jetzt im sog. "Smart-Beacon-Mode" gesendet. Das bedeutet, daß die jeweils gewählte Verzögerungsrate zwischen zwei Aussendungen nur für Bewegungsgeschwindigkeiten unter 10 Knoten ( ca. 18 Km/h ) gilt. Bei erkannten Werten zwischen 10 und 49 Knoten ( ca. 18-90 Km/h ) wird sie dagegen um den Faktor drei und ab 50 Knoten ( ca. 90 Km/h ) sogar um den Faktor sechs kürzer.
NEU:
  siehe auch meine Seite zum Thema: "Datenfunk via D-STAR"  http://www.kh-gps.de/dstar_data.htm
NEU: Daten eines Standard-APRS-Pfades in das Ausgabeprotokoll eingefügt;  diese Maßnahme erfordert die Nutzung des Prozessors AT89C4051 ( mit 4K Flash-Speicher )

An D-STAR-Funkgeräte ( wie ICOM IC-E91 u.a. ) kann ein handelsüblicher GPS-Empfänger ( so er eine serielle Schnittstelle besitzt ) angeschlossen werden. Daraufhin ist eine Aussendung von Navigationsdaten entweder auf Tastendruck oder in voreingestellten Zeitabständen möglich. Die Aussendung erfolgt im ASCII-Format und kann beispielsweise folgendermaßen aussehen:

Tabelle 1 : Beispiel für GPS-Sendeprotokoll eines D-STAR-Gerätes
( Ganz aufmerksamen Lesern wird u.U. aufgefallen sein, daß die Breitengraddaten der GGA- und RMC-Datensätze Unterschiede aufweisen.  Da es sich hierbei um Originalmitschnitte von  über D-STAR empfangenen Daten handelt, lassen sich dadurch auch sehr gut die möglichen Auswirkungen von Übertragungsstörungen erkennen )

Es können bis zu drei Standard-NMEA-Protokollfiles ausgesandt werden. Danach folgt ein Weiteres, welches Absender-Call und einen Zusatztext mit bis zu 20 Zeichen enthalten kann. Das Problem bei Verwendung dieses Formates liegt darin, dass es
1. nicht von handelsüblichen APRS-Programmen ( wie z.B. UI-VIEW ) erkannt wird und
2. nicht gegen Übertragungsstörungen geschützt ist, so dass es an der auswertenden Seite ggf. auch verstümmelt ankommen kann.

Zur Vermeidung der bestehenden Nachteile entstand die Idee, auf die Nutzung des geräteinternen GPS-Modus zu verzichten und zur Übertragung der Navigationsdaten stattdessen nur den D-STAR-Datenmodus zu verwenden. Die Übertragung sollte dabei bereits im APRS-kompatiblen Format erfolgen und damit eine direkte Datenauswertung und Positionsanzeige mithilfe von Programmen wie z.B. "UI-VIEW" ermöglichen.


Abb.1  Blockschaltbild der APRS-Übertragungsanordnung

Abb.1 zeigt das Blockschaltbild der Übertragungsanordnung. Die auf der Erfassungsseite zur Aussendung kommenden APRS-Protokolle werden durch Auswertung von Inhalten der NMEA-Sätzen des Typs "RMC" gewonnen. Diese stammen von einem angeschlossenen GPS-Empfänger, der sie üblicherweise im Sekundentakt liefert. Zur Datenaufbereitung wird die kleine externe Mikrokontrollereinheit "RMC2APRS" benutzt. Darüberhinaus dient sie auch der Speicherung des jeweiligen Absender-Calls, des gewünschten APRS-Fahrzeugsymbols und eines beliebigen Zusatztextes ( der nicht auf 20 Zeichen begrenzt ist ). Letztere Daten werden im zugehörigen EEPROM-Baustein dauerhaft abgelegt. Hinzu kommen noch die gewünschten Sendeintervalle. Die Verzögerungszeit wird dabei durch dreistellige Eingabe eines Wertes zwischen 000 und 255 ( entsprechend 0 und 255 Sekunden ) festgelegt, wobei sie sich  durch Schliessen des Schalters "J2" ( siehe dazu auch Tabelle 4 ) noch um den Faktor 10 verlängern lässt.
Alle Eingaben können bei Bedarf auch wieder überschrieben werden. Ihre Eingabe erfolgt nach Anschluss des Bausteins an z.B. einen PC mithilfe eines üblichen Terminalprogrammes. Dazu ist "RMC2APRS" im Konfigurations-Modus zu starten
( siehe dazu auch weiter unten ). Die Einstellungen sind völlig unabhängig von ähnlichen, evtl. im Gerätespeicher des Funkgerätes abgelegten Daten.
An der auswertenden Seite lassen sich die übertragenen Signale beispielsweise mithilfe eines PC's  und eines Programmes wie z.B. "UI-VIEW"( siehe dazu Tabelle 2 ) direkt auswerten. Dazu ist lediglich eine serielle Datenverbindung zwischen dem entsprechenden Ausgang des D-STAR-Gerätes und dem COM-Port des verwendeten PC's herzustellen. Das APRS-Programm muss dabei natürlich auf die vom D-STAR-Gerät unterstützte Ausgabe-Datenrate eingestellt werden.

UI-VIEW-Einstellungen:
Setup/Comms Setup
--------------------------------------
  Baudrate gem. D-Star-Gerät
  8 Datenbits/1 Stopbit/no Parity
  Handshaking = NONE
HostMode = NONE
  COM Port gem. benutzter RS232-Schnittstelle
  TNC type: TH-D7
Abschluss mit OK
Setup/Miscellaneous
---------------------------------------
  Relaxed frame type check  anwählen
Abschluss mit OK
Tabelle 2


Abb.2 Detailschaltbild der Mikrokontrollereinheit

Das Detailschaltbild ( Abb.2 ) der Anordnung "RMC2APRS" lässt nur wenige Besonderheiten erkennen. Serieller Daten-Ein- und -Ausgang besitzen zwar nur eine bedingte RS232-Kompatibilität, sollten sich aber dennoch mit allen hierfür infrage kommenden Peripheriegeräten problemlos verbinden lassen. Die Brücke "JP1" kann benutzt werden, um nach ihrem Öffnen ggf. auch GPS-Empfänger mit TTL-Ausgang anschliessen zu können. Die Funktion der Schalter "J1-J4" ist im Detail aus Tabelle 2 ersichtlich.  
Die Firmware "RMC2APRS" wird im Flash-Speicher des Mikrokontrollers "U1" abgelegt. EEPROM-Baustein "U2" dient dagegen der Ablage anwenderspezifischer Daten.
Die derzeitige Version der Firmware kann als Basisversion angesehen werden. Hier ein Beispiel für das dabei zur Zeit
benutzte Übertragungsformat:

   DJ7OO-9>APRS,RELAY,TRACE3-3:/091234z4957.12N/00812.34E>Klaus aus Mainz <CR><LF>
Tabelle 3

Es ist vorgesehen, das Protokoll ggf. noch um Uhrzeit-, sowie Geschwindigkeits- und Kursdaten zu erweitern. Auch wird darüber nachgedacht, eventuell auch eine Prüfsumme einzufügen, so dass es später einmal möglich sein wird, fehlerhaft übertragene Protokolle auch noch auf der auswertenden Seite erkennen und ggf. unterdrücken zu können.

BETRIEB

Ein Musteraufbau der Einheit "RMC2APRS" ist in Abb.3 dargestellt. Das zugehörige Layout ist aus Abb.4 ersichtlich. Im Normalbetrieb ( Schalter "J1" offen ) liegen die vom GPS-Empfänger kommenden NMEA-Datensätze ( Typ "RMC" ) mit 4800bps am seriellen Eingang an. Der serielle Ausgang der Baugruppe ist dagegen mit dem Dateneingang des D-STAR-Gerätes zu verbinden. Mithilfe von "J3" und "J4" ( siehe Tabelle 4 ) sind hierbei Datenraten zwischen 4800bps und 38400bps wählbar.

WICHTIG: Für den Betrieb ist es erforderlich, im "DV SET MENÜ" des D-STAR-Gerätes unter "DV DATA TX" den AUTO-Mode anzuwählen.


Abb.3  Musteraufbau "UNIBOARD"
( Für Grossdarstellung anklicken )


Abb.4  Platinenlayout "UNIBOARD"
( Für Grossdarstellung anklicken )



KONFIGURATION UND INBETRIEBNAHME

Zur Konfiguration des Bausteins sind serieller Daten-Ein- und Ausgang zeitweilig mit dem COM-Port eines PC's zu verbinden. Dort ist ein Terminalprogramm ( wie z.B. das unter Windows Zubehör zu findende "HyperTerminal" ) zu starten. Die gewünschte Datenrate wird über die Schalter "J3" und "J4" ( gemaess Tabelle 1 ) eingestellt und ist identisch mit der auch für den Normalbetrieb des Bausteins einzustellenden Ausgangsdatenrate. Nach Herstellung der Verbindung mit dem PC ist der Zusatzbaustein im Konfigurationsmodus zu starten ( Schalter "J1" = geschlossen ). Danach sollte eine Startmeldung auf dem PC-Schirm erscheinen, worauf die notwendigen Einstellungen vorgenommen, bzw. die persönlichen Daten abgelegt werden können.
Im Einzelnen sind dabei folgende Daten einzugeben, wobei j
ede einzelne Eingabe mit dem als TILDE bezeichneten Zeichen "~" ( <Alt Gr> + <+> ) abzuschliessen ist:
1. Absender-Call ( ggf. incl. SSID ) 
2. APRS-Fahrzeugsymbol gemaess dieser Tabelle [ APRS ist  ein geschütztes Warenzeichen von Bob Bruninga, WB4APR ]

3. Zusatztext ( bei Bedarf ) max. Anzahl der ASCII-Zeichen ca. 200!
4. Verzögerungszeit zwischen den einzelnen Aussendungen  ( dreistellig ) 000-255 ( entsprechend 0 bis 255 Sekunden )
( Der gewählte Wert kann durch Schliessen von Schalter "J2" noch einmal um dem Faktor 10 vergrössert werden )  
Nach Eingabe aller Daten ist Schalter "J1" wieder zu öffnen und ein RESTART* des Boards durchzuführen.
Da bei der Eingabe leider keine direkte Korrekturmöglichkeit besteht ( z.B. kein "Backspace" ), kann auf Tippfehler nur durch RESTART* des Bausteins und Neueingabe aller Daten reagiert werden.
*  RESTART =  Neustart des Mikrokontrollerprogrammes durch kurzzeitige ( min. 1 Sekunde ) Unterbrechung der Betriebsspannung des Boards.

Hier noch einmal stichwortartig die Vorgehensweise zur Konfiguration:

* Board über RS232-Kabel mit dem Com-Port eines PC's verbinden
* über Schalter J3 und J4 des Boards die gewünschte Datenrate ( gem. Tabelle 4 ) festlegen
* am PC Terminalsoftware ( z.B. HyperTerminal ) starten und auf verwendete Schnittstellenparameter einstellen
* Schalter J1 des Boards in Stellung "ON" bringen
* Betriebsspannung des Boards anlegen; daraufhin muss eine Einschaltmeldung und die erste Eingabeaufforderung am PC-Schirm erscheinen
* gewünschtes  ( Absender- ) Call eingeben und Eingabe mit Tilde-Zeichen "~" ( <Alt Gr> + <+> ) beeenden
* gewünschtes APRS-Symbol EINSTELLIG ( OHNE vorangestelltes Zeichen zur Symboltabellenauswahl  ) eingeben und Eingabe mit Zeichen "~" beeenden
* evtl. gewünschten Zusatztext eingeben und Eingabe mit Zeichen "~" beeenden ( bei Nicht-Benutzung nur Endzeichen "~" eingeben )
* gewünschte Pausenzeiten zwischen zwei Aussendungen DREISTELLIG eingeben; möglich sind Werte zwischen 000 und 255, wobei das
   den Zeitwerten von 0 bis 255 Sekunden entspricht ( Beispiel: Eingabe für 60 Sekunden ist  060 ). Durch Schliessen von Schalter J2 kann der gewählte Zeitwert bei Bedarf um den
    Faktor 10 vergrößert werden; Eingabe mit Zeichen "~" abschliessen
* Konfigurationeinstellungen durch Öffnen von Schalter J1 abschliessen
* Board ausschalten
* die seriellen Ein- und Ausgänge des Boards entsprechend seiner eigentlichen Verwendung beschalten. Zur Verarbeitung der von einem
   angeschlossenen GPS-Empfänger kommenden NMEA-Daten wird auf der Eingabeseite fest mit 4800bps gearbeitet, während die Ausgabe-
   Datenrate ( gem. Tabelle 4 ) durch die Stellung der Schalter J3 und J4 festgelegt wird.
* nach dem Wiedereinschalten ist das Board betriebsbereit

SCHALTERFUNKTIONEN


Tabelle 4 "H" = Schalter offen  "L" = Schalter geschlossen 
* Im Gegensatz zu den für beide Betriebsarten geltenden Angaben bezüglich der AUSGABE-DATENRATEN, beziehen sich die Angaben zu
den EINGABE-DATENRATEN nur auf den Konfigurations-Modus. Im Betriebs-Modus wird dagegen ( zur Verarbeitung der vom
GPS-Empfänger kommenden Signale ) mit der fixen NMEA-Standarddatenrate von 4800bps gearbeitet.

DATENANSCHLUSS  der ICOM D-STAR-GERÄTE
IC-E91, IC-U82, IC-V82, IC-2200H und IC-2820H 

Der Datenanschluss aller genannten ICOM-D-STAR-Geräte ist mit einer 2.5mm-Klinkenbuchse ausgestattet. Hier kann ein handelsüblicher Stereo-Stecker eingefügt werden. Dabei sind die Steckerspitze (TIP) als Dateneingang und der mittlere Ring (RING) als Datenausgang beschaltet. Über den inneren Ring wird die Masseverbindung hergestellt.  Die Ein- und Ausgänge sind RS232-kompatibel.


Tabelle 5
ANMERKUNG: Gemäss Handbuch sollen die Geräte IC-U82, IC-V82 und IC-2200H auf die Datenraten 4800 bps und 9600bps einstellbar sein. Es wurden aber bereits Geräte festgestellt, bei denen NUR 9600bps nutzbar war.


Abb.4    Belegung des 2.5mm-Klinkensteckers für den Datenanschluss

NACHBAU

Interessenten an einem HEX-File der aktuellen Softwareversion: "RMC2APR5", bzw. an progr. Prozessoren, Quarzen, Platinen oder bereits aufgebauten Boards, sollten mir eine E-Mail schicken.


Alternativlösung für die Home-Station

Der Einsatz des auf dieser Seite beschriebenen Systems macht eigentlich nur Sinn, wenn man es im mobilen Betrieb an wechselnden Standorten betreibt. Zum Aufbau einer an einem festen Standort betriebenen Sendebake gibt es eine einfachere Lösung, die ohne zusätzlichen GPS-Empfänger auskommt. Wird der oben beschriebene Baustein mit einer anderen Firmware programmiert, dann erlaubt er die kontinuierliche Aussendung von beliebigen ASCII-Texten ( mit max. ca. 250 Zeichen ). Speichert der Anwender einen in Anlehnung an das in Tabelle 2 dargestellte Format eingegebenen Text und legt darin die Positionsdaten seines Feststandortes, sowie die gewünschten Sendeintervalle ab, so liefert der der Baustein die zum Bakenbetrieb über z.B. D-Star erforderlichen Protokolle. Näheres zu dieser Firmwareversion findet man hier: http://www.kh-gps.de/textsim.htm

Zum IC-E2820

Einen ersten Erfahrungsbereicht über dieses und weitere D-STAR-Geräte findet man auf der Seite von Ralf, DL1JU:
http://www.dl1ju.de/Technik/technik.html
Im Forum von ICOM-America gibt es darüberhinaus eine umfangreiche Diskussionen zum Thema D-STAR:
http://www.icomamerica.com/support/forums/
und speziell auch zur US-Version des IC-E2820 ( Bezeichnung: IC-2820H )
http://www.icomamerica.com/support/forums/tt.asp?forumid=40