|
|
| Author |
Message |
Don_Kirby
Joined: 15 Oct 2006
Posts: 329
Location: Long Island, New York
|
|
Posted: 18 November 2010, 0:11 AM Post subject: Decoding mystery serial data |
|
|
Sifting through my parts bins, I stumbled upon an old GPS module. As I've been tinkering with GPS related things recently, I made the appropriate connections to this 'found' unit and fired it up. Great! It works. I'm getting serial data out of the supplied TTL level serial connection.
The bad news was that I could not find the correct combination of serial port settings needed to produce a valid GPS message. I'll admit , trying all of the combinations took quite a while, and after the first 2 hours, I was ready to throw the thing in the trash bin.
Then that great little imaginary light over my head lit up. Actually, it was more like an old tangled up string of Christmas lights with most of the bulbs burnt out, but I had an idea nonetheless. Maybe it was a binary protocol. Yes, it must be the SiRF protocol. I checked the specs on the unit and indeed, SiRF was on the list of output protocols. Feeling very smug about my not-so-brilliant discovery, I set off on another bout of trying every possible 'normal' combination of serial port settings. Using the appropriate SiRF software I got... Nothing. Nada. Zip. The SiRF software didn't understand a single thing the unit is outputting.
As the unit teeters perilously close to the oblivion that is my trash bin, I offer one last chance for it to offer up it's precious data in a recognizable format.
Are there any off the shelf routines or applications that can decode or decipher the data? I have the feeling that I simply haven't found the correct arrangement of settings, or that one of the settings is not standard, and therefore I have missed it.
-Don |
|
| Back to top |
|
 |
stevech
Joined: 23 Feb 2006
Posts: 688
|
|
Posted: 18 November 2010, 17:15 PM Post subject: |
|
|
All GPS receivers support the text based NMEA "sentences". If your GPS is emitting binary data (SiRF or whatever), it has been changed to the proprietary mode.
I'd find a way to reset to factory defaults and then you should see NMEA 0183 text data in ASCII at 4800 baud. |
|
| Back to top |
|
 |
Don_Kirby
Joined: 15 Oct 2006
Posts: 329
Location: Long Island, New York
|
|
Posted: 18 November 2010, 19:43 PM Post subject: |
|
|
The device in question (Holux GR-230) also has a Bluetooth interface, which does work. I can access the units' settings (baud rate and protocol) and make changes via Bluetooth. The TTL output is actively sending data in typical GPS NMEA fashion (1 pps), but the data is garbage, no matter which settings on either end I use.
It is certainly possible that the output is damaged in some way, but more likely, the issue is related to level matching or inversion.
-Don |
|
| Back to top |
|
 |
dkinzer Site Admin
Joined: 03 Sep 2005
Posts: 2593
Location: Portland, OR
|
|
Posted: 18 November 2010, 20:05 PM Post subject: |
|
|
| Don_Kirby wrote: | | It is certainly possible that the output is damaged in some way, but more likely, the issue is related to level matching or inversion. | You may be able to determine the levels and inversion state by checking the voltage (with a DVM or oscilloscope) on the transmit line when it is not sending characters. If it is -3 to -12 volts, then you have a standard RS-232 interface. If it idles at zero volts and swings positive, it is probably inverted TTL and if it idles at 5V and swings to zero it is non-inverted TTL. |
|
| Back to top |
|
 |
spamiam
Joined: 13 Nov 2005
Posts: 689
|
|
Posted: 19 November 2010, 16:30 PM Post subject: |
|
|
I was about to make the point that Don made. You might have inverted logic. Be sure you know the output voltage so you don't damage the ZX.
Maybe you can use the ZX as a sort of logic analyzer. By measuring the duration of the bits, you might be able to look at the pattern and rule-in or rule-out certain protocols. I think you might be able to use input capture for this.
E.G. serial E-7-1, N-8-1. Normal or reversed logic levels. Binary vs RS-232. Etc. By measuring the bit times you can determine the data rate.
Since you know the make and model, you probably know the range of possibilities.
-Tony |
|
| Back to top |
|
 |
|