Change in GPS data format

Go To Last Post
13 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi All,
I have designed a system which would give me my location using a GPShttp://www.4dsystems.com.au/prod.php?id=106 receiver. Its been working quite well for past 3 months.
Then I didn't use it for a month and then when I used it again, It is giving me another format of data. i.e at first my data string used to be starting with $GPGGA,$GPGSA etc.
But now it is giving strange strings like $PMTK010 etc. After searching I found that the strings I received is of MTK NMEA format. But then when I kept the GPS for synchronisation again. The GPS did not synchronise.What might be the problem.
As soon as I switch off and switch on the power of the system,I am receiving $GPGGA strings but after sometime it stops and starts giving me $PMTK strings as you can see from the screen shot.What might be the problem?

I am attaching the screenshot of the data received from GPS through XBEE.
Thanks in advance.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are getting some duff characters.
I suspect that you do not have your USART configured correctly for the baud rate.

Are you running on the AVR internal RC clock?

Not only will you receive garbage, but you will transmit garbage to your GPS too. Hence the change in format, if it misinterpreted your command.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No, I am using external crystal, baud rate is correct also I am receiving the correct strings for some time after I power up. So that removes the chances of garbage due to AVR setup.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Go on. Tell us what your crystal value is and your UBRR value.

Unless it is my eyesight, you appear to have some garbage characters.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sure, I am using Atmega1281 and my Crystal is 7.3728MHz and I am running both my GPS and Xbee at 4800bps which makes UBRR=95.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your calculations are fine. Are your fuses set for the crystal?

I presume that the GPS and XBEE have status registers. They must check the quality of signal etc. I am sure that you have a framing error or parity error.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am sure there are none, because I used the same Xbee for debugging RTC and other components which are working well. So I wanted to know whether anyone has worked on GPS with MTK NMEA format. I have tested the GPS and the system for noise content too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SAINATH wrote:

Quote:
I am sure there are none etc.

So why do you ask ?

I agree fully with David: there is something wrong in the format of the serial communication. Framing error, parity error, buffer overflow .... that sort of things.

So use our feedback to sort out the problem instead of denying the possible causes

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you waiting for the "$" before grabbing a string? If you don't wait for the delimiter, then things will be unsynchronized and the messages will be senseless.

Most GPS receives output multiple message types. YOU need to wait for the correct one to arrive.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

$PMTK010 is some kind of proprietary message.

The NMEA standard allows proprietary messages in the $Pxxxxxx format. Manufactures use them for device-specific information, or to emit information that is not part of the NMEA standard.

You'll need to read the chipset's manual to work out how to request standard NMEA sentences. Most of the time, the request format is simple.

-- Damien

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You've probably forgotten that you asked this question - I chanced on it after seeing that the MTK3339 module always gave the same answer to the PMTK607 command

The PMTK commands are to be found in XA1110 datasheet

Jerry

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hehe

 

"$PMTK01" seems a little too readable to be garbled serial communication. I'm betting on JerryR's reply.

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I bet the OP has left long long time ago. last reply data is somewhere in 2012 ;)