IEEE1588 Precision Time Protocol(PTP)

什么是ptp

PTP 是一种高精度时间同步协议,可以到达亚微秒级精度,有资料说可达到30纳秒左右的偏差精度,但需要网络的节点(交换机)支持PTP协议,才能实现纳秒量级的同步。

一般在实际使用中,现有的NTP可以达到5ms以内的精度,对一般的应用都是满足的;非超高精度设备,不建议使用PTP设备。

与NTP主要区别:PTP是在硬件级实现的,NTP是在应用层级别实现的.

PTP 是主从同步系统,一般采用硬件时间戳,并配合一些对NTP更高精度的延时测量算法。

PTP 最常用的是直接在 MAC 层进行 PTP 协议包分析 , 这样可以不经过UDP 协议栈 , 减少PTP 在协议栈中驻留时间 , 提高同步的精确度。

PTP 也可以承载在 UDP 上时 , 软件可以采用 SOCKET 进行收发 UDP包 , 事件消息的 UDP 端口号 319 , 普通消息的组播端口号为 320 ,但其精度就大大降低。

在物理硬件要求主从端都是PTP设备,且网络不能太大,其中间经过的交换机设备也必须支持PTP协议,并且主从时间网络链路唯一,不存在交替的PTP通道。

PTPv2 采用相对时间同步机制。一个参与者被选作主时间钟,其将发送同步信息到从站。主站将发送同步报文到网络。所有的从站计算时间延迟。

PTP网络图:

PTP grandmaster, boundary, and slave Clocks

解决什么问题

在多个节点设备>2的情况,需要同步各个设备的时间,以保证一些事件(发生在任何设备上)发生顺序是正确的(每个设备的时间戳尽量和真实的时间是一样的),所以时钟同步很重要,ptp 1588协议就是解决这个问题。

驱动和硬件

PTP需要硬件mac或者PHY的支持,调试amba cv22 mac已经支持了ptp。有些PHy也是支持ptp的,需要驱动支持。

修改ambarella_cv22_defconfig

CONFIG_PTP_1588_CLOCK=y

配置make menucofig,支持Linuxptp工具,用于测试ptp功能。

创建设备成功:

网卡已经支持硬件时间戳:

测试ptp

测试工具:ptp4l

 Enter the following command as root on your HOST:
  $ ptp4l -i enp0s3 -m

 Slave only mode on your board side:
  # ptp4l -i eth0 -s -m

root@#/home/default/ptp4l -i eth0 -s -m
ptp4l[124.718]: selected /dev/ptp0 as PTP clock
[  125.157591] SIOCSHWTSTAMP: f.0 t.1 f.c
ptp4l[124.755]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[124.755]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[126.126]: port 1: new foreign master 8cec4b.fffe.958140-1
ptp4l[130.127]: selected best master clock 8cec4b.fffe.958140
ptp4l[130.127]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[131.136]: master offset -1545626055960412635 s0 freq   -4819 path delay      9262
ptp4l[132.136]: master offset -1545626055960417360 s1 freq   -9543 path delay      9262
ptp4l[133.136]: master offset       4850 s2 freq   -4693 path delay      9262
ptp4l[133.145]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
ptp4l[134.137]: master offset       6450 s2 freq   -1638 path delay      7637
ptp4l[135.137]: master offset       3350 s2 freq   -2803 path delay      7637
ptp4l[136.137]: master offset       1300 s2 freq   -3848 path delay      7687
ptp4l[137.138]: master offset        325 s2 freq   -4433 path delay      7737
ptp4l[138.138]: master offset        100 s2 freq   -4560 path delay      7687
ptp4l[139.138]: master offset       -175 s2 freq   -4805 path delay      7687
ptp4l[140.138]: master offset        -25 s2 freq   -4708 path delay      7637
ptp4l[141.139]: master offset         31 s2 freq   -4659 path delay      7631
ptp4l[142.139]: master offset       -187 s2 freq   -4868 path delay      7649
ptp4l[143.139]: master offset        -62 s2 freq   -4799 path delay      7649
ptp4l[144.139]: master offset          6 s2 freq   -4750 path delay      7631

修改主机的时间date,从机也会相应的修改。master offset就是主从机的Offset between Master and Slave(PHC)。

参考资料:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-configuring_ptp_using_ptp4l#s2-Advantages_of_PTP

https://blog.csdn.net/BUPTOctopus/article/details/86246335

https://linuxptp.sourceforge.net

 

  • 7
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: IEEE 1588v2是一种用于实现精确时间同步的网络协议。该协议能够通过网络同步各个节点的时钟,并提供高精度的时间戳。要下载IEEE 1588v2协议,可以按照以下步骤进行。 首先,需要访问IEEE(电气和电子工程师协会)的官方网站。在该网站上,可以找到有关IEEE 1588v2协议的页面。从该页面上,可以获取到相关的标准文档和规范,这是下载IEEE 1588v2协议的重要资料。 其次,可以在IEEE的官方网站上查找有关IEEE 1588v2协议的技术文献和论文。这些文献和论文可以提供更为详细的信息,以及IEEE 1588v2协议的实现方法和应用场景。可以选择相关的论文进行下载,以便更好地理解和学习该协议。 此外,还可以通过在搜索引擎中输入"IEEE 1588v2协议下载"等关键词进行搜索。在搜索结果中,可以找到其他网站或平台提供的有关IEEE 1588v2协议的资源,如源代码、工具和应用案例等。根据需要,可以选择合适的资源进行下载和使用。 总之,下载IEEE 1588v2协议可以通过访问IEEE官方网站获取标准文档和规范,查找相关的技术文献和论文,以及在搜索引擎中搜索其他相关资源进行下载。这些资源将帮助了解和应用IEEE 1588v2协议,以实现精确的时间同步。 ### 回答2: IEEE 1588v2是一种用于精确时间同步的网络协议。它是由国际电气电子工程师学会(IEEE)制定的,该协议的全称是IEEE 1588v2 Precision Time ProtocolPTP),旨在提供网络设备之间的高精度时间同步。 要下载IEEE 1588v2协议,可以按照以下步骤进行操作: 1. 打开Web浏览器,进入IEEE官方网站(https://www.ieee.org/)。 2. 在网站的搜索框中输入"IEEE 1588v2"或"Precision Time Protocol",点击搜索按钮。 3. 在搜索结果中选择"IEEE 1588v2"或"IEEE 1588v2 Precision Time Protocol"的相关链接,通常是官方标准文档。 4. 根据网站提供的下载选项,选择合适的格式和版本进行下载。可以选择PDF、Word文档或其他常见文档格式。 5. 协议文件下载完成后,可以保存到本地计算机的指定位置。 当然,除了从IEEE官方网站下载,还可以通过其他途径获取IEEE 1588v2协议,比如在学术论文数据库或技术文档网站上进行搜索和下载。 下载IEEE 1588v2协议后,可以详细查阅其中的规范和技术细节,了解该协议的功能、实现原理以及如何在网络设备中进行使用和配置。它将对网络中需要高精度时间同步的应用和系统设计非常有帮助,如金融交易、电力系统、工业自动化等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值