Historic archive of defunct list thumbgps-devel@lists.bufferbloat.net
 help / color / mirror / Atom feed
* [Thumbgps-devel] Fwd: Long term SiRF data
       [not found] <20111025095801.C9A9D800037@ip-64-139-1-69.sjc.megapath.net>
@ 2012-03-17  2:06 ` Dave Taht
  2012-03-17 14:42   ` Ron Frazier (NTP)
       [not found]   ` <4F64DCB8.7090603@c3energy.com>
  0 siblings, 2 replies; 10+ messages in thread
From: Dave Taht @ 2012-03-17  2:06 UTC (permalink / raw)
  To: thumbgps-devel

I can't remember if I had shared this already.


---------- Forwarded message ----------
From: Hal Murray <hmurray@megapathdsl.net>
Date: Tue, Oct 25, 2011 at 2:58 AM
Subject: Long term SiRF data
To: Eric Raymond <esr@thyrsus.com>
Cc: Hal Murray <hmurray@megapathdsl.net>, Dave Taht
<dave.taht@gmail.com>, Jim Getty <jg@freedesktop.org>, Gary Miller
<gem@rellim.com>



I've been collecting data from 2 SiRF units.  I'm up to about 12 days now.

Quick summary: both suck.

Both are located inside my house, poor conditions.


The first is a Holux GR-213.  It's setup to only send GPRMC sentences.
That's what I would use with ntpd.

Here is the startup:
 http://www.megapathdsl.net/~hmurray/bb/gps/Holux-1.png

The green marks are "good" sentences.  The Y offset is the difference between
the actual arrival time and the time stamp in the sentence.  The blue marks
are the fraction part of the time stamp in the sentence.  The red marks are
invalid sentences.

At about -2.94 (hours) the reported time jumped by 1 second.  My guess is
that it learned about the latest leap second or something like that.

At about -2.82 hours, the fractional part of the report switched to 0.  I
have no idea what caused that.  It doesn't really matter much.  It wasn't
useful anyway.

Here is the big picture:
 http://www.megapathdsl.net/~hmurray/bb/gps/Holux-2.png
There is a mode shift every 1-3 days.  What's the right term?

For reference, here is an old graph with the mode shift every 8-12 hours.
 http://www.megapathdsl.net/~hmurray/bb/gps/SiRF-GPRMC-4800.png

This is the previous 2 pictures glued together:
 http://www.megapathdsl.net/~hmurray/bb/gps/Holux-3.png

Here is one day:
 http://www.megapathdsl.net/~hmurray/bb/gps/Holux-4.png

-------------

The second unit is a Global Sat BU-353.  It ignored my attempts to change the
configuration, so I let it run in the default setup.  Normally it sends
GPGGA, GPGSA, and GPRMC.  Every 5 seconds it includes 3 GPGSV sentences
before the GPRMC.  I think that fits in 1 second at 4800 baud, but the GPRMC
gets pushed over to the next second.

Here is the graph for the GPGGA sentences:
 http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga.png
The long term cycle time is 8-10 days.

Here is the graph for the GPRMC sentences:
 http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gprmc.png
The top band of green is the data that gets pushed over to the next second.
The blue and purple are the number of satellites.  (They are scaled up by
100.)  I don't see any pattern.

This unit doesn't always return 000 for the fraction part of the time stamp.
Sometimes it's 998 or 999 with the previous second.
 http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga-off.png



--
These are my opinions, not necessarily my employer's.  I hate spam.





-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17  2:06 ` [Thumbgps-devel] Fwd: Long term SiRF data Dave Taht
@ 2012-03-17 14:42   ` Ron Frazier (NTP)
  2012-03-17 14:58     ` Ron Frazier (NTP)
  2012-03-17 16:56     ` Patrick Maupin
       [not found]   ` <4F64DCB8.7090603@c3energy.com>
  1 sibling, 2 replies; 10+ messages in thread
From: Ron Frazier (NTP) @ 2012-03-17 14:42 UTC (permalink / raw)
  To: Dave Taht; +Cc: thumbgps-devel

Hi all,

(I'd like to cross post this message, including the original message 
below to the NTP questions list since we've been discussing this nmea 
wandering effect.  Let me know if there are any objections.)
(Please forward this to the original sender of the first message if needed.)

I've been seeing similar wandering of the NMEA output on my BU-353. 
  This graph shows what looks like the internet servers (colored lines) 
wandering off while my pc is locked to gps time (dark jaggy baseline). 
  I suppose it's actually the GPS wandering off.

http://dl.dropbox.com/u/9879631/drifting01-peerstats.20120312.jpg

Can someone please tell me, if known, why this happens?  I've been 
discussing this a good bit on the NTP questions list.  On my particular 
home network / internet connection, my offsets to internet servers with 
NTP running run about + / - 50 ms.  I've decided to use the BU-353 GPS 
anyway, since in the short term, my offsets are + / - 6 ms or so, even 
if over days, my time varies + / - 70 ms from UTC.  At least the 
variations are not every 15 minutes like they would be if I was polling 
the internet.  I hope to shortly have a Sure Electronics GPS board and 
will be testing that.  David Taylor, on the NTP questions list says the 
same NMEA wandering has been observed on the Garmin 18 ??.  I'm not sure 
which model that was.

Here's how to reprogram th BU-353.  Lots of the support stuff is here:

http://www.usglobalsat.com/s-122-bu-353-support.aspx

However, the program we need is not.  To program the unit, you need 
SirfDemo.

First check out the FAQ here:

http://www.usglobalsat.com/store/gpsfacts/bu353_gps_facts.html

And you can find a link to SirfDemo here:

http://www.usglobalsat.com/downloads/setupSiRFDemoV387.zip

Unzip and install SirfDemo.  Do the following to reprogram the BU-353. 
  I assume other SirfIII units are similar.  SirfDemo gives you access 
to a HUGE number of internal GPS functions, probably enough to really 
screw up the device if you're not careful.  You can also do factory 
restarts, etc., from the menus.

a) Shut down NTP, GPSD, or any other thing attached to the GPS virtual 
com port.
b) Start SirfDemo.
c) A Data Source window will pop up.  Select the com port and data rate 
that the GPS is currently set to.  If the baud rate is unknown, try 4800 
then try to connect, then 9600, etc.  If the com port is unknown, look 
in the Windows control panel, system, device manager under ports com and 
lpt to determine which com port is active.
d) Under the view menu, turn on the Signal, Radar, Map, Messages 
Response, Messages Error, and Messages Debug windows if not on already.
e) Click the 5th toolbar button, which is connect to data source.
f) If the unit is outputting NMEA data, that should appear in the debug 
window.  If it is outputting satellite data, you'll get that in the 
signal and radar windows.
g) Under the Action menu, select switch to SIRF protocol.  The NMEA data 
will stop and the response window will start outputting data.
h) Under the Action menu, select switch to NMEA protocol.
i) A parameter selection window will pop up.  This allows the sentence 
output to be customized.  Using the drop down boxes, put a 1 in every 
sentence you want to occur once per second.  Put a 2 for once every 2 
seconds, etc.  Put a 0 if you don't want the sentence to appear at all. 
  You can click in the first number field, type a number, and tab to the 
rest if you like.  I leave checksums turned on.  Select your baud rate, 
then click send.
j) The response view windows should stop updating and the debug view 
should start up again with NMEA sentences.
k) Click the 5th toolbar button again which will disconnect you from the 
GPS.
l) Close SirfDemo.
m) You are now ready to resume using the GPS with NTP as normal.

There are many many other options you can choose from the menu options 
of SirfDemo, including a factory reset, should you need it.

Hope this helps.

Sincerely,

Ron


> I can't remember if I had shared this already.
>
>
> ---------- Forwarded message ----------
> From: Hal Murray<hmurray@megapathdsl.net>
> Date: Tue, Oct 25, 2011 at 2:58 AM
> Subject: Long term SiRF data
> To: Eric Raymond<esr@thyrsus.com>
> Cc: Hal Murray<hmurray@megapathdsl.net>, Dave Taht
> <dave.taht@gmail.com>, Jim Getty<jg@freedesktop.org>, Gary Miller
> <gem@rellim.com>
>
>
>
> I've been collecting data from 2 SiRF units.  I'm up to about 12 days now.
>
> Quick summary: both suck.
>
> Both are located inside my house, poor conditions.
>
>
> The first is a Holux GR-213.  It's setup to only send GPRMC sentences.
> That's what I would use with ntpd.
>
> Here is the startup:
>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-1.png
>
> The green marks are "good" sentences.  The Y offset is the difference between
> the actual arrival time and the time stamp in the sentence.  The blue marks
> are the fraction part of the time stamp in the sentence.  The red marks are
> invalid sentences.
>
> At about -2.94 (hours) the reported time jumped by 1 second.  My guess is
> that it learned about the latest leap second or something like that.
>
> At about -2.82 hours, the fractional part of the report switched to 0.  I
> have no idea what caused that.  It doesn't really matter much.  It wasn't
> useful anyway.
>
> Here is the big picture:
>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-2.png
> There is a mode shift every 1-3 days.  What's the right term?
>
> For reference, here is an old graph with the mode shift every 8-12 hours.
>   http://www.megapathdsl.net/~hmurray/bb/gps/SiRF-GPRMC-4800.png
>
> This is the previous 2 pictures glued together:
>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-3.png
>
> Here is one day:
>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-4.png
>
> -------------
>
> The second unit is a Global Sat BU-353.  It ignored my attempts to change the
> configuration, so I let it run in the default setup.  Normally it sends
> GPGGA, GPGSA, and GPRMC.  Every 5 seconds it includes 3 GPGSV sentences
> before the GPRMC.  I think that fits in 1 second at 4800 baud, but the GPRMC
> gets pushed over to the next second.
>
> Here is the graph for the GPGGA sentences:
>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga.png
> The long term cycle time is 8-10 days.
>
> Here is the graph for the GPRMC sentences:
>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gprmc.png
> The top band of green is the data that gets pushed over to the next second.
> The blue and purple are the number of satellites.  (They are scaled up by
> 100.)  I don't see any pattern.
>
> This unit doesn't always return 000 for the fraction part of the time stamp.
> Sometimes it's 998 or 999 with the previous second.
>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga-off.png
>
>
>
> --
> These are my opinions, not necessarily my employer's.  I hate spam.
>
>
>
>
>
>    

-- 

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such.  I don't always see new messages very quickly.  If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT c3energy.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 14:42   ` Ron Frazier (NTP)
@ 2012-03-17 14:58     ` Ron Frazier (NTP)
  2012-03-17 16:56     ` Patrick Maupin
  1 sibling, 0 replies; 10+ messages in thread
From: Ron Frazier (NTP) @ 2012-03-17 14:58 UTC (permalink / raw)
  Cc: thumbgps-devel

PS to my prior message.  The following should reset the GPS's NMEA 
offset from UTC to it's initial point.  I don't know how varying 
satellite view affects this.  Shut down NTP, unplug the GPS for 30 
seconds, replug the GPS, wait 30 seconds, restart NTP.

Sincerely,

Ron


> Hi all,
>
> (I'd like to cross post this message, including the original message 
> below to the NTP questions list since we've been discussing this nmea 
> wandering effect.  Let me know if there are any objections.)
> (Please forward this to the original sender of the first message if 
> needed.)
>
> I've been seeing similar wandering of the NMEA output on my BU-353. 
>  This graph shows what looks like the internet servers (colored lines) 
> wandering off while my pc is locked to gps time (dark jaggy baseline). 
>  I suppose it's actually the GPS wandering off.
>
> http://dl.dropbox.com/u/9879631/drifting01-peerstats.20120312.jpg
>
> Can someone please tell me, if known, why this happens?  I've been 
> discussing this a good bit on the NTP questions list.  On my 
> particular home network / internet connection, my offsets to internet 
> servers with NTP running run about + / - 50 ms.  I've decided to use 
> the BU-353 GPS anyway, since in the short term, my offsets are + / - 6 
> ms or so, even if over days, my time varies + / - 70 ms from UTC.  At 
> least the variations are not every 15 minutes like they would be if I 
> was polling the internet.  I hope to shortly have a Sure Electronics 
> GPS board and will be testing that.  David Taylor, on the NTP 
> questions list says the same NMEA wandering has been observed on the 
> Garmin 18 ??.  I'm not sure which model that was.
>
> Here's how to reprogram th BU-353.  Lots of the support stuff is here:
>
> http://www.usglobalsat.com/s-122-bu-353-support.aspx
>
> However, the program we need is not.  To program the unit, you need 
> SirfDemo.
>
> First check out the FAQ here:
>
> http://www.usglobalsat.com/store/gpsfacts/bu353_gps_facts.html
>
> And you can find a link to SirfDemo here:
>
> http://www.usglobalsat.com/downloads/setupSiRFDemoV387.zip
>
> Unzip and install SirfDemo.  Do the following to reprogram the BU-353. 
>  I assume other SirfIII units are similar.  SirfDemo gives you access 
> to a HUGE number of internal GPS functions, probably enough to really 
> screw up the device if you're not careful.  You can also do factory 
> restarts, etc., from the menus.
>
> a) Shut down NTP, GPSD, or any other thing attached to the GPS virtual 
> com port.
> b) Start SirfDemo.
> c) A Data Source window will pop up.  Select the com port and data 
> rate that the GPS is currently set to.  If the baud rate is unknown, 
> try 4800 then try to connect, then 9600, etc.  If the com port is 
> unknown, look in the Windows control panel, system, device manager 
> under ports com and lpt to determine which com port is active.
> d) Under the view menu, turn on the Signal, Radar, Map, Messages 
> Response, Messages Error, and Messages Debug windows if not on already.
> e) Click the 5th toolbar button, which is connect to data source.
> f) If the unit is outputting NMEA data, that should appear in the 
> debug window.  If it is outputting satellite data, you'll get that in 
> the signal and radar windows.
> g) Under the Action menu, select switch to SIRF protocol.  The NMEA 
> data will stop and the response window will start outputting data.
> h) Under the Action menu, select switch to NMEA protocol.
> i) A parameter selection window will pop up.  This allows the sentence 
> output to be customized.  Using the drop down boxes, put a 1 in every 
> sentence you want to occur once per second.  Put a 2 for once every 2 
> seconds, etc.  Put a 0 if you don't want the sentence to appear at 
> all.  You can click in the first number field, type a number, and tab 
> to the rest if you like.  I leave checksums turned on.  Select your 
> baud rate, then click send.
> j) The response view windows should stop updating and the debug view 
> should start up again with NMEA sentences.
> k) Click the 5th toolbar button again which will disconnect you from 
> the GPS.
> l) Close SirfDemo.
> m) You are now ready to resume using the GPS with NTP as normal.
>
> There are many many other options you can choose from the menu options 
> of SirfDemo, including a factory reset, should you need it.
>
> Hope this helps.
>
> Sincerely,
>
> Ron
>
>
>> I can't remember if I had shared this already.
>>
>>
>> ---------- Forwarded message ----------
>> From: Hal Murray<hmurray@megapathdsl.net>
>> Date: Tue, Oct 25, 2011 at 2:58 AM
>> Subject: Long term SiRF data
>> To: Eric Raymond<esr@thyrsus.com>
>> Cc: Hal Murray<hmurray@megapathdsl.net>, Dave Taht
>> <dave.taht@gmail.com>, Jim Getty<jg@freedesktop.org>, Gary Miller
>> <gem@rellim.com>
>>
>>
>>
>> I've been collecting data from 2 SiRF units.  I'm up to about 12 days 
>> now.
>>
>> Quick summary: both suck.
>>
>> Both are located inside my house, poor conditions.
>>
>>
>> The first is a Holux GR-213.  It's setup to only send GPRMC sentences.
>> That's what I would use with ntpd.
>>
>> Here is the startup:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-1.png
>>
>> The green marks are "good" sentences.  The Y offset is the difference 
>> between
>> the actual arrival time and the time stamp in the sentence.  The blue 
>> marks
>> are the fraction part of the time stamp in the sentence.  The red 
>> marks are
>> invalid sentences.
>>
>> At about -2.94 (hours) the reported time jumped by 1 second.  My 
>> guess is
>> that it learned about the latest leap second or something like that.
>>
>> At about -2.82 hours, the fractional part of the report switched to 
>> 0.  I
>> have no idea what caused that.  It doesn't really matter much.  It 
>> wasn't
>> useful anyway.
>>
>> Here is the big picture:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-2.png
>> There is a mode shift every 1-3 days.  What's the right term?
>>
>> For reference, here is an old graph with the mode shift every 8-12 
>> hours.
>>   http://www.megapathdsl.net/~hmurray/bb/gps/SiRF-GPRMC-4800.png
>>
>> This is the previous 2 pictures glued together:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-3.png
>>
>> Here is one day:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/Holux-4.png
>>
>> -------------
>>
>> The second unit is a Global Sat BU-353.  It ignored my attempts to 
>> change the
>> configuration, so I let it run in the default setup.  Normally it sends
>> GPGGA, GPGSA, and GPRMC.  Every 5 seconds it includes 3 GPGSV sentences
>> before the GPRMC.  I think that fits in 1 second at 4800 baud, but 
>> the GPRMC
>> gets pushed over to the next second.
>>
>> Here is the graph for the GPGGA sentences:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga.png
>> The long term cycle time is 8-10 days.
>>
>> Here is the graph for the GPRMC sentences:
>>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gprmc.png
>> The top band of green is the data that gets pushed over to the next 
>> second.
>> The blue and purple are the number of satellites.  (They are scaled 
>> up by
>> 100.)  I don't see any pattern.
>>
>> This unit doesn't always return 000 for the fraction part of the time 
>> stamp.
>> Sometimes it's 998 or 999 with the previous second.
>>   http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga-off.png
>>
>>
>>
>> -- 
>> These are my opinions, not necessarily my employer's.  I hate spam.
>>
>>
>>
>>
>>
>

-- 

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such.  I don't always see new messages very quickly.  If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT c3energy.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 14:42   ` Ron Frazier (NTP)
  2012-03-17 14:58     ` Ron Frazier (NTP)
@ 2012-03-17 16:56     ` Patrick Maupin
  2012-03-17 18:04       ` Ron Frazier (NTP)
  2012-03-17 21:58       ` tz
  1 sibling, 2 replies; 10+ messages in thread
From: Patrick Maupin @ 2012-03-17 16:56 UTC (permalink / raw)
  To: Ron Frazier (NTP); +Cc: thumbgps-devel

On Sat, Mar 17, 2012 at 9:42 AM, Ron Frazier (NTP)
<timekeepingntplist@c3energy.com> wrote:
> (I'd like to cross post this message, including the original message below
> to the NTP questions list since we've been discussing this nmea wandering
> effect.  Let me know if there are any objections.)

I don't know why there would be.  But perhaps you can forward any
interesting replies.

> I've been seeing similar wandering of the NMEA output on my BU-353.  This
> graph shows what looks like the internet servers (colored lines) wandering
> off while my pc is locked to gps time (dark jaggy baseline).  I suppose it's
> actually the GPS wandering off.

I've been making some progress on building a replicable device
suitable for fairly accurate short term timing.  I think the
capabilities required have been shrinking as things like reports of
300 us jitter come in, but I still think it would be extremely useful
to have a device (a) that we can have a few of and (b) that can be
used to validate timing variations from other devices and as a check
on the system clock and (c) that isn't a $100K piece of lab equipment.

So the simplest goal is to make a highly accurate oscillator that you
can hook to your PC that generates USB interrupts like the USB.  If it
"wanders" like the GPS, then, well, it's probably your PC, perhaps
losing time under heavy load or something.

The next goal is to be able to timestamp external events (e.g. from a
1pps pin) to even more accurately determine the intrinsic jitter.  As
part of this, the jitter from the USB chip can be measured fairly
automagically.

There are lots of OCXO and rubidium timing standards on places like
ebay.  Most are used, pulled from service for some reason, and reside
in China.  I found a cache of new OCXO oscillators in the US that
aren't the absolute best, but the specs seem pretty good for my
purposes:

OHM4048052GG010020-26.0M

http://pletronics.com/files/index.php/ohm4%205.0v.pdf

Accuracy is 100 ppb over entire temperature range and 100 ppb over any
power variations.  Short term accuracy (defined as: pick a pulse, and
then pick another pulse that should happen between 0.1s and 30 s
later, and measure the actual elapsed time vs. expected time, where
"expected time" is not the nominal frequency, but rather the long-term
measured frequency) is within 0.5 ppb.  If you can't figure out where
your jitter's coming from with that sort of accuracy, you're doing
something horribly wrong.

I found a discussion of these OCXOs in the timenuts mailing list
archives -- people seem happy with them, and he was selling them for
$2 last year.  They're a bit more now, but the guy apparently still
has lots of these and they're much cheaper than any other new OCXOs
around.

It's an oddball frequency, so my guess is somebody had a custom build
done and then didn't build as many units as they were anticipating,
and the price stays low because people building frequency standards
usually want 10 MHz, not 26 MHz.  Anyway, wanting to make sure that I
had a cheaply replicable device for a reasonable number of units, I
bought 10 of them for under $4 each.

Unlike people who want a stable, accurate 10 MHz signal in their lab,
we want stable, controllable USB interrupts.  Absolute accuracy is not
all that important, because if the signal is long-term stable, you can
easily figure out the real frequency.  The actual frequency of the
crystal is not important to us for the same reason.

The main downside of this OCXO from my perspective is that it is 5
volts, and I want to build a self-contained bus-powered USB unit for
it, and USB 5 volts is not very stable or accurate, so I will need to
build a boost converter followed by a linear LDO to get a more
accurate voltage source.  I've done some research on the components
for this and will probably try to lay out a board by next weekend.

The primary other components are USB and an FPGA.  I'm initially
planning on making 3 of these boards, and ease of assembly is higher
on my priority list than low cost, so I am planning on using modules
for the USB and FPGA.

I will probably go with an FTDI high speed USB module -- the UM232H is
readily available.  For the FPGA, there's a company that has been
around awhile but has been uncompetitive for a long time, but that has
recently refreshed its product line, and now has a nice cheap open
source design:

http://xess.com/prods/prod048.php

They specialize in Windows, but all the microcontroller and driver
code is open source and someone did a Python script that uses PyUSB
for programming it.  I'm sure we could transfer timestamp info through
the PIC USB device it has on it, but I'm not interested in learning
that at this point, and it's only full-speed and I'm sure we can get
better resolution with a high speed device, so I will go ahead and
build a board that can accept the FTDI module.  I've ordered a couple
of these as well.

So far the design looks like this:

$20 FTDI UM232H module
$55 Xess FPGA module
$35 PCB (each for qty 3)
$ 3 OCXO
$ 7 estimated precision power supply for xtal
$ 5 estimated other components for xtal (tuning voltage, level shifter)
$20 estimated misc connectors, etc.
-------
$140

So if all goes well, in around three weeks, for under $500, I should
have three precision timing devices that we can ship around as needed,
and reprogram the FPGA on to give us whatever info we want.  They will
be usable both as a stable time base, and to be able to timestamp
external events, such as 1pps pulses, start of character data, end of
character data, etc.

Start of character data is useful because, for example, if a given
chipset outputs data at a known location in the second, and we can set
the latency timer to 0, then we will know by when the first character
comes out what time it is.  As esr points out, it may be difficult to
know whether this is accurate or not in the field, but as others point
out, this might be determinable via examining vendor-specific strings.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 16:56     ` Patrick Maupin
@ 2012-03-17 18:04       ` Ron Frazier (NTP)
  2012-03-17 21:53         ` Patrick Maupin
  2012-03-17 21:58       ` tz
  1 sibling, 1 reply; 10+ messages in thread
From: Ron Frazier (NTP) @ 2012-03-17 18:04 UTC (permalink / raw)
  Cc: thumbgps-devel

On 3/17/2012 12:56 PM, Patrick Maupin wrote:
> On Sat, Mar 17, 2012 at 9:42 AM, Ron Frazier (NTP)
> <timekeepingntplist@c3energy.com>  wrote:
>    
>> (I'd like to cross post this message, including the original message below
>> to the NTP questions list since we've been discussing this nmea wandering
>> effect.  Let me know if there are any objections.)
>>      
> I don't know why there would be.  But perhaps you can forward any
> interesting replies.
>
>    
>> I've been seeing similar wandering of the NMEA output on my BU-353.  This
>> graph shows what looks like the internet servers (colored lines) wandering
>> off while my pc is locked to gps time (dark jaggy baseline).  I suppose it's
>> actually the GPS wandering off.
>>      
> I've been making some progress on building a replicable device
> suitable for fairly accurate short term timing.  I think the
> capabilities required have been shrinking as things like reports of
> 300 us jitter come in, but I still think it would be extremely useful
> to have a device (a) that we can have a few of and (b) that can be
> used to validate timing variations from other devices and as a check
> on the system clock and (c) that isn't a $100K piece of lab equipment.
>
> So the simplest goal is to make a highly accurate oscillator that you
> can hook to your PC that generates USB interrupts like the USB.  If it
> "wanders" like the GPS, then, well, it's probably your PC, perhaps
> losing time under heavy load or something.
>
>    

I don't know what all your design criteria are, but for just the little 
piece of the problem you mentioned above, you could try something like 
this.  Take the output of one of those OCXO's, which I think you said is 
26 Mhz.  If I'm doing my math right, run that through a 15 bit counter 
to divide it down.  The output should be a very accurate 793.457 Hz 
square wave.  You could, of course add more bits to divide further.  You 
could also add some glue logic to reset the counter at any point you 
wanted, to get less ugly output frequencies.  Take that 793 Hz square 
wave and feed it into one of the handshaking pins, like DCD, on any 
Prolific or FTDI based serial - usb converter that passes handshaking.  
I have a Trendnet TU-S9 unit which I hope to be testing soon.  This 
should give you very consistent USB messages coming from the converter 
with a period of about 1.2 ms.

Sincerely,

Ron

> The next goal is to be able to timestamp external events (e.g. from a
> 1pps pin) to even more accurately determine the intrinsic jitter.  As
> part of this, the jitter from the USB chip can be measured fairly
> automagically.
>
> There are lots of OCXO and rubidium timing standards on places like
> ebay.  Most are used, pulled from service for some reason, and reside
> in China.  I found a cache of new OCXO oscillators in the US that
> aren't the absolute best, but the specs seem pretty good for my
> purposes:
>
> OHM4048052GG010020-26.0M
>
> http://pletronics.com/files/index.php/ohm4%205.0v.pdf
>
> Accuracy is 100 ppb over entire temperature range and 100 ppb over any
> power variations.  Short term accuracy (defined as: pick a pulse, and
> then pick another pulse that should happen between 0.1s and 30 s
> later, and measure the actual elapsed time vs. expected time, where
> "expected time" is not the nominal frequency, but rather the long-term
> measured frequency) is within 0.5 ppb.  If you can't figure out where
> your jitter's coming from with that sort of accuracy, you're doing
> something horribly wrong.
>
> I found a discussion of these OCXOs in the timenuts mailing list
> archives -- people seem happy with them, and he was selling them for
> $2 last year.  They're a bit more now, but the guy apparently still
> has lots of these and they're much cheaper than any other new OCXOs
> around.
>
> It's an oddball frequency, so my guess is somebody had a custom build
> done and then didn't build as many units as they were anticipating,
> and the price stays low because people building frequency standards
> usually want 10 MHz, not 26 MHz.  Anyway, wanting to make sure that I
> had a cheaply replicable device for a reasonable number of units, I
> bought 10 of them for under $4 each.
>
> Unlike people who want a stable, accurate 10 MHz signal in their lab,
> we want stable, controllable USB interrupts.  Absolute accuracy is not
> all that important, because if the signal is long-term stable, you can
> easily figure out the real frequency.  The actual frequency of the
> crystal is not important to us for the same reason.
>
> The main downside of this OCXO from my perspective is that it is 5
> volts, and I want to build a self-contained bus-powered USB unit for
> it, and USB 5 volts is not very stable or accurate, so I will need to
> build a boost converter followed by a linear LDO to get a more
> accurate voltage source.  I've done some research on the components
> for this and will probably try to lay out a board by next weekend.
>
> The primary other components are USB and an FPGA.  I'm initially
> planning on making 3 of these boards, and ease of assembly is higher
> on my priority list than low cost, so I am planning on using modules
> for the USB and FPGA.
>
> I will probably go with an FTDI high speed USB module -- the UM232H is
> readily available.  For the FPGA, there's a company that has been
> around awhile but has been uncompetitive for a long time, but that has
> recently refreshed its product line, and now has a nice cheap open
> source design:
>
> http://xess.com/prods/prod048.php
>
> They specialize in Windows, but all the microcontroller and driver
> code is open source and someone did a Python script that uses PyUSB
> for programming it.  I'm sure we could transfer timestamp info through
> the PIC USB device it has on it, but I'm not interested in learning
> that at this point, and it's only full-speed and I'm sure we can get
> better resolution with a high speed device, so I will go ahead and
> build a board that can accept the FTDI module.  I've ordered a couple
> of these as well.
>
> So far the design looks like this:
>
> $20 FTDI UM232H module
> $55 Xess FPGA module
> $35 PCB (each for qty 3)
> $ 3 OCXO
> $ 7 estimated precision power supply for xtal
> $ 5 estimated other components for xtal (tuning voltage, level shifter)
> $20 estimated misc connectors, etc.
> -------
> $140
>
> So if all goes well, in around three weeks, for under $500, I should
> have three precision timing devices that we can ship around as needed,
> and reprogram the FPGA on to give us whatever info we want.  They will
> be usable both as a stable time base, and to be able to timestamp
> external events, such as 1pps pulses, start of character data, end of
> character data, etc.
>
> Start of character data is useful because, for example, if a given
> chipset outputs data at a known location in the second, and we can set
> the latency timer to 0, then we will know by when the first character
> comes out what time it is.  As esr points out, it may be difficult to
> know whether this is accurate or not in the field, but as others point
> out, this might be determinable via examining vendor-specific strings.
>
>    

-- 

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such.  I don't always see new messages very quickly.  If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT c3energy.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] [ntp:questions] Fwd: Long term SiRF data / NMEA Wandering
       [not found]     ` <004801cd0476$7e4fe670$7aefb350$@ch@verizon.net>
@ 2012-03-17 21:31       ` Ron Frazier (NTP)
  0 siblings, 0 replies; 10+ messages in thread
From: Ron Frazier (NTP) @ 2012-03-17 21:31 UTC (permalink / raw)
  To: questions, thumbgps-devel

Cross posting to the thumbgps-devel list.

Ron


On 3/17/2012 3:45 PM, Charles Elliott wrote:
> I program the BU-353 with regular C++.  I have a copy of the "SiRF NMEA
> Reference Manual" (P/N: 1050-0042, Rev 2.2, 11/08) that I received from
>
> SiRF Technology, Inc.
> 217 Devcon Drive
> San Jose, CA 95112
> PH: +1(408) 467-0410
> support@SiRF.com.
>
> It contains descriptions of all the NMEA messages SiRF supports (both input
> and output) and many of the SiRF proprietary messages.
>
> If SiRF is not forthcoming with another copy, I could try scanning it and
> posting it on Windows Live.  It is fairly long, so please let me know if you
> need it.
>
> Charles Elliott
>
>    
>> -----Original Message-----
>> From: questions-bounces+elliott.ch=verizon.net@lists.ntp.org
>> [mailto:questions-bounces+elliott.ch=verizon.net@lists.ntp.org] On
>> Behalf Of Ron Frazier (NTP)
>> Sent: Saturday, March 17, 2012 2:49 PM
>> To: questions@lists.ntp.org
>> Subject: [ntp:questions] Fwd: Long term SiRF data / NMEA Wandering
>>
>> Hi all,
>>
>> This is a cross post from the [Thumbgps-devel] list.  It relates to
>> some testing on some SIRF GPS's the original poster is doing (at the
>> bottom).
>>    The part on top is my reply to him.  I thought those here might like
>> to see it, considering recent GPS related discussions we've been
>> having.
>>
>> Sincerely,
>>
>> Ron
>>
>> -----------------
>>
>> Hi all,
>>
>> I've been seeing similar wandering of the NMEA output on my BU-353.
>> This graph shows what looks like the internet servers (colored lines)
>> wandering off while my pc is locked to gps time (dark jaggy baseline).
>> I suppose it's actually the GPS wandering off.
>>
>> http://dl.dropbox.com/u/9879631/drifting01-peerstats.20120312.jpg
>>
>> Can someone please tell me, if known, why this happens?  I've been
>> discussing this a good bit on the NTP questions list.  On my particular
>> home network / internet connection, my offsets to internet servers with
>> NTP running run about + / - 50 ms.  I've decided to use the BU-353 GPS
>> anyway, since in the short term, my offsets are + / - 6 ms or so, even
>> if over days, my time varies + / - 70 ms from UTC.  At least the
>> variations are not every 15 minutes like they would be if I was polling
>> the internet.  I hope to shortly have a Sure Electronics GPS board and
>> will be testing that.  David Taylor, on the NTP questions list says the
>> same NMEA wandering has been observed on the Garmin 18 ??.  I'm not
>> sure which model that was.
>>
>> Here's how to reprogram th BU-353.  Lots of the support stuff is here:
>>
>> http://www.usglobalsat.com/s-122-bu-353-support.aspx
>>
>> However, the program we need is not.  To program the unit, you need
>> SirfDemo.
>>
>> First check out the FAQ here:
>>
>> http://www.usglobalsat.com/store/gpsfacts/bu353_gps_facts.html
>>
>> And you can find a link to SirfDemo here:
>>
>> http://www.usglobalsat.com/downloads/setupSiRFDemoV387.zip
>>
>> Unzip and install SirfDemo.  Do the following to reprogram the BU-353.
>> I assume other SirfIII units are similar.  SirfDemo gives you access to
>> a HUGE number of internal GPS functions, probably enough to really
>> screw up the device if you're not careful.  You can also do factory
>> restarts, etc., from the menus.
>>
>> a) Shut down NTP, GPSD, or any other thing attached to the GPS virtual
>> com port.
>> b) Start SirfDemo.
>> c) A Data Source window will pop up.  Select the com port and data rate
>> that the GPS is currently set to.  If the baud rate is unknown, try
>> 4800 then try to connect, then 9600, etc.  If the com port is unknown,
>> look in the Windows control panel, system, device manager under ports
>> com and lpt to determine which com port is active.
>> d) Under the view menu, turn on the Signal, Radar, Map, Messages
>> Response, Messages Error, and Messages Debug windows if not on already.
>> e) Click the 5th toolbar button, which is connect to data source.
>> f) If the unit is outputting NMEA data, that should appear in the debug
>> window.  If it is outputting satellite data, you'll get that in the
>> signal and radar windows.
>> g) Under the Action menu, select switch to SIRF protocol.  The NMEA
>> data will stop and the response window will start outputting data.
>> h) Under the Action menu, select switch to NMEA protocol.
>> i) A parameter selection window will pop up.  This allows the sentence
>> output to be customized.  Using the drop down boxes, put a 1 in every
>> sentence you want to occur once per second.  Put a 2 for once every 2
>> seconds, etc.  Put a 0 if you don't want the sentence to appear at all.
>>    You can click in the first number field, type a number, and tab to
>> the rest if you like.  I leave checksums turned on.  Select your baud
>> rate, then click send.
>> j) The response view windows should stop updating and the debug view
>> should start up again with NMEA sentences.
>> k) Click the 5th toolbar button again which will disconnect you from
>> the GPS.
>> l) Close SirfDemo.
>> m) You are now ready to resume using the GPS with NTP as normal.
>>
>> There are many many other options you can choose from the menu options
>> of SirfDemo, including a factory reset, should you need it.
>>
>> Hope this helps.
>>
>> Sincerely,
>>
>> Ron
>>
>>
>>      
>>> I can't remember if I had shared this already.
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: Hal Murray<hmurray@megapathdsl.net>
>>> Date: Tue, Oct 25, 2011 at 2:58 AM
>>> Subject: Long term SiRF data
>>> To: Eric Raymond<esr@thyrsus.com>
>>> Cc: Hal Murray<hmurray@megapathdsl.net>, Dave Taht
>>> <dave.taht@gmail.com>, Jim Getty<jg@freedesktop.org>, Gary Miller
>>> <gem@rellim.com>
>>>
>>>
>>>
>>> I've been collecting data from 2 SiRF units.  I'm up to about 12 days
>>>        
>> now.
>>      
>>> Quick summary: both suck.
>>>
>>> Both are located inside my house, poor conditions.
>>>
>>>
>>> The first is a Holux GR-213.  It's setup to only send GPRMC
>>>        
>> sentences.
>>      
>>> That's what I would use with ntpd.
>>>
>>> Here is the startup:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/Holux-1.png
>>>
>>> The green marks are "good" sentences.  The Y offset is the difference
>>> between the actual arrival time and the time stamp in the sentence.
>>> The blue marks are the fraction part of the time stamp in the
>>> sentence.  The red marks are invalid sentences.
>>>
>>> At about -2.94 (hours) the reported time jumped by 1 second.  My
>>>        
>> guess
>>      
>>> is that it learned about the latest leap second or something like
>>>        
>> that.
>>      
>>> At about -2.82 hours, the fractional part of the report switched to
>>>        
>> 0.
>>      
>>> I have no idea what caused that.  It doesn't really matter much.  It
>>> wasn't useful anyway.
>>>
>>> Here is the big picture:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/Holux-2.png
>>> There is a mode shift every 1-3 days.  What's the right term?
>>>
>>> For reference, here is an old graph with the mode shift every 8-12
>>>        
>> hours.
>>      
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/SiRF-GPRMC-4800.png
>>>
>>> This is the previous 2 pictures glued together:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/Holux-3.png
>>>
>>> Here is one day:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/Holux-4.png
>>>
>>> -------------
>>>
>>> The second unit is a Global Sat BU-353.  It ignored my attempts to
>>> change the configuration, so I let it run in the default setup.
>>> Normally it sends GPGGA, GPGSA, and GPRMC.  Every 5 seconds it
>>> includes 3 GPGSV sentences before the GPRMC.  I think that fits in 1
>>> second at 4800 baud, but the GPRMC gets pushed over to the next
>>>        
>> second.
>>      
>>> Here is the graph for the GPGGA sentences:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga.png
>>> The long term cycle time is 8-10 days.
>>>
>>> Here is the graph for the GPRMC sentences:
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gprmc.png
>>> The top band of green is the data that gets pushed over to the next
>>>        
>> second.
>>      
>>> The blue and purple are the number of satellites.  (They are scaled
>>>        
>> up
>>      
>>> by
>>> 100.)  I don't see any pattern.
>>>
>>> This unit doesn't always return 000 for the fraction part of the time
>>>        
>> stamp.
>>      
>>> Sometimes it's 998 or 999 with the previous second.
>>>    http://www.megapathdsl.net/~hmurray/bb/gps/BU-353-gpgga-off.png
>>>
>>>
>>>
>>> --
>>> These are my opinions, not necessarily my employer's.  I hate spam.
>>>
>>>
>>> questions mailing list
>>> questions@lists.ntp.org
>>> http://lists.ntp.org/listinfo/questions
>>>        

-- 

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such.  I don't always see new messages very quickly.  If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT c3energy.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 18:04       ` Ron Frazier (NTP)
@ 2012-03-17 21:53         ` Patrick Maupin
  0 siblings, 0 replies; 10+ messages in thread
From: Patrick Maupin @ 2012-03-17 21:53 UTC (permalink / raw)
  To: Ron Frazier (NTP); +Cc: thumbgps-devel

On Sat, Mar 17, 2012 at 1:04 PM, Ron Frazier (NTP)
<timekeepingntplist@c3energy.com> wrote:
> I don't know what all your design criteria are, but for just the little
> piece of the problem you mentioned above, you could try something like this.
>  Take the output of one of those OCXO's, which I think you said is 26 Mhz.
>  If I'm doing my math right, run that through a 15 bit counter to divide it
> down.  The output should be a very accurate 793.457 Hz square wave.  You
> could, of course add more bits to divide further.  You could also add some
> glue logic to reset the counter at any point you wanted, to get less ugly
> output frequencies.  Take that 793 Hz square wave and feed it into one of
> the handshaking pins, like DCD, on any Prolific or FTDI based serial - usb
> converter that passes handshaking.  I have a Trendnet TU-S9 unit which I
> hope to be testing soon.  This should give you very consistent USB messages
> coming from the converter with a period of about 1.2 ms.

I'm not a huge fan of discrete logic, and I'm buying reasonable sized
FPGAs, so we don't need to do really fancy stuff to get count values
that we want.  It will be dead easy.  In fact, my thought was that the
system could tell it what frequency it wanted to be interrupted.
Sometimes you might want to monitor things closely, other times just
run minimal interrupts in the background.

Also, I can send characters to the host with fairly precise timing
(the parallel mode of the FTDI has a SIWU pin that you can assert to
empty the buffer to the host), so I thought I could send a counter to
the host, so you'd never get "lost".  I can also send timestamps for
external events, if we hook it up to other hardware.

BTW, the FPGA can internally multiply the clock up to around 200 MHz,
with only around 300 ps of jitter, so I can interrupt at pretty much
whatever really precise rate we want.

For work designs, I usually pick a clock rate around 130 MHz or so as
a nice balance -- 7.5 ns gives you close timing, and you can still get
plenty of gates between flops without violating timing.  At work I'm
usually using something like 8.192 MHz * 16 = 131.072 MHz, but with a
26 MHz crystal, I'll just use 26 * 5 = 130.000 MHz.

I've used the parallel mode of the FTDI chip a lot, and I can transfer
data between the FTDI and the FPGA at an equivalent baud rate > 30
MBaud, so we can have pretty tight tolerances there as well.

So the whole thing should be pretty flexible.

Regards,
Pat

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 16:56     ` Patrick Maupin
  2012-03-17 18:04       ` Ron Frazier (NTP)
@ 2012-03-17 21:58       ` tz
  2012-03-17 23:02         ` Ron Frazier (NTP)
  1 sibling, 1 reply; 10+ messages in thread
From: tz @ 2012-03-17 21:58 UTC (permalink / raw)
  To: Patrick Maupin; +Cc: thumbgps-devel



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 21:58       ` tz
@ 2012-03-17 23:02         ` Ron Frazier (NTP)
  2012-03-17 23:19           ` tz
  0 siblings, 1 reply; 10+ messages in thread
From: Ron Frazier (NTP) @ 2012-03-17 23:02 UTC (permalink / raw)
  To: thumbgps-devel

This message showed up empty, or did I miss something?

Ron

On 3/17/2012 5:58 PM, tz wrote:
>
>    

-- 

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such.  I don't always see new messages very quickly.  If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT c3energy.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Thumbgps-devel] Fwd: Long term SiRF data
  2012-03-17 23:02         ` Ron Frazier (NTP)
@ 2012-03-17 23:19           ` tz
  0 siblings, 0 replies; 10+ messages in thread
From: tz @ 2012-03-17 23:19 UTC (permalink / raw)
  To: Ron Frazier (NTP); +Cc: thumbgps-devel

I was composing in gmail but didn't want to send but hit tab then
return - which moved to the send and activated it.  Sorry

On Sat, Mar 17, 2012 at 7:02 PM, Ron Frazier (NTP)
<timekeepingntplist@c3energy.com> wrote:
> This message showed up empty, or did I miss something?

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-03-17 23:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20111025095801.C9A9D800037@ip-64-139-1-69.sjc.megapath.net>
2012-03-17  2:06 ` [Thumbgps-devel] Fwd: Long term SiRF data Dave Taht
2012-03-17 14:42   ` Ron Frazier (NTP)
2012-03-17 14:58     ` Ron Frazier (NTP)
2012-03-17 16:56     ` Patrick Maupin
2012-03-17 18:04       ` Ron Frazier (NTP)
2012-03-17 21:53         ` Patrick Maupin
2012-03-17 21:58       ` tz
2012-03-17 23:02         ` Ron Frazier (NTP)
2012-03-17 23:19           ` tz
     [not found]   ` <4F64DCB8.7090603@c3energy.com>
     [not found]     ` <004801cd0476$7e4fe670$7aefb350$@ch@verizon.net>
2012-03-17 21:31       ` [Thumbgps-devel] [ntp:questions] Fwd: Long term SiRF data / NMEA Wandering Ron Frazier (NTP)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox