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
***************************************************************
_______________________________________________
Linuxptp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-users