[Linuxptp-users] Monitoring an automotive-slave node
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
|
From: Mikael A. <mik...@ar...> - 2021-11-18 09:24:29
|
Hi,
We have been using the gPTP.cfg for a while now to synchronize an embedded linux product with either a PC running linuxptp or a dedicated time server synched to GNSS.
In order to ensure that the time synchronization works we have monitored the portState, master_offset and gmPresent fields using pmc in the embedded system.
In order to consider an end station to be in good shape we have required that portState == SLAVE && gmPresent == true && master_offset < MAX_ALLOWED_MASTER_OFFSET
This is an example output with the gPTP.cfg:
sending: GET TIME_STATUS_NP
24d76b.fffe.000776-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP
master_offset 103
ingress_time 1637221740828303224
cumulativeScaledRateOffset -0.000000007
scaledLastGmPhaseChange 0
gmTimeBaseIndicator 0
lastGmPhaseChange 0x0000'0000000000000000.0000
gmPresent true
gmIdentity 78d004.fffe.277c58
78d004.fffe.277c58-1 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP
master_offset 0
ingress_time 0
cumulativeScaledRateOffset +0.000000000
scaledLastGmPhaseChange 0
gmTimeBaseIndicator 0
lastGmPhaseChange 0x0000'0000000000000000.0000
gmPresent false
gmIdentity 78d004.fffe.277c58
Now we have introduced another setup where we have a third-party high capacity data logger acting as a bridge between the time server and a number of embedded systems. This bridge also runs linuxptp but uses the automotive profile. In this setup we no longer get gmPresent true (and gmIdentity is the local clock), but the end stations still seem to be in sync with the time server. This is also the case when using the automotive profile in the original setup (PC -> embedded system).
The output from pmc when running the automotive-slave.cfg is now:
sending: GET TIME_STATUS_NP
24d76b.fffe.000776-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP
master_offset -78
ingress_time 1637222317034857054
cumulativeScaledRateOffset +0.000000009
scaledLastGmPhaseChange 0
gmTimeBaseIndicator 0
lastGmPhaseChange 0x0000'0000000000000000.0000
gmPresent false
gmIdentity 24d76b.fffe.000776
78d004.fffe.277c58-1 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP
master_offset 0
ingress_time 0
cumulativeScaledRateOffset +0.000000000
scaledLastGmPhaseChange 0
gmTimeBaseIndicator 0
lastGmPhaseChange 0x0000'0000000000000000.0000
gmPresent false
gmIdentity 78d004.fffe.277c58
1. Is this the expected behavior when using the automotive profile (especially the inhibit_announce option set to true)?
2. Is there a recommended way to monitor the end-stations as our earlier approach might not be the best, especially when introducing bridges?
We want to ensure that the end-stations are synchronized to the dedicated time server and that the accuracy is at least X microseconds.
Best regards,
Mikael Arvids
***************************************************************
To read the Company's Information and Confidentiality Notice, follow this link:
https://www.arriver.com/important-information-and-confidentiality-notice
***************************************************************
|