如何实现IEEE1588 高精度时间同步
Posted 姚家湾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现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 做成一个模块,的确是一个好主意。
以上是关于如何实现IEEE1588 高精度时间同步的主要内容,如果未能解决你的问题,请参考以下文章