Shop OBEX P1 Docs P2 Docs Learn Events
Parallax GPS sensor PMB-688 1PPS — Parallax Forums

Parallax GPS sensor PMB-688 1PPS

David BDavid B Posts: 592
edited 2012-03-03 02:36 in Accessories
I'm trying to set up my propeller development board as a frequency counter. To get better accuracy, I wanted to tune its clock to a GPS signal.

I've got an old Garmin GPS sensor that has a 1 pulse-per-second output, which is ideal for tuning the prop clock, but the Garmin isn't very sensitive and has to be mounted outside to get a fix.

I've also got a Parallax PMB-688 GPS sensor. It's much more sensitive than the Garmin, and can get a fix sitting on the workbench, but it doesn't bring the internal module's 1 pulse-per-second connection to a user-accessible pin.

Somewhere I heard that with some GPS sensors, the beginning edge of the start bit of the serial pulse is as accurate as the 1 PPS signal - does anyone know if that is true for the PMB-688?

(edit - I mean the leading edge of the first start pulse of the first character of each seconds messages)

Comments

  • David BDavid B Posts: 592
    edited 2011-03-06 18:12
    As far as I can tell, the initial start pulse, while it does arrive at a once per-second rate, is far too variable to use for a precise 1 pulse-per-second signal.

    But the internal SIRFStar III chipset was supposed to have a 1 PPS output, so I popped the lid off.

    The chip inside looked a lot like the chip from a web specification for a part EB-3631CX, as in these references -

    www.digictech.com/UploadFiles/201072293031780.pdf
    www.bnxgps.com/PIC/PIC/20109301528370.pdf

    which show pin 20 as a 1 PPS output.

    I clamped a needle onto my scope probe and checked the pin for the signal. I couldn't see anything at all on the scope, but by feeding the pin signal to a digital counter, saw the regular pulse per second coming from the pin.

    (Unlike my Garmin, with a 50% duty cycle, evidently the SIRFStar 1PPS signal is only true for like 700 nanoseconds, and my old scope just wasn't showing it visually.)

    The Parallax (Polestar) module's white wire was unattached to anything, so I soldered a jumper from pin 20 of the SIRFStar chip to the connection to the white wire.

    It worked! The propeller detects the SIRFStar 1 PPS signal with only about 5 clock cycle differences from second to second.

    The SIRFStar III chipset has an excellent reputation, and seems to work as well as advertised right on my desktop inside the house, so with this 1PPS signal as a reference, I can use my propeller breadboard as a better than a part-per-million frequency counter.
    1024 x 1024 - 69K
    1017 x 890 - 86K
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2011-03-06 19:18
    Awesome find, DavidB.
    I've had some experience with the "688", too, but info on it is scarce, unlike most everything else. Curious.
    Looks like you're using the external antenna. I bought one but haven't used it, works like a champ
    indoors unassisted.
  • David BDavid B Posts: 592
    edited 2011-03-07 09:33
    The only reason I bought the antenna was I thought the unit required it. I don't mind using the external antenna as long as I don't have to stick it out the window like my Garmin GPS unit. I haven't tried it without the external antenna, but will at some point.

    Have you reconfigured the 688? I managed to change it from 4800 to 9600 baud, but in the process accidently programmed it to send data in SIRF binary mode instead of NMEA ASCII mode. Now I can see that it's delivering regular bursts of serial characters but they're not human readeable. :(

    So far my attempts to convert it back to NMEA mode have failed. Maybe in binary mode, it requires the reconfiguration command to also be in binary mode? I'll have to work on that.

    I mainly wanted the unit for the 1PPS signal, which is working great, but it would be nice to get the rest of the data from it as well.
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2011-03-07 10:38
    "So far my attempts to convert it back to NMEA mode have failed."
    Now you get my meaning.
    I only wanted the RMC sentence, but the 688 was woofing several others.
    I remembered the SiRF config app that I got with my Rikaline and it worked
    with the 688.
    Someone posted of a situation similar to yours (somehow got it into binary),
    but on the old Forum. I posted the app there. Searching, I can't find it here.

    PE -- Hey, I found it afterall. Here's a link to that thread and therein a ZIP
    with the goods:
    http://forums.parallax.com/showthread.php?125402-Can-t-Read-GPS&highlight=SiRF
  • David BDavid B Posts: 592
    edited 2011-03-07 12:20
    Allrright! Thanks for the reference. I'll try it out tonight.
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2011-03-07 18:33
    OK, please post as to your success/outcome.
  • BeanBean Posts: 8,129
    edited 2011-03-08 16:13
    I'd suggest using the 60Hz from AC power. Over a long term it is very stable too.

    Bean
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2011-03-08 18:30
    I don't know... all the server clocks get updates from $GPZDA (1pps.)
    "60Hz" wanders. 2 secs / wk?
  • David BDavid B Posts: 592
    edited 2011-03-08 22:11
    SIRFDemo.exe worked! I used a USB serial port adapter wired to a MAX232 on a breadboard to the SIRF unit, so I had to probe around among all the listed ports but finally port 7 responded, so I used "switch to NMEA mode" and suddenly those $GPGGA, $GPRMC messages started scrolling down its "debug view" window.

    I was able to find a SIRF Binary manual, and it looked straightforward to compose and send a binary message to convert the 688 to NMEA, but no matter how carefully I followed the example, I just couldn't get it to work. I'd sure like to why not because that binary mode lets you make all sorts of requests from the sensor.

    Bean, that's a good idea, but the problem would be that at any given time, I'd have no idea how accurate the timing was. Plus, it's fun to hack around with these GPS sensors. Once I get a frequency counter working, I would be curious how the 60 Hz varies minute to minute, hour to hour, day to day.
  • vladstaffvladstaff Posts: 1
    edited 2012-03-03 02:36
    I am stuck with PMB 688 in binary mode only. It happened after playing with it in Ubuntu with gpsd, gpsctl. The module is working, I can read data out of it with xgps or tangogps, but in serial console gives unreadable charachters. Does any one have any idea of the command set for the PMB 688 which will bring it back to NMEA.
Sign In or Register to comment.