如何实现IEEE1588 高精度时间同步

        化了两周的时间在STM32H750 art Pi 板上实现了RT Thread OS 下的IEEE1588 /PTP 协议。初步的测试表明:在使用linux PTP 使用软件时间戳的条件下diff 大约在200ppm 以内。如果使用硬件的时间戳,可能会好一点,遗憾的是我家里的两台PC 兼容机在ubuntu OS下ethtool 检测都只是支持软件时间戳。自己感觉使用STM32 内部的IEEE1588 控制器和外接带有IEEE1588 Phy 器件的方案可能不会有太大的区别。对于时间同步要求高的场合,需要考虑下面两点:

   1 PTP Master Clock 要使用更加稳定的时钟源,比如北斗,GPS 时钟。

   2 PTP Slave Clock 设备需要使用稳定的时钟振荡器。比如恒温晶体振荡器(OCXO),温度控制晶体振荡器(TCXO)。另一方面要使用性能良好的数字锁相电路来实现。

Silicon lab 公司提供这一类时钟同步芯片和模块产品。

      据Siliconlab 公司介绍,它们的技术能够满足3GPP +/- 1.5us 的需要。而linux PTP 协议达不到这个精度要求。

不过将IEEE PTP 做成一个模块,的确是一个好主意。

Guess you like

Origin blog.csdn.net/yaojiawan/article/details/121162697