I moduli GPS con uscite 1pps sono prontamente disponibili ed economici.
Non è davvero necessario disciplinare l'oscillatore della CPU al GPS (ad es. Con un PLL). Finché è possibile "timestamp" di eventi esterni relativi al clock della CPU, è relativamente semplice interpolare il tempo di trasmissione dell'onda e ricevere eventi tra due eventi PPS.
È spesso possibile utilizzare la combinazione di un timer hardware sul microcontrollore, insieme a un contatore software per i suoi eventi di overflow, per creare un contatore del ciclo della CPU di larghezza arbitraria. Può essere complicato gestire correttamente gli eventi di rollover, sia del contatore hardware che del contatore software, ma alla fine, si può avere, diciamo, un contatore a 32 bit che conta alla velocità del clock della CPU (dando alta risoluzione ) e passa con un periodo più lungo degli intervalli che si sta tentando di misurare (ad es. 429 secondi a 10 MHz).
È possibile utilizzare questo contatore per timestamp di diversi eventi esterni. Se uno di questi eventi è rappresentato da impulsi da 1 pps di un ricevitore GPS, l'accuratezza di base a lungo termine del clock della CPU diventa un problema. L'unica cosa che conta è la sua stabilità a breve termine. È possibile salvare i timestamp GPS in un buffer FIFO e confrontare i timestamp di altri eventi con i valori in quel buffer. Dato che sai che gli impulsi GPS sono esattamente a un secondo di distanza, puoi trovare l'ora esatta di qualsiasi altro evento interpolando.
GPSnGPSn+1TimenTimen+1ExtGPSnGPSn+1
Timen+Ext−GPSnGPSn+1−GPSn
Infine, se questa impostazione è in esecuzione su due sistemi separati, ciascuno con il proprio ricevitore GPS, è possibile confrontare i tempi calcolati per vari eventi sui due sistemi con elevata precisione (in genere nell'ordine di ± 100 ns), anche se il I clock della CPU dei due sistemi non sono sincronizzati.