PTP 1588时间戳

问题描述 投票:0回答:1

PTP 1588中,带有时间戳的数据包表示PTP数据包的第一位离开设备引脚的时间?

[这是否意味着如果必须在数据包中输入该时间,PTP堆栈应该知道从PTP堆栈中的给定阶段到该PTP数据包将占用器件引脚有多少时间?

以便可以在包中预装时间?

networking timestamp ethernet ptp
1个回答
0
投票

是的,我认为IEEE1588标准确实有一个确切的时间戳记位置。这一点在哪里并不重要,因为延迟(只要是恒定延迟)将得到补偿。

通常,当您使用PTP时,您会拥有一个硬件时间戳单元(TSU),该单元具有一个可以通过软件进行调整的数字时钟。时间戳记既可以在PHY(驱动线的芯片)中实现,也可以在MAC(用于缓冲帧,直到软件有时间读取它们的CPU的外围设备)中实现。

当识别出PTP帧时,通常将当前时间戳以及PTP序列号和消息类型存储在单独的存储器中,以供CPU稍后提取。然后,CPU将使用此信息来调整TSU的时钟(通常与从OS看到的正常系统时间不同)。然后TSU时钟由应用程序编程的硬件(例如为外部信号打上时间戳,或生成精确的脉冲。它通常由软件直接使用,因为这会增加很多不可预料的延迟,而这些延迟是通过使用硬件时间戳来避免的。]您不能仅将时间戳添加到帧,因为这样CPU无法获得任何发送时间戳。如果软件在CPU上进行任何时间戳记,则PTP的精度通常会丢失,因为存在很多不确定性(例如中断延迟,调度程序延迟,队列等)]

但是,PTP帧还包含

校正字段,可以通过硬件组件(例如,交换机可以将转发延迟直接添加到帧中,即时对其进行修改,然后计算新的校验和。

© www.soinside.com 2019 - 2024. All rights reserved.