Sono stato sorpreso di vedere che il ricevitore GPS con cui sto lavorando ha un pin riservato per emettere un segnale 1 PPS (Pulse al secondo). Qual è lo scopo di questo? Il microcontrollore non può generare facilmente il proprio segnale 1 PPS?
Sono stato sorpreso di vedere che il ricevitore GPS con cui sto lavorando ha un pin riservato per emettere un segnale 1 PPS (Pulse al secondo). Qual è lo scopo di questo? Il microcontrollore non può generare facilmente il proprio segnale 1 PPS?
Risposte:
L'uscita 1 PPS ha un jitter molto più basso di qualsiasi cosa una MCU possa fare. In alcune applicazioni più impegnative è possibile utilizzare quell'impulso che può essere utilizzato per cronometrare le cose in modo molto preciso. Con alcuni GPS di livello scientifico questa uscita da 1 PPS potrebbe avere una precisione migliore di 1 nS.
A lungo termine il segnale da 1 Hz è probabilmente il tempo più preciso, e quindi anche la frequenza, riferimento che incontrerai mai.
Stai effettivamente ottenendo qualcosa come un riferimento al tempo dell'orologio al cesio per il costo di un modulo GPS. Un affare. È possibile acquistare unità "oscillatore disciplinato" commerciali e sono disponibili design per quelli fai-da-te. Un DO non è di per sé un blocco di frequenza, ma viene delicatamente bloccato in blocco da segnali di errore tra un segnale 1 H generato da orologi locali e GPS.
Oscillatori disciplinati
Ora standard ovunque dicono -
Oscillatori a cristalli di quarzo ovenizzati Quando un forno a controllo di temperatura singolo (OCXO) o doppio (DOCXO) viene avvolto attorno al cristallo e ai suoi circuiti oscillanti, la stabilità della frequenza può essere migliorata da due a quattro ordini di grandezza rispetto a quello del TCXO. Tali oscillatori sono utilizzati in applicazioni di laboratorio e di comunicazione e spesso hanno i mezzi per regolare la loro frequenza di uscita tramite il controllo elettronico della frequenza. In questo modo possono essere "disciplinati" per abbinare la frequenza di un ricevitore di riferimento GPS o Loran-C.
I DOCXO disciplinati dal GPS sono le fonti di riferimento primarie (PRS) Stratum I per molti dei sistemi di telecomunicazione cablati del mondo. Sono inoltre ampiamente utilizzati come riferimenti di tempo e frequenza GPS per le basi che operano secondo lo standard IS-95 per i sistemi di telefonia cellulare Code Division Multiple Access (CDMA) originati da Qualcomm. L'enorme volume di queste applicazioni di base ha influenzato profondamente il mercato OCXO spingendo i prezzi verso il basso e consolidando i fornitori.
Modulo commerciale - 0,1 parti per miliardo al giorno.
@La risposta di DavidKessner è in linea con ciò che sto per dire, ma ho voluto elaborare, e questo è un po 'più di un commento.
Questa uscita potrebbe essere utilizzata, ad esempio, per riattivare l'MCU (da una modalità di sospensione profonda) una volta al secondo (entro un paio di nano-secondi) in un'applicazione in cui ti importava che l'MCU facesse qualcosa in un secondo particolare, con grande precisione .
Un MCU potrebbe anche utilizzare questo segnale per calcolare la propria precisione di temporizzazione e compensarla nel software. Quindi l'MCU potrebbe "misurare" la durata dell'impulso e supporre che sia un intervallo "perfetto" di 1s. In tal modo potrebbe determinare efficacemente il tempo di allungamento o compressione che sta vivendo, ad esempio a causa degli effetti della temperatura sul suo cristallo o altro, e applicare quel fattore di temporizzazione a tutte le misurazioni che sta prendendo.
Avendo progettato OCXO rinforzato per ambienti missilistici difficili e monitorando le stazioni meteorologiche galleggianti prima del GPS .. in realtà dopo che è stato lanciato solo il 1 ° GPS (GOES 1), riporta ricordi affettuosi.
L'importanza della stabilità dipende dalle interruzioni e dalla quantità di errore che è possibile tollerare durante l'interruzione o LOS (perdita di segnale), nonché i tempi di acquisizione. Quando si moltiplica f per N per il divisore PLL, si moltiplica anche l'errore di fase. Quindi è essenziale ridurre al minimo la deriva e il rumore di fase.
Nel mio OCXO ho scelto 10MHz per OCXO, 100KHz per la telemetria sub-portante FM del missile e 10KHz per la stazione di terra del mixer per tenere traccia della posizione del missile. L'intervallo per la corsa del veicolo è semplicemente la differenza di fase che utilizza la frequenza di differenza e la fase del sottoportante di telemetria e la stazione di terra sulla f scelta con Δλ = c / f con Δposition = Δλ + conteggi del ciclo. L'errore di frequenza rappresenta la velocità come nella velocità del radar. Quindi con 1 orologio PPS (1Hz) puoi supportare un ampio intervallo e un intervallo di tempo senza salti di ciclo o conteggi su una differenza di fase precisa. Si noti che un errore di salto in fase potrebbe essere N cicli, il che significa che l'ambiguità dell'errore accumulato .. presupponendo che l'errore LOS sia importante.
La ridondanza è la chiave per l'affidabilità se si ha scelta e classificazione delle fonti da Stratum 1,2 e 3 orologi in caso di interruzione. Le reti sincrone ad alta velocità di telecomunicazione dipendono da orologi precisi così come dalle radio autorizzate. Le reti utilizzano la registrazione intelligente degli errori per classificare i riferimenti delle sorgenti di clock Stratum.
Ovviamente ciò richiede una grande diligenza nel design del tuo DO. Volumi di libri sugli standard definiscono queste regole.
Penso che devi leggere sull'unità che hai (poiché alcuni sono diversi) ma immagino che debba essere usato come sincronizzazione del tempo. Cioè ricevi un messaggio che dice che il prossimo Pulse arriverà alle ore INUTC.
"GPSClock 200 ha un'uscita RS-232 che fornisce codici temporali NMEA e un segnale di uscita PPS. Circa mezzo secondo prima, emette il tempo dell'impulso PPS successivo in formato GPRMC o GPZDA. Entro un microsecondo dall'inizio del secondo UTC, porta in alto l'output PPS per circa 500 ms. "
Mentre un ricevitore GPS può inviare un timestamp completo a monte (tramite NMEA, ecc.), Il tempo impiegato dal timestamp per passare all'host renderebbe impreciso il timestamp. Un segnale 1PPS è l'equivalente del ricevitore GPS di "al tono il tempo sarà dodici trentatre e 35 secondi ... [beep]". Il presupposto qui è che l'orologio dell'host può rimanere preciso per 1 secondo e ogni secondo riceve una correzione tramite 1PPS.
Mi piace la risposta di "PV Subramanian" come al punto. Questo è esattamente lo scopo tipico di 1 PPS. Fornire un bordo preciso di 1 secondo, per aumentare un blocco completo di informazioni "ora del giorno" ricevuto con mezzi meno accurati (linea seriale asincrona, in genere).
Parlando di oscillatori, sembra che nel commercio di "standard di tempo" e GPS, 10 MHz sia una scelta molto popolare. Inoltre, gli oscillatori locali nei ricevitori GPS possono essere approssimativamente suddivisi in due categorie: quelli che producono esattamente un rapporto 1: 10000000 tra l'uscita a 10 MHz e PPS (sincrono di fase) e quelli in cui l'uscita PPS presenta regolazioni graduali (salto / inserimento) tick della base dei tempi di 10 MHz). Gli oscillatori a cristalli "sincroni" sono più precisi e sono necessari per alcuni scopi. Richiedono anche il "controllo del forno" (OCXO), che consuma energia extra. Non va bene per i dispositivi alimentati a batteria, eccellente per l'uso di cronometraggio stazionario. Gli oscillatori "skipping" sono abbastanza buoni per l'uso di posizionamento di base e sono più economici, quindi questo è ciò che ottieni nei moduli ricevitore GPS più economici.
Per il controllo PLL di alcuni oscillatori a cristallo esterni, i bordi di 1 PPS sono forse distanziati piuttosto distanti tra loro, occorrerebbe un tempo di integrazione piuttosto lungo nel servo loop PLL. Una sorgente di segnale a 10 MHz di buona qualità ti consentirà di ottenere un buon blocco molto più velocemente. Ma il trucco è: "buona qualità". Vedi sopra. A parte questo, 1PPS è sicuramente abbastanza buono da disciplinare la base dei tempi di sistema di alcuni sistemi operativi o NTPd in esecuzione su hardware PC.
Come altri hanno già detto, l'uscita 1PPS da un ricevitore GPS è derivata da un oscillatore a cristallo locale, che ticchetta all'interno del ricevitore. In genere si trattava di un cristallo da 10 MHz. Questo oscillatore a cristallo locale è davvero un VCO, che consente piccole regolazioni nella sua frequenza di clock effettiva. Questo ingresso VCO viene utilizzato per il controllo a circuito chiuso (stile di feedback negativo), in cui il segnale GPS proveniente da una manciata di satelliti (combinati) serve da riferimento. Il blocco funzione in un ricevitore GPS, che esegue la decodifica degli "spaghetti strapazzati" di flussi di bit pseudo-casuali su un vettore condiviso, con vari livelli di segnale e spostamenti doppler, questo blocco è chiamato "correlatore". Utilizza alcuni scricchiolii di numeri pesanti per trovare una "soluzione" ottimale alla posizione e al "problema" temporale, in base ai segnali radio ricevuti, confrontandoli con la base dei tempi locale - e valuta continuamente un piccolo errore / deviazione tra la ricezione radio e il cristallo locale, che alimenta di nuovo nell'ingresso VCO del cristallo ... quindi controllo a circuito chiuso. Dal punto di vista del timing, il correlatore del ricevitore GPS è solo una cosa del comparatore PLL estremamente complessa :-)
Altri hanno menzionato Symmetricom e TimeTools ... Meinberg Funkuhren ha una bella tabella degli oscillatori che offrono, contenente tutti i parametri di precisione pensabili: https://www.meinbergglobal.com/english/specs/gpsopt.htm Nota che le precisazioni citate sono probabilmente stime ancora conservative / pessimistiche.
Tutte le risposte esistenti parlano di applicazioni di temporizzazione di precisione; Voglio solo sottolineare che il segnale da 1 pps è importante anche per la navigazione, in particolare quando il ricevitore è in movimento.
Ci vuole del tempo prima che il destinatario calcoli ciascuna soluzione di navigazione e tempo aggiuntivo per formattare quella soluzione in uno o più messaggi e trasmetterli su una sorta di collegamento di comunicazione (di solito in serie). Ciò significa che quando il resto del sistema può utilizzare le informazioni, è già "obsoleto" di forse alcune centinaia di millisecondi.
La maggior parte delle applicazioni per hobbisti di bassa precisione ignora questo dettaglio, ma in un'applicazione di precisione che potrebbe viaggiare tra 30 e 100 metri / secondo, ciò introduce molti metri di errore, rendendolo la fonte dominante dell'errore totale.
Lo scopo dell'uscita 1 pps è di indicare esattamente quando la posizione indicata nei messaggi di navigazione era valida, il che consente al software applicativo di compensare il ritardo di comunicazione. Ciò è particolarmente importante nei sistemi ibridi inerziali GPS, in cui i sensori MEMS vengono utilizzati per fornire soluzioni di navigazione interpolate ad elevate frequenze di campionamento (centinaia di Hertz).
Usiamo l'output 1PPS generato dai ricevitori GPS per fornire un tempo molto preciso per i server di tempo di rete NTP strato 1. Il 1PPS viene generato all'inizio di ogni secondo e nel caso di molti ricevitori è preciso entro pochi nanosecondi di tempo UTC. Alcuni ricevitori GPS non sono così bravi a fornire il tempo, poiché l'uscita temporale seriale associata può "vagare" su ciascun lato dell'uscita impulsi prevista. Ciò genera periodicamente un offset di un secondo.
L'uscita 1PPS può anche essere utilizzata per disciplinare gli oscillatori basati su OCXO o TCXO per fornire il mantenimento in caso di perdita dei segnali GPS. Il link seguente fornisce ulteriori informazioni sull'uso del GPS nei riferimenti temporali:
http://www.timetools.co.uk/2013/07/23/timetools-gps-ntp-servers/
1 segnale PPM viene utilizzato per scopi di sincronizzazione. Supponiamo di avere due dispositivi situati a distanza molto lontana e di voler generare impulsi di clock in entrambi i dispositivi che si avviano esattamente nello stesso momento, cosa si può fare? Questo è dove viene utilizzato questo segnale 1 PPM. Il modulo GPS fornisce impulsi con una precisione di 1 ns in tutto il mondo.