Forum: Mikrocontroller und Digitale Elektronik Garmin und Atmega8


von Gerhard V. (hartl)


Lesenswert?

Hallo zusammen,
ich habe ein „schwerwiegendes“ Problem.
Ich möchte mit dem Atmega8, aus meinem etrex Summit von Garmin z.B. das 
NMEA Protokoll  „$GPRMC“,  die Zeit und das Datum auf einem Display 
anzeigen lassen (nur für Testzwecke). Wenn ich den Atmega8 vom PC aus 
mit einem GPS Simulator die Daten schicke funktioniert es wunderbar, 
auch in die andere Richtung, nur wenn ich das Garmin wieder anstecke, 
kommt nur Zeichensalat heraus.
Hat vielleicht jemand eine Lösung.
Vielen Dank im voraus.

Gerhard

von Holger S. (strabe)


Lesenswert?

versuch mal 'ne andere Baudrate, bei mir hörte der Buchstabensalat 
danach auf...

von Gerhard V. (hartl)


Lesenswert?

Die Baudrate beim etrex Summit kann ich leider nicht verändern.

von Micha (Gast)


Lesenswert?

...aber am ATMega8 kann man ne Menge einstellen :-)

von Philipp R. (relaxxo)


Lesenswert?

Hast du die Datenleitungen invertiert? (mit max232 od. einfach ne 
inverterschaltung)

von Gerhard V. (hartl)


Lesenswert?

Als RS232 / TTL Wandler verwende ich den Max232 (Bausatz von Pollin).
Es ist nur seltsam, das der PC mit dem GPS Simulator das NMEA Protokoll 
sauber an den Atmega8 bringt und das Garmin nicht, mit dem etrex geht es 
auch zum PC (GPS Simulator).

von Micha (Gast)


Lesenswert?

Wie sind denn die Baud-Raten bzw. woher kommt der Takt für den Atmel? 
Wenn Du den internen Oszi benutzt könnte es sein, dass die 
Baudrate-Frequenz nicht ganz stimmt. Stimmt die vom Garmin auch nicht 
ganz 100% kann es zu Bit-Fehlern (eben Zeichensalat) kommen. Der PC ist 
da eventuell etwas "unempfindlicher" gegenüber falschem Timing.

Poste doch mal deine Empfangs-Routine und die Initalisierung!

von Gerhard V. (hartl)


Angehängte Dateien:

Lesenswert?

Die Fuse Bits habe ich auf:
Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms; 
[CKSEL=1111 SUT=01]
eingstellt.

von Micha (Gast)


Lesenswert?

Hallo Gerhard

Leider spreche ich kein Bascom, kann daher nicht viel zu deinem Text 
sagen. Allerdings sieht es (bis auf die für mich ungewohnte 
GOTO-Nutzung) eigentlich OK aus. Da Du ja anscheinend vom PC  Daten 
empfangen kannst ist der Uart wohl in Ordnung. Keine Ahnung, woran es 
liegt.
Kann es eventuell sein, dass zu viele Daten vom GPS ankommen und einen 
Teil der Sachen im Buffer direkt wieder überschreiben?

von Gerhard V. (hartl)


Lesenswert?

...das hatte ich mir auch schon gedacht und habe mit dem Puffer etwas 
gespielt, aber auch ohne erfolg.
Das NMEA Protokoll meines etrex sieht soaus:
$GPRMC,152848,V,4933.7460,N,01137.5443,E,10.8,352.0,220508,1.4,E,S*20
$GPRMB,V,,,,,,,,,,,,A,S*0E
$GPGGA,152848,4933.7460,N,01137.5443,E,8,09,2.0,366.1,M,47.2,M,,*48
$GPGSA,A,3,08,10,15,18,19,21,26,27,28,,,,25.2,2.0,3.0*02
$GPGSV,3,1,09,08,40,065,46,10,35,200,45,15,55,299,48,18,11,324,38*76
$GPGSV,3,2,09,19,06,025,35,21,06,302,35,26,71,305,50,27,13,074,39*73
$GPGSV,3,3,09,28,63,111,49*43
$GPGLL,4933.7460,N,01137.5443,E,152848,V,S*49
$GPBOD,,T,,M,,*47
$PGRME,15.0,M,22.5,M,15.0,M*1B
$PGRMZ,1245,f*36
$HCHDG,205.0,,,1.4,E*2B
$GPRTE,1,1,c,*37
Kann es evtl. am abschliessenden CR/LF liegen, das vom Garmin kommt?

von R. W. (quakeman)


Lesenswert?

Mal ein kurze grunsätzliche Frage, seit wann hat die etrex Serie von 
Garmin denn eine serielle Schnittstelle zum auslesen dran?
Meines wissens nach haben die doch nur eine USB Schnittstelle, welche am 
PC als virtuelle serielle Schnittstelle arbeiten kann.
Erst die größere Serie der GPS60 ode GPSMAP60 Serie hat doch eine 
serielle Schnittstelle im Gerät integriert.
Oder täusche ich mich momentan wirklich was das angeht?

Ciao,
     Rainer

von Gerhard V. (hartl)


Lesenswert?

Hallo Rainer,
das Gerät hatte ich 2003 gekauft und meines Wissens gibt es das Ding 
schon seit 2000. Mein grosses Garmin (GPSMAP 276C) hat sogar 2 serielle 
Schnittstellen, und USB.

Gruss
Gerhard

von Micha (Gast)


Lesenswert?

Hallo Gerhard!

Ich habe auf der Robonetz-Seite einiges zu Bascom gesehen. Evenutell ist 
das ja für Dich interessant. Schau mal hier:

http://www.roboternetz.de/wissen/index.php/Bascom_UART_Input

Dort wird anstatt "waitkey()" "inkey()" benutzt, aber das ganze läuft 
wohl im Polling. Im Roboternetz gibt es wohl auch sehr viel mehr Leute, 
die sich mit Bascom beschäftigen. Eventuell kann Dir dort jemand besser 
helfen!

von R. W. (quakeman)


Lesenswert?

Hi Gerhard,

also ich hatte vor einigen Jahren ein etrex Vista und das hatte nur 
einen USB Anschluß dran.
Laut Homepage hat die kleinste Etrex Version ohne Kartendarstellung als 
einziges dieser Serie noch eine serielle Schnittstelle drin. Ich dachte, 
die Etrex hätten alle nur noch USB. So kann man sich irren. :)

Ciao,
     Rainer

von Gerhard V. (hartl)


Lesenswert?

hat denn keiner mehr eine Idee, woran es liegen könnte?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.