www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FM9 GNS 2.0 Protokoll


Autor: Ralf Brandt (ralf_b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich habe vor einen FM9 TMC reciver als Zeitempfänger zu verwenden.
Deshalb habe ich mir mal eine FM9 von GNS besorgt.
Dabei habe ich einiges rausgefunden, was vieleicht auch jemand anders 
gebrauchen kann.

Um das Teil zu testen, habe ich es an ein billiges Handy Datenkabel (als 
USB zu Seriell Umsetzer gehangt).
Damit ich aus USB auch die 5V erhalte, habe ich den Umsetzter um eine 
Brücke ergänzt, wo ich schon grade dabei war, habe ich dem Ding (PL2303 
basierend) auch gleich ein EEPROm spendiert, so ist es möglich dem USB 
Bus bis zu 500ma zu entnehmen.


Über das, vom FM9 verwendete GNS 2.0 Protokoll findet sich einiges im 
WEB.
http://www.capuzza.com/detail.php?ID=123764
http://www.gpspassion.com/forumsen/topic.asp?TOPIC...
http://sourceforge.net/apps/mediawiki/travelingsal...

Das Einschalten und Frequenzeinstellen geht auch, nur der Sendersuchlauf 
will nicht.

Aber fest steht:
Das Befehlsformat ist:
0xFF <CMD> <PARM1><PARM2> <CMD>CRLF
CMD = Befehl
PARM1,PARM2=Parameter

Ausgabe ist immer 10 Byte:
0x3F 8 mal Daten 0x3F

Freundlicher  Weise Antworte der FM9 auf unbekannte Kommandos immer mit 
einem Error.
Also habe ich mir eine kleines VB Programm gestrickt, mit dem sich alle 
Kommandos testen lassen.

Der FM9 kennt nur die Kommandos:
0x41, 0x430,0x4E,0x53,0x56,0x580x59,0x6C,0x73

Alle habe ich noch nicht raus gefunden aber einige:
0x43  -Hersteller ID
0x53  OFF
0x56  ON
0x58    Suchlauf UP (PARM 1 & 2 = Start Frequenz)
0x59    Suchlauf DOWN (PARM 1 & 2 = Start Frequenz)
0x73  Freq. einstellen ((PARM 1 & 2 = Frequenz)

Wenn RDS Daten Empfangen werden, dann sendet der Empfänger:
0XFF, RDS_BlockA, RDS_BlockB, RDS_BlockC., RDS_BlockD,0xFF


Hope that Helps
Ralf

Autor: Ralf Brandt (ralf_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Ergänzung noch.
Der FM9 den ich erwischt hatte, arbeitet auf der Schnittstelle, mit +/- 
3V.
Da ich aber TTL brauche, habe ich die Bauteile für den Pegelwandler 
entfernt, und zwei Brücken  gesetzt.

Autor: Ralf Brandt (ralf_b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mhh

RDS Daten habe ich jetzt, da klappt.

Aber um daraus die Zeit zu ermitteln, muss ich den Datenstrom in meiner 
Uhr auswerten, was schlecht ist, das der Micro nur wenig Platz hat.
Oder noch eine Microkontroller dazwischen schalten, der den RDS 
Datenstrom auswertet.
Beides nicht optimal, insbesondere wenn man bedenkt, das der FM9 ja 
schon eine Micro enthält (den P89LPC921).

Deshalb möchte ich den FM9 umprogrammieren.

Ich hatte gehofft, dass die Firmware von dem FM9 eine Funktion zu 
Firmware Update enthält, die den Bootloader der LPC900 startet.
Ich habe den FM9 deshalb mit diversen Daten bombardieren lassen, leider 
habe ich nichts gefunden.

Die zweite Möglichkeit wäre, wenn GNS die Option „Start Bootloader on 
Break“ für die serielle an gelassen hätte.
Leider auch Fehlanzeige.

Bleibt noch die, von NPX, erwähnte Möglichkeit mit 3 Pulsen am Reset 
nach PowerUp.
Hoffentlich hat GNS wenigstens den Bootloader nicht überschrieben, und 
den Bootvector nicht verändert.

Also habe ich mir eine kleine Atmel programmiert um den Reset an zu 
steuern, und eine dünnen Draht an den reset des P89LPC921 gelötet.

Jehuu das klappt, aber
um den 921er über den PL2303 (Handy Datenkabel) mit Flash Magic zu 
Programmieren musste ich in   Flash Magic „half Duplex“ aktiviren.
Außerdem klappt das Autobaud nicht, damit es geht muss ich erst das 
Terminal öffnen und drei große „U“ eingeben, das scheint ein Problem von 
Flash Magic zusammen mit dem PL2303 zu sein. Aber immerhin es geht.

So jetzt werde ich mal schauen wie man den TEA5764HN programmiert.

Autor: Walter Freywald (mrhanky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn das hier schon ein bisschen her ist:

Auf der Suche nach TMC(pro) bin ich auf diesen Thread gestossen (vielen 
Dank für die Tips hier).

Nur zur Ergänzung: der Befehl 0x41 dient beim GNS anscheinend in 
Kombination mit dem Befehl 0x43 (Check ID) für eine Art 
Challenge-Response Verfahren mit Hilfe dessen ein Navigationsgerät die 
"Echtheit" des GNS überprüfen kann.
Der GNS braucht mit seiner Antwort etwa 180ms, im Vergleich zu den 
anderen Befehlen sehr lang. Scheint also ein "echter" Krypto-Algorithmus 
dahinter zu stehen ;-)

Walter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.