0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【虹科】5分钟弄懂为什么IEEE 1588如此精确?

虹科智能自动化 2022-06-30 09:24 次阅读

为什么IEEE 1588如此精确?因为1个概念:硬件时间戳。因为由IEEE 1588-2008定义的精确时间协议(PTP)通过在主时钟和从时钟之间交换信息来工作。

d28eb640-f6fe-11ec-a2f4-dac502259ad0.jpg

d27f39ae-f6fe-11ec-a2f4-dac502259ad0.png

图1. 显示PTP主时钟和PTP从时钟之间信息交换的顺序图。Sync和Delay_Request消息的出发和到达时间被保存为四个时间戳t1-t4。Follow_Up和Delay_Response消息用于将主时钟记录的时间戳传送给从时钟,这样它就有了调整其时间所需的信息。在这些交换结束后,从属时钟拥有所有四个时间戳。因此,它可以计算出它的时钟相对于主时钟的偏移量为:

偏移 = (t2 + t3 – t1 – t4) /2

d2aff9ea-f6fe-11ec-a2f4-dac502259ad0.png

问题

d2ba5caa-f6fe-11ec-a2f4-dac502259ad0.png

d27f39ae-f6fe-11ec-a2f4-dac502259ad0.png

然而,有一个陷阱(问题)。该方程假定信息从主站到从站所需的时间(正向延迟)与信息从从站到主站所需的时间(反向延迟)相同。如果这些延迟很大也没有问题,只要它们是相同的。正向和反向延迟的任何差异都会导致在确定主时钟和从时钟之间的差异时出现错误。

为什么正向和反向的延迟会不同?这主要是由于所有那些讨厌的“队列”。路由器里有队列,交换机里有队列,甚至终端设备的网络堆栈里也有队列。通常情况下,信息在队列中花费的时间很少,但有时它们在等待交换机完成同一端口上的其他信息,或等待操作系统完成它正在做的事情,以便它能获取时间戳。在某些情况下,延迟可能相当长,几微秒,甚至是毫秒。因此,很明显,如果这种情况发生在一个方向,而不是另一个方向,那么,这就有一个很大的时间传输错误。

d2aff9ea-f6fe-11ec-a2f4-dac502259ad0.png

硬件时间戳

d2ba5caa-f6fe-11ec-a2f4-dac502259ad0.png

Hardware timestamping

d27f39ae-f6fe-11ec-a2f4-dac502259ad0.png

由于我们在开篇已经给出了答案,知道这是通过硬件时间戳解决的。其工作原理如下图所示。当消息离开或到达网络端口时,特殊硬件会根据本地时钟生成时间戳,该时间戳通常位于数据链路层(MAC)和物理层(PHY)之间与介质无关的接口中。这消除了操作系统和其他软件无法预测的缓慢响应。支持PTP的交换机和路由器也会为PTP消息加时间戳。下面所示的一种类型的这样的设备称为透明时钟,其工作方式是更新PTP消息以校正在设备上花费的时间。另一种类型称为边界时钟,它使用PTP消息设置自己的时钟,然后将其时间发送给需要它的PTP从站。

d2fac768-f6fe-11ec-a2f4-dac502259ad0.jpg

d27f39ae-f6fe-11ec-a2f4-dac502259ad0.png

图2. 同步信息传输过程中的硬件时间戳示意图。同步消息在通过PHY和MAC之间的MII时,会在PTP设备的本地时钟上触发一个时间戳。

这种延迟测量机制被称为 “端对端E2E “延迟测量机制。事实证明,PTP有一种替代性的延迟测量机制,称为 “对等P2P “延迟机制。关于这两种延迟机制的描述,我们将在下期文章中介绍。

d2aff9ea-f6fe-11ec-a2f4-dac502259ad0.png

产品推荐

d2ba5caa-f6fe-11ec-a2f4-dac502259ad0.png

BestProduct

Elproma时间服务器

d3252e40-f6fe-11ec-a2f4-dac502259ad0.pngd32fe416-f6fe-11ec-a2f4-dac502259ad0.jpg

在新的工业 4.0 理念正在改变技术格局的世界中,提出了更高的时间同步要求。ELPROMA专注在时间同步方案30余年,是NTP PTP/IEEE1588 IRIG网络时间同步解决方案的世界领先者,旨在保持计算机时钟高度稳定和准确。该公司为关键基础设施(智能电网、电信5G、MiFID2金融、工业4.0、自动驾驶、政府和全球企业)提供稳健和安全的时间。

PTPIEEE 1588 Grandmaster

NTP 时间服务器stratum1

ePRTC*PRTCPRC时钟

PTP硬件时间戳

PTP扩展卡(可做master或slave)

高可用性支持(HA)

两路冗余天线(天线安装无需额外供电,与时间服务器网线连接,供电,最长700m)

支持NTP/PTP/IRIG-B/1PPS+ToD

多种配置文件:电信5G,电力,金融等

MTBF:391000小时

d3406764-f6fe-11ec-a2f4-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    570

    浏览量

    38913
收藏 人收藏

    评论

    相关推荐

    STM32F107的1588协议如何使用外部时钟做为基准?

    想使用外部的GPS秒脉冲给MASTER做为基准时钟,然后通过1588协议让其他SLAVE同步.我下载了官网例程,但不知道怎么把GPS的秒脉冲和1588的时钟关联起来.使用ETH_PTPTime_SetTime在秒脉冲中断中每秒设置一次时间?感觉不太对.
    发表于 04-25 07:04

    STM32 IEEE1588时间同步

    有谁在STM32上实现过IEEE1588精确时间同步的吗?
    发表于 02-23 16:22

    电脑登录游戏5分钟出错一次

    电脑登录游戏5分钟出错一次,游戏公司锁定我的电脑禁止登录,如何找到对方用了什么手段
    发表于 11-29 11:49

    虹科干货 | 适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

    导读:在基于FPGA的网络设备中,精确的时间同步至关重要。IEEE 1588标准定义的精确时间协议(PTP)为网络中的设备提供了纳秒级的时间同步。本文将介绍虹科提供的适用于基于FPGA
    的头像 发表于 11-27 10:57 572次阅读
    虹科干货 | 适用于基于FPGA的网络设备的<b class='flag-5'>IEEE</b> <b class='flag-5'>1588</b>透明时钟架构

    适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

    在基于FPGA的网络设备中,精确的时间同步至关重要。虹科IEEE1588标准定义的精确时间协议(PTP)为网络中的设备提供了纳秒级的时间同步。本文将介绍虹科提供的适用于基于FPGA的网络设备
    的头像 发表于 11-23 08:04 253次阅读
    适用于基于FPGA的网络设备的<b class='flag-5'>IEEE</b> <b class='flag-5'>1588</b>透明时钟架构

    请问W5500芯片是否支持IEEE1588

    请问W5500芯片是否支持IEEE1588,如果支持的话是否可以提供一段代码参考。显示全部
    发表于 11-03 06:04

    基于TMS320DM642的硬件实现IEEE1588时钟同步

    电子发烧友网站提供《基于TMS320DM642的硬件实现IEEE1588时钟同步.pdf》资料免费下载
    发表于 10-26 09:05 1次下载
    基于TMS320DM642的硬件实现<b class='flag-5'>IEEE1588</b>时钟同步

    IEEE1588时钟同步在PTN网中的实现

    电子发烧友网站提供《IEEE1588时钟同步在PTN网中的实现.pdf》资料免费下载
    发表于 10-24 09:39 0次下载
    <b class='flag-5'>IEEE1588</b>时钟同步在PTN网中的实现

    浅谈网络精确时间同步—PTP(IEEE1588)

    IEEE1588(the Precision Time Protocol 简称为 PTP )全称是“网络测量和控制系统的精密时钟同步协议标准”,是针对基于工业以太网的测控系统的时间同步协议
    的头像 发表于 10-09 10:58 3231次阅读
    浅谈网络<b class='flag-5'>精确</b>时间同步—PTP(<b class='flag-5'>IEEE1588</b>)

    60分钟学会OrCAD Capture CIS

    于争博士60分钟学会ORCAD,内容简单详实,上手很容易,Cadence相对protel更专业,值得大家学习......
    发表于 09-27 08:27

    SA3 opencv下videocapture经常5分钟左右断网如何解决?

    SA3 opencv下videocapture 经常 5 分钟左右断网
    发表于 09-19 07:35

    s32grdb3上PFE2的IEEE1588无法工作怎么解决?

    我将使用 BSP35 在 VxWorks 上的 s32grdb3 板上启用 PFE 的 IEEE1588,我正在使用 PFE2。 我调用此函数 pfe_emac_enable_ts() 以在
    发表于 06-01 06:50

    IMX8MM IEEE 1588 PTP输出测试,当我启用pps时没有精确的1 pps如何解决?

    目前我正在研究 IEEE 1588 PTP 输出验证,我观察到当我启用 pps 时没有精确的 1 pps。在我看来,理想情况下应该是 1pps。谁能帮我解决这个问题?
    发表于 05-29 06:43

    ENET_QOS_1588_EVENTx和PPSx有什么区别呢?

    我正在尝试让 ENET QoS 模块的 PPS 在 i.MX 8M plus 上工作。 我需要澄清 ENET_QOS_1588_EVENTx 和 PPSx 之间的区别。 首先我认为
    发表于 05-17 08:30