IEEE1588协议简介

Posted coneypo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IEEE1588协议简介相关的知识,希望对你有一定的参考价值。

IEEE1588 协议,又称 PTP( precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于 2002 年发布 version 1,2008 年发布 version 2。

IEEE1588 协议的同步原理,所提出的 Delay Request-Response Mechanism(延时响应机制)如 图1 所示。

图1 PTP 协议延迟响应机制

 

图中所描述的 PTP 报文为以下几种:

  (1)sync 同步报文

  (2)Follow_up 跟随报文

  (3)Delay_req 延迟请求报文

  (4)Delay_resp 延迟请求响应报文

 

延迟响应同步机制的报文收发流程:

1. 主时钟周期性的发出 sync 报文,并记录下 sync 报文离开主时钟的精确发送时间 t1;

(此处 sync 报文是周期性发出,可以携带或者不携带发送时间信息,因为就算携带也只能是预估发送时间戳 originTimeStamp)

2. 主时钟将精确发送时间 t1 封装到 Follow_up 报文中,发送给从时钟;

(由于 sync 报文不可能携带精确的报文离开时间,所以我们在之后的 Follow_up 报文中,将 sync 报文精确的发送时间戳  t1 封装起来,发给从时钟)

3. 从时钟记录 sync 报文到达从时钟的精确时到达时间 t2;

4. 从时钟发出 delay_req 报文并且记录下精确发送时间 t3;

5. 主时钟记录下 delay_req 报文到达主时钟的精确到达时间 t4;

6. 主时钟发出携带精确时间戳信息 t4 的 delay_resp 报文给从时钟;

 

这样 从时钟处 就得到了 t1,t2,t3,t4 四个精确报文收发时间。

 

时钟偏差 & 网络延时

offset : 时钟间偏差(主从时钟之间存在时间偏差,偏离值就是 offset,图1 中主从时钟之间虚线连接时刻,就是两时钟时间一致点)

delay : 网络延时(报文在网络中传输带来的延时)

从时钟可以通过 t1,t2,t3,t4 四个精确时间戳信息,得到主从时钟偏差 offset 和传输延时 delay:

  

  从时钟得到 offset 和 delay 之后就可以通过修正本地时钟进行时间同步。

 

PTP报文分类

  IEEE1588 把所涉及到的报文分为 事件报文通用报文,分类依据是:是否在收发报文时需要记录精确时间戳,根据上文中所描述的几种报文,可以进行如下分类:

  事件报文 < 收发时候需要记录精确时间戳 > :sync 报文,delay_req 报文

  通用报文 < 收发时候不需要几率精确时间戳 > :follow_up 报文,delay_resp 报文

 

Note

  1. 因为需要高同步精度,选取的时间都是精确时间戳

  2. sync 同步报文是周期性从主时钟向从时钟以广播的形式发出

  3. 时钟偏差延时的计算在从时钟中进行,所以需要把 t1,t2,t3,t4 四个时间戳信息都发往从时钟,所以需要  follow_up 报文和  delay_resp 报文的存在

 

# 请尊重他人劳动成果,转载请注明出处:http://www.cnblogs.com/AdaminXie

# 如有问题请留言或者联系邮箱 coneypo@foxmail.com

以上是关于IEEE1588协议简介的主要内容,如果未能解决你的问题,请参考以下文章

RT-Thread : IEEE1588/PTP 的实现

ZYNQ 系统的IEEE1588 实现方法

RT-Thread使用DP83640 实现IEEE1588 协议笔记

RT-Thread : IEEE1588/PTP 协议的实现

IEEE1588精密网络同步协议(PTP)

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