avb, gptp
·
AVB简介--第二篇:gPTP简介-腾讯云开发者社区-腾讯云
3. 绝对时间同步
下图包含一个主时钟(Master time)和一个从时钟(Slave time),二者时间不同步。现在要把从时钟的时间校准到主时钟的时间,其中t1、t4为主时钟对应的时间,t2、t3为从时钟对应的时间。

主要流程如下:
- 主时钟在t1时刻发送Sync命令,从时钟在t2时刻收到同步指令。这时候从时钟并不知道主时钟是在什么时候发出这个Sync命令的,但是知道自己是在t2时刻收到该命令的。
- 主时钟发送一个Follow_Up命令,该命令中携带t1的值。从时钟收到后,知道上面的Sync指令是在t1时刻发出的。此时从时钟拥有t1、t2两个值。
- 从时钟在t3时刻发送一个Delay_Req命令,主时钟在t4时刻收到该命令。此时从时钟知道t1、t2、t3三个值。
- 主时钟接着发送一个Delay_Resp响应从时钟的Delay_Req,该命令中携带t4的值。从时钟收到后,知道主时钟是在t4时刻收到的Delay_Req命令的。此时从时钟知道t1、t2、t3、t4四个值。
- 我们假设路径传输延时是对称的,即去程的传输延时和回程的传输延时相等。从时钟可以根据下面的公式计算路径传输延时(path_delay),以及自己与主时钟的偏差(clock_offset): t2 – t1 = path_delay + clock_offset t4 – t3 = path_delay - clock_offset 由此可以算出: path_delay = (t4 – t3 + t2 – t1) / 2 clock_offset = (t3 – t4 + t2 – t1) / 2
- 假设 10 8 7 4 , path_delay = (10 -8 + 7 -4 )/2 = 2.5, clock_offset = (8-10 + 7 - 4)/2 = 0.5
- 现在从时钟知道了自己与主时钟的时差clock_offset,就可以调整自己的时间了。另外,从时钟还知道自己与主时钟的路径传输延时path_delay,该值对于switch意义重大,因为在gPTP的P2P校时方式中,switch需要转发主时钟的校时信号,在转发的时候,需要将该值放在补偿信息中(后面章节会详细介绍)。
从上面的流程可以看到,传输延时path_delay的精度/稳定性会影响校时精度。而传输延时又可以划分为:各段链路传输时间总和 + 中间节点转发导致的驻留时间(缓存时间)。
4. 相对时间同步
PTP协议定义了2种消息:事件消息和通用消息。
事件消息需要在发送和接收的时候打上精确的时间戳。而通用消息不需要。
事件消息包括: Sync Delay_Req Pdelay_Req Pdelay_Resp
通用消息包括 Announce Follow_Up Delay_Resp Pdelay_Resp_Follow_Up Management Signaling
Sync, Delay_Req, Follow_Up, Delay_Resp.消息是用来产生和交互时间信息的,这些信息用来同步时间的。
Pdelay_Req, Pdelay_Resp, Pdelay_Resp_Follow_Up用来测量link延时。
Announce消息用来建立同步层次。
Management消息用来查询和设置PTP时钟的时钟数据。
Signaling消息是用来PTP时钟之间进行交互(如协商消息的周期等)
所有消息均使用TLV格式以利于扩展。




透明时钟
时间跳变.相位同步,
频率同步,
更多推荐


所有评论(0)