前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软硬件协同下PTP同步的工作过程

软硬件协同下PTP同步的工作过程

作者头像
黑马Amos
发布2023-03-21 14:04:28
7030
发布2023-03-21 14:04:28
举报
文章被收录于专栏:李家杂货铺zi

目录

1. 初始化阶段(协商出一个master)

2. 同步阶段(时钟同步和时间同步)

2.1 时钟同步阶段(频率同步,有相位差)

2.2 时间同步阶段(无相位差)

2.3 ACS9521的例子


1. 初始化阶段(协商出一个master)

在初始化阶段,每个被设置为master的节点都会发送包含了自身时钟参数的SYNC packets,每个接收到SYNC packets的有潜能作为master的节点的软件会将自身的时钟参数与接收到的时钟参数进行比较,如果别人家的时钟更好,该节点的软件就老实地做slave,并且不再发SYNC packets,它会暂时将这个比它更好的节点当作master,它心有不甘,它会不停地接收别人发的SYNC packets,并将它与自己的master比较,如果别人家的更好,它会毫不犹豫地转认新master,最终所有节点会找出来那个最强的节点作为master,其他的节点都是slave,都要听命于这个最强master。

2. 同步阶段(时钟同步和时间同步)

时间同步阶段分为时钟同步阶段和时间同步阶段。

2.1 时钟同步阶段(频率同步,有相位差)

这个阶段,slave根据master的时钟校准自己的时钟。

1)master软件发送SYNC packets后,会设置一个标志位,以通知master硬件记录发送时间,master硬件将该时间放在一个寄存器中,master软件读取该寄存器的值,将其放在Follow_UP packets。

2)slave会捕获SYNC packets,记录自己的接收时间T2,slave之后会捕获Follow_UP packets,从中获取master软件发送SYNC packets的时间T1,slave软件会根据T1和T2计算出master使用自己的时钟时连续的packets之间的时间间隔,然后slave软件以此为目标,调整自己的时钟以达到同样的时间间隔。使用此种方法完成slave时钟校准到master时钟。

图2.1 时钟同步阶段图示

2.2 时间同步阶段(无相位差)

这个阶段,slave实现时间同步,达到完全同步至master。

图2.2 时间同步阶段图示

master软件发送Sync packets,通知master硬件记录发送时间T1,slave软件通知slave硬件记录接收时间T2,master再发送Follow_Up packets,里面会携带T1,slave软件之后会返回Delay_Req packets,slave硬件会记录发送时间T3,master软件接收到Delay_Req packets后,通知master硬件记录接收时间T4,master软件再发送Delay_Response packets,里面会携带T4,slave软件接收到该packets后,它就获取到了T1、T2、T3和T4,根据下面的公式可以计算出slave需要调整的时间,最终实现时间同步。 Slave Adjust Time = - [(T2-T1) - (T4-T3)] / 2

2.3 ACS9521的例子

图 2.3 Block diagram of PTP functions

需要关注几点:

  • 当ACS9521工作在slave模式,上图红色框内的目的在于产生path delay,它用于实现slave与master的相位同步(时间同步)。
  • 当ACS9521工作在master模式,Frequency and Time Generator产生的PTPoutClk[3:0]与1PPS/1Hz/1PPns[1:0]时间同步,后者与PTPInClk[7:0]中的一个时间同步,所以最终,这三个都是时间同步的。
  • PTP Ports工作在MAC层,即是说PTP message在以太网帧中封装,使用下图的格式:

图2.4 PTP Message Over Layer 2

  • 时间戳使用Frequency and Time Generator产生的本地时间基准。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 初始化阶段(协商出一个master)
  • 2. 同步阶段(时钟同步和时间同步)
    • 2.1 时钟同步阶段(频率同步,有相位差)
      • 2.2 时间同步阶段(无相位差)
        • 2.3 ACS9521的例子
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档