Jeremy W. Langston

Personal Website

Installing and Using NTP with a Garmin 18 GPS (with PPS)

I recently needed to synchronize a Windows XP machine with GPS time.  One of the requirements was sub-millisecond accuracy, which is no small thing for non-RTOS computers.  David Hart to the rescue!  He has written an driver for the NTP (network time protocol) service to incorporate a PPS (pulse per second) signal.  The PPS signal, coming from a GPS, is highly accurate after sufficient time has elapsed for the GPS to sync with the satellites.  I’ve received a lot of help from David Taylor; thanks again, David!  So, without further ado, here’s an example of how to proceed with the installation:

[UPDATE:  from David Hart – “I’ve posted a new serialpps-20091228.zip which should correct that [install.bat bug]. The (huge) debug build of serialpps-ppsapi-provider.dll is also added, along with a tiny bit of instructions in install.bat regarding PPSAPI_DLLS.”]

1.  Configure hardware.
Connect the PPS signal to the DCD pin on the RS232 connector.

2.  Install Meinberg NTP software.
Keep all defaults.
Create and use a special NTP account. (I always had problems using anything else)
Account name:  ntp (use whatever you want)
Account pass:  ntpntp

3.  Stop NTP.
Run “C:\Program Files\NTP\bin\stopntp.bat”.   There are alot of useful utils in the \bin directory.

4.  Replace ntpd.exe with altered version.
Extract “ntpd.exe” from “ntp-4.2.4p6-DLH-QPC-20090315-bin.zip
Copy to “C:\Program Files\NTP\bin”, replacing previous ntpd.exe.

5.  Install SerialPPS.
Extract all from “serialpps-20090606.zip“.
Edit “install.bat”
On line 6, remove ‘if “x86″==”%PROCESSOR_ARCHITECTURE” ‘
Remove line 7 and 8 (you can just put “REM ” in front and they will be ignored, almost like a comment)
Run “install.bat”
Ensure that “serialpps.sys” was copied to “C:\Windows\system32\drivers”
Copy “serialpps-ppsapi-provider\x86\serialpps-ppsapi-provider.dll” to “C:\”
Right-click “My Computer”, go to properties.
Click “Advanced” tab
Click “Environment Variables” button
Under “System variables”, Click “New” button
Name:  PPSAPI_DLLS
Value: C:\serialpps-ppsapi-provider.dll

6.  Configure GPS (for Garmin)
Run “SNSRCFG.exe
Connect to GPS
Configure
Set baud rate to 4800
Enable “Pulse Per Second”
Press F7
Enable GPRMC, disable others
Send config to GPS

7.  Configure NTP
Edit “C:\Program Files\NTP\etc\ntp.conf”
Remove all entries, add the following
driftfile “C:\Program Files\NTP\etc\ntp.drift”
enable stats
statsdir “C:\Program Files\NTP\etc\”
statistics loopstats
server 127.127.22.1 minpoll 4 #PPS
server 127.127.20.1 iburst prefer minpoll 4 maxpoll 7 #GPS
#fudge 127.127.20.1 time1 0.4 refid GPS #uncomment and change time1 as needed

8.  Ensure GPS is connected to serial port 1

9.  Restart computer

10. Unplug GPS and disable Microsoft Ball-mouse (if listed)
Go to device manager: My Computer->Properties->Hardware->Device Manager
Under “Mice and other pointing devices”, right-click and disable “Microsoft Serial BallPoint”

11. Reconnect GPS Restart computer

12. Start NTP server
Run “C:\Program Files\NTP\bin\startntp.bat”

13. Monitor NTP server
Run “C:\Program Files\NTP\bin\ntpstatus.bat”
Both GPS and PPS should show up.  After the GPS gets a lock, NTP should sync to the servers.
Refer to online documentation for help.
Alternatively, use “NTP Time Server Monitor” from Meinberg

To Uninstall PPS driver, run “uninstall.bat”.

21 Comments

  1. This article on installing and using NTP with a Garmin 18 GPS (with PPS) offers a clear, step-by-step guide. The precision in synchronizing time is essential for various tech setups. For those exploring specialized solutions, such as obesity treatment Dubai, accuracy in data systems remains just as vital.

  2. This is a fantastic article post. Really thank you! Awesome and interesting article.

    You can also read about Casino Influencers to become a successful gamers in Australia.

  3. Ontdek gratis lettertypes online voor kopiëren en plakken. Creëer opvallende teksten met een brede selectie van stijlvolle, creatieve lettertypes. Perfect voor social media, grafisch ontwerp en meer in lettertypesgratisonline.

  4. perusahaan jasa kontraktor kolam renang terbaik di jawa barat melayani pembuata, perawatan dan renovasi kolam renang

  5. Kami merupakan perusahaan spesialis jasa perawatan kolam renang yang berlokasi di Jakarta Selatan. Khusus untuk perawatan kolam renang kami tidak hanya melayani daerah Jakarta saja. Kami juga melayani di Palembang,Yogyakarta, Bandung, Bali dan Malang. Adapun jasa maintenance kolam renang yang kami berikan meliputi pembersihan kolam renang, watertreatmen, jasa servis pompa kolam renang.

  6. Kami menyediakan layanan jasa pembuatan kolam renang, perawatan, dan renovasi kolam renang khususnya di daerah Jogja dan Jawa Tengah sesuai dengan kebutuhan pelanggan. Wujudkan impian Anda untuk membuat kolam renang impian bersama kami.

  7. Türkiye’nin en büyük sohbet odaları üzerinden yeni arkadaşlar edinebilirsiniz

  8. Thanks for sharing wonderful and useful information.

  9. Thank you, we wish you continued success on the subject.

Leave a Reply

Your email address will not be published.

© 2024 Jeremy W. Langston

Theme by Anders NorenUp ↑