Richard, We are using ptp to train an oscillator for a satcom applicationn. We have a requirement that the oscillator frequency be correct to a tolerance of 5 PPB.
Our board has a Marvell PHY with hardware time stamping. The time stamping counter is driven by the oscillator that is being trained. The oscillator (AD9545) is pretty stable and is adjustable to a small fraction of one billionth. When we slave our board to a GPS, we see from the log that the offset is very stable, and very close to zero for long periods of time. But in real life, our board will not be directly connected to a GPS. Our board will be slaved to a boundary clock in a Mellanox 2410 switch. When our board is slaved to the Mellanox, we see considerable variation in the offset reported in the log. The offset variations are big enough that it causes us to go outside our 5 ppb frequency budget. Mellanox manuals imply that the switch uses hardware time stamping, but I suspect that is not completely true, or that the granularity is not close to one ns. As an experiment, we patched pi.c to do exponential smoothing to the offset before using it in the new frequency calculation. With a smoothing factor of 0.0625, this reduced the frequency error to less then 2 PPB, well within our tolerance. It occurs to me that our use case is not contemplated in the design of PTP. Normally, ptp syncs a lower-quality clock to a higher-quality one. Our case is the opposite. I understand that if the t1 time stamp is accurate, the delay filter should provide all the smoothing you would need. I just question the accuracy of that timestamp (though I think the error is just jitter that gets cancelled out by subsequent errors in the other direction. Since the Mellanox is slaved to the GPS, there is no long-term accumulationof error). Do you have any comments or suggestions? Pat O'Neil Hughes Network Systems Germanttown, Md. 20876 on...@hughes.com
_______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel