Moduły GPS z wyjściami 1pps są łatwo dostępne i niedrogie.
Nie jest konieczne dyscyplinowanie oscylatora procesora względem GPS (np. Za pomocą PLL). Tak długo, jak można „znacznik czasu” zdarzeń zewnętrznych w stosunku do zegara procesora, stosunkowo łatwo interpolować czas nadawania i odbierania fali między dowolnymi dwoma zdarzeniami PPS.
Często można użyć kombinacji timera sprzętowego mikrokontrolera wraz z licznikiem oprogramowania dla jego zdarzeń przepełnienia, aby utworzyć licznik cykli procesora o dowolnej szerokości. Właściwe radzenie sobie ze zdarzeniami najazdu, zarówno licznika sprzętowego, jak i licznika programowego, może być trudne, ale w końcu możesz mieć, powiedzmy, 32-bitowy licznik, który liczy się z częstotliwością zegara procesora (dając wysoką rozdzielczość ) i przewija się z okresem dłuższym niż interwały, które próbujesz mierzyć (np. 429 sekund przy 10 MHz).
Możesz użyć tego licznika do znacznika czasu różnych zdarzeń zewnętrznych. Jeśli jednym z takich zdarzeń są impulsy 1pps z odbiornika GPS, podstawowa długoterminowa dokładność zegara procesora staje się nieważna. Jedyne, co się liczy, to jego krótkoterminowa stabilność. Możesz zapisać znaczniki czasu GPS w buforze FIFO i porównać znaczniki czasu innych zdarzeń z wartościami w tym buforze. Ponieważ wiesz, że impulsy GPS są dokładnie w odstępie jednej sekundy, możesz znaleźć dokładny czas każdego innego zdarzenia, interpolując.
GPSnGPSn+1TimenTimen+1ExtGPSnGPSn+1
Timen+Ext−GPSnGPSn+1−GPSn
Wreszcie, jeśli ta konfiguracja działa na dwóch oddzielnych systemach, każdy z własnym odbiornikiem GPS, możesz z dużą precyzją porównać czasy obliczone dla różnych zdarzeń w dwóch systemach (zwykle rzędu ± 100 ns), nawet jeśli Zegary procesora dwóch systemów nie są zsynchronizowane.