首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PTP 1588时间戳

PTP 1588时间戳
EN

Stack Overflow用户
提问于 2019-10-01 07:43:19
回答 2查看 797关注 0票数 0

PTP 1588中,时间戳数据包是指PTP数据包的第一位离开设备引脚的时间?

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

这样时间就可以预先送到包里了吗?

EN

回答 2

Stack Overflow用户

发布于 2019-10-01 14:09:24

是的,我认为IEEE1588标准确实有一个确切的时间戳点的定义。确切地说,这一点并不重要,因为延迟(只要它是一个恒定的延迟)将得到补偿。

通常,当您使用PTP时,您有一个硬件时间戳单元(TSU),它有一个可以从软件中调整的数字时钟。时间戳可以在PHY (驱动线路的芯片)中实现,也可以在MAC (缓冲帧的CPU外围,直到软件有时间读取)中实现。

当识别到PTP帧时,通常将当前时间戳加上PTP序列号和消息类型存储到单独的内存中,供CPU稍后提取。然后CPU将使用这些信息来调整TSU的时钟(通常与从操作系统看到的正常系统时间不同)。然后,应用程序硬件使用TSU时钟,例如对外部信号进行时间戳,或产生精确的脉冲。它通常不被软件直接使用,因为这会增加许多由于硬件时间戳而避免的不可预测的延迟。

您不能仅仅将时间戳附加到帧中,因为这样CPU就无法获得任何传输时间戳。如果软件在CPU上执行任何类型的时间戳,PTP的精度通常会因为许多不确定性(如中断延迟、调度器延迟、队列等)而丢失。

然而,PTP帧还包含可以通过硬件组件动态调整的校正字段,例如,交换机可以将转发延迟直接添加到帧中,动态修改转发延迟,并计算新的校验和。

票数 1
EN

Stack Overflow用户

发布于 2020-08-11 19:56:58

OP:在PTP 1588中,时间戳数据包是指PTP数据包的第一位离开设备引脚的时间?

..。所以,不仅仅是当“第一位.离开”的时候,而是那个信息比特的开头:离开或进入。

,除非在本标准的特定传输附件中另有规定,否则事件消息的消息时间戳点应为--框架 (SOF)分隔符开始后的第一个符号的开头。IEEE1588-2008 7.3.4.1事件消息时间戳点

OP:这是否意味着如果必须在数据包中输入时间,PTP堆栈应该知道从PTP堆栈中给定阶段到设备引脚被该PTP数据包占用的时间是多少?这样时间就可以预先送到包里了吗?

这是一个课程方法。

当然更准确,虽然复杂的方法是在数据包的后面部分注入时间信息。任何跟踪CRC也需要实时计算.

1588没有具体说明如何实现其目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58180165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档