On 3/7/2012 4:25 AM, David J Taylor wrote:
"Ron Frazier (NTP)" <timekeepingntpl...@c3energy.com> wrote in message
news:4f567490.1030...@c3energy.com...
[]
David and others,
I do appreciate the help and advice you've given me to this point. I
read all the replies up to this point on the ESR thread and this
thread. That includes David's mention of NMEA variances on the Garmin
and Chris's mention that NMEA "within the second" is within spec. I
still think something is wrong with the NTP subsystem in my opinion.
I'm not going to lose a lot of sleep over it. I report it here just
in case someone who knows how wants to investigate it.
All reports are appreciated.
Just because PPS and RS-232 work better, doesn't mean the NMEA driver
and / or the Meinberg monitor shouldn't work properly. I will NEVER
be able to use RS-232 on this computer without a USB - serial adapter
(which I intend to try). It doesn't exist.
The box I tried (a Sitecom USB hub) actually carried the DCD signal
over USB, and allowed a much lower jitter than Internet servers alone.
I have an adapter based on the Prolific chipset which is supposed to
pass the handshaking signals. It's the Trendnet TU-S9. I'm going to
try that, but I'll certainly keep the one you mentioned in mind.
The capabilities of a USB GPS are perfectly adequate for my
application. + / - 6 ms is just fine. There are, by the way, many
other applications where 6 ms would be acceptable.
Yes, I completely agree. The problem is that we don't know how much
jitter may be present on the NMEA output of your particular GPS. If
it's like the GPS 18x LVC, then using the serial output alone may not
be much better than using Internet servers, as the jitter from sending
over USB may well be insignificant compared to the GPS NMEA jitter.
That is the $ 20,000 question. From our prior discussion, it looks like
you're saying the Garmin has a jitter in the start time of the NMEA
sentence of about 170 ms. I appear to be observing a similar phenomenon
here, but I'm not totally convinced it's real. I think the monitor
program may be lying to me about the offsets of the internet servers.
If it is real, the variation is very slow, and it takes a day or two to
swing from about + 80 ms from NIST to - 80 ms from NIST. I have nothing
to explain that 900 ms jump I mentioned. Is this "wobble" effect
something that has been observed with other GPS units?
For comparison, the best I can get on Windows polling exclusively
from the internet, with any kind of reasonable polling interval and
not pounding the internet servers all the time, is about + / - 80
ms. So, using the USB GPS is about a 12 fold improvement. Also,
there are many many computers where there is no RS-232 port. ESR's
application is an example. So, the question is not is NMEA great,
the question is - is it good enough for me? I will be pursuing PPS
with the Sure board for intellectual reasons, but there is no reason
that I have to do that.
There is a question about the Windows port of NTP which I don't have
the answer to. Dave Hart has put a lot of work into the Windows port,
both in the serial data handling, and the serial port driver itself.
What I don't know is whether his enhancement to the serial port
time-stamping also apply to the virtual COM port drivers such as would
be used for NMEA over USB. I expect they would, though. I would
recommend using at least ntp 4.2.7p258 with Windows for the best
results, and also setting the system environment variable
NTPD_USE_SYSTEM_CLOCK to any value when using Windows Vista or Windows 7.
http://www.satsignal.eu/ntp/NTP-on-Windows-serial-port.html#environment
Are you using that version or later?
On Windows, I'm running 4.2.7p259. On Ubuntu Linux, when I boot into
it, I'm running the version from the Ubuntu repositories which is about
2 years old. I did a manual upgrade to try to troubleshoot some abrupt
jumps in the reported offsets, but that didn't solve the problem. I
retrograded back to the one that's in the repositories as doing a manual
install breaks several things. It's better to use the package manager.
There is no way in the world I should have an offset from internet
servers of 950 ms one minute and then show an offset from internet
servers of 50 ms thirty seconds later after I restart NTPD, when I'm
locked to my GPS time in both cases.
Agreed, but it suggests that the NMEA data may be timed so that it is
ambiguous as to which second it means. I did also wonder whether your
GPS might have lost lock, and not indicated that to NTP. I don't
recall whether all sentences include a "lock" or "valid" indicator,
and whether NTP looks at all such indicators. Could someone check or
confirm this, pr provide a pointer to the Web page with this information?
I can tell when my GPS is working consistently and when it's not.
Something is wonky here and I don't think it's the GPS. I'm trying
to figure out if the GPS is "drifting" or if NTP is reporting
internet server offsets wrong or if there is a problem with the
Meinberg monitor. If everything is running properly, I should be able
to maintain that + / - 6 ms all day, every day, and the variance
between my clock and at least one NIST clock should be minimal and
consistent. I don't expect great results from NMEA. But I do expect
acceptable results, and consistent results. My GPS should be more
than capable of outputting NMEA sentences consistently. I've seen it
maintain that + / - 6 ms performance for days.
.. suggesting that it may be a loss of GPS lock which is the issue, as
that may not happen very often.
It's only outputting the GPZDA sentence, and that only has time in it.
.. and it doesn't carry any indicator of whether that time is valid or
not, according to:
http://www.eecis.udel.edu/~mills/ntp/html/drivers/driver20.html
May I suggest using the $GPGGA sentence instead even if it is a little
longer? The $GPZDG sentence appears to be the only other one with a
"valid" indicator.
I think the satellite lock was good at the time but cannot prove it. It
looks to me like the Meinberg monitor is reporting the server offsets
wrong. I'm presuming it uses the ntpq command internally to get that
data but I don't know. I'm currently experimenting with all internet
servers noselected to see what happens. I have a variation from my GPS
time going from 11 of 12 internet servers within 9.99 ms (single digit
before the decimal point) to 4 of 12 internet servers within 9.99 ms. I
have not observed any more 950 ms offsets to the internet servers. I
just checked while typing this and 8 of 12 internet servers are within
9.99 ms.
Based on the document you linked to, I can see only 2-3 ways to check
for a valid signal. One is the POS_STAT variable. One is the V
variable. And one is the AA.BB (signal strength) variable, maybe.
As far as I can tell, only GPRMC and GPGLL have the POS_STAT variable.
As you mentioned, only GPZDG has the V variable. It also has the signal
strength variable.
It doesn't look like GPGGA has any validation in it.
I do realize that the timing of the NMEA sentence is much less important
if you have PPS, but this is what I have to work with at the moment. It
would be good to know if NMEA can be used for at least a somewhat
reliable time signature. Of course, as you said, if there is a 170 ms
wobble in the NMEA data, the few ms of jitter in USB is irrelevant and
NMEA only is largely useless. One thing I'm trying to figure out is if
the NMEA data really has this wobble in the start times of the sentences
or if there is some kind of false reporting from the NTP subsystem. If
the wobble does exist, I'm wondering if it is intrinsic to all GPS's.
I am reluctant to switch to another sentence for a few reasons, assuming
NMEA only is ultimately usable at all for a few reasons:
A) The Trimble Resolution T manual specifically recommends GPZDA for
timekeeping.
B) I was using GPGGA before, and was getting about + / - 12 ms accuracy
as I recall. Going to GPZDA improved it to + / - 6 ms.
C) I don't know if NTP even looks at the validity flags in the data.
D) Any NMEA sentence which reports position will be varying in length,
which will probably add more jitter to the communications path.
The unit has nothing better to do than to tell me the time. It
should not be "drifting". But, SOMETHING is drifting, and I'd just
like to know what it is. I REALLY think there is a problem with NTP
or Meinberg, but I could be wrong. It would be nice to know if I
have to avoid all SIRF GPS's for this purpose. I think NTP should be
able to work just fine, within the limits of the equipment, on NMEA
only.
No offense is intended in any way by anything I've said. As I said
before, I do appreciate all the help. 8-)
Sincerely,
Ron
I agree with you, Ron, that providing a serial output is steady, NTP
should work perfectly with it. By using a very high baud rate, and a
single sentence, you are making the best attempt to reduce the
ambiguity between the beginning and the end of the NMEA data.
I recall that there is a way of monitoring one source against another.
Someone will correct me, but it's something like using NOSELECT
against that source. Use the Internet servers as a reference, and
monitor peerstats. Then look for all the lines with 127.127.20.1 (or
whatever for the NMEA ref clock), and plot their offsets.
The amount of time I have comes and goes. It may have to go, to a
point, since I have to do some things other than email like paying bills
and other household stuff.
This is the part of my ntp.conf file in windows related to stats. Do I
need to add anything else? I think all the stats are already on in Linux.
enable stats
statsdir "C:\NTP Service\NTP\etc\"
statistics loopstats
Thanks for the help.
Sincerely,
Ron
May be worth doing if you have the time.
Cheers,
David
--
(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
_______________________________________________
questions mailing list
questions@lists.ntp.org
http://lists.ntp.org/listinfo/questions