Il nucleo del controllo se la sincronizzazione PTP del doppio-sensore è normale è verificare se l'offset temporale è stabile entro l'intervallo dei microsecondi e se lo stato master{1}}slave corrisponde alle aspettative. Ecco alcuni passaggi pratici e specifici per il controllo:
I. Visualizzazione-in tempo reale dell'offset di sincronizzazione (il metodo più intuitivo)
Eseguire il servizio PTP sul sensore dell'orologio slave e osservare i registri. Questo è lo standard di riferimento per giudicare l'accuratezza della sincronizzazione.
Esegui il comando:
bash sudo ptp4l -i eth0 -m -q
Nota: eth0 deve essere sostituito con il nome effettivo dell'interfaccia di rete connessa alla rete PTP; -m indica la stampa di log dettagliati e -q riduce le informazioni ridondanti.
Criteri di giudizio
Osservare il campo offset nel registro di output:
Sincronizzazione normale: il valore di offset è stabile entro ±1~10 microsecondi (μs), con fluttuazioni minime.
Anomalia di sincronizzazione: i valori di offset sono nell'intervallo dei millisecondi (ms) o fluttuano drasticamente (ad esempio, cambiano improvvisamente da +50μs a -200μs).
Non sincronizzato: nei registri vengono visualizzati frequenti stati GUASTO oppure non è possibile selezionare il miglior orologio principale.
II. Verifica lo stato del ruolo Master-Slave
Assicurati che i due sensori abbiano stabilito correttamente una relazione master{0}}slave per evitare conflitti "dual-master" o cambi frequenti.
Visualizza i risultati delle elezioni BMCA
Cerca la frase "miglior orologio principale selezionato" nei registri.
Normale: il registro dell'orologio slave mostra che ha riconosciuto l'orologio master ed è entrato nello stato SLAVE.
Anomalo: Entrambi i sensori si mostrano come MASTER, indicando una configurazione di priorità errata o un'interruzione della comunicazione.
Controlla le impostazioni di priorità
Confermare che il valore di priorità1 del sensore master sia inferiore a quello del sensore slave (ad esempio, master impostato su 128, slave impostato su 130), assicurandosi che il ruolo sia fisso e non cambi arbitrariamente a causa del jitter di rete.
III. Controlla se il timestamp hardware è efficace
Se l'offset è nell'ordine dei millisecondi, in genere è perché i timestamp hardware non sono abilitati, con conseguente precisione insufficiente.
Esegui il comando:
`bash ethtool -T eth0`
Criteri di giudizio: l'output deve contenere `SOF_TIMESTAMPING_TX_HARDWARE` e `SOF_TIMESTAMPING_RX_HARDWARE`.
Se è presente solo "SOFTWARE", indica che vengono utilizzati i timestamp del software e la precisione non può soddisfare i requisiti per il confronto tra due sensori ad alta-precisione-. È necessario verificare il supporto del driver o dell'hardware.
IV. Monitoraggio della stabilità-a lungo termine
La normalità a breve-termine non garantisce la stabilità-a lungo termine. Si consigliano-stress test a breve termine.
Registra la velocità di deriva
Esegui `phc2sys` per sincronizzare l'orologio hardware PTP con l'orologio di sistema e osservare l'offset massimo nell'arco di 24 ore.
Normale: la deriva a lungo-termine è controllata entro 1 microsecondo, senza deviazione cumulativa.
Anormale: l'offset aumenta linearmente nel tempo, indicando che la compensazione della frequenza dell'oscillatore al cristallo non è efficace o c'è una latenza di rete asimmetrica.
Osserva la perdita di pacchetti. Controllare i registri PTP per gli allarmi di timeout peer_delay o di timeout di sincronizzazione. Gli eventi occasionali sono tollerabili, ma quelli frequenti richiedono il controllo della qualità del cavo di rete, del carico dello switch o delle impostazioni del firewall (assicurarsi che le porte UDP 319/320 siano aperte).
V. Tabella di risoluzione dei problemi comuni
|
Fenomeno |
Possibile causa |
Suggerimento per la soluzione |
|
Compensazione in millisecondi |
Timestamp hardware non abilitato |
Controlla ethtool -T, installa il driver dedicato e abilita il timestamp dell'hardware. |
|
Commutazione master{0}}slave frequente |
Le impostazioni della priorità sono uguali o simili |
Aumentare la differenza nella Priorità 1 tra master e slave (ad esempio, 128 vs 130). |
|
Completamente impossibile sincronizzarsi |
Indisponibilità della rete o blocco del firewall |
Eseguire il ping per verificare la connettività, disattivare il firewall o consentire le porte UDP 319/320. |
|
Grandi fluttuazioni di offset |
Tremolio della rete o carico elevato |
Isola il traffico PTP, abilita QoS sullo switch per dare priorità ai pacchetti PTP. |

