PTP(精确时间协议)硬件中的差异时间戳记精度测量

时间:2018-10-24 09:23:33

标签: time measurement ieee ptp

我们正在分析一个控制系统软件的PTP,并使用两台个人计算机的少量设置来测量PTP时钟同步的准确性,其中两台个人计算机中的一台作为主机,另一台作为从机。我们当前的设置非常粗糙,我们还没有大师级。问题在于我们的准确度数字(目前正在测量,可能不正确)与PTP协议要求的标准数字不匹配,并且变化幅度为10。

作为分析的一部分,我们正在尝试对硬件和软件进行时间戳记,并试图对二者的准确性进行衡量。

我们正在使用ptp4l和ph2sys v1.8工具。 我们当前的准确性度量基于ptp4l进程报告的主从偏移。 (ptp4l还会报告路径延迟,我们目前不使用这些数字。这些数字在准确性测量中是否有意义?)

在硬件时间戳中,我们从主机获得的偏移量为1000纳秒,这远远大于PTP硬件时间戳的约50 ns的预期值。

Hardware timestamping offsets

对于软件时间戳,我们从主机获得的期望偏移为<100μs。 Software timestamping offsets

设置和执行的详细信息:

大师:Dell Latitude E6220(英特尔82579LM千兆以太网控制器)-CentOS7

从设备:Dell Latitude E6320(英特尔82579LM千兆以太网控制器)-CentOS7

网络:速度为1 GBPS的以太网电缆

Ethtool输出:

功能:

hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)

software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)

hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)

software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)

software-system-clock (SOF_TIMESTAMPING_SOFTWARE)

hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)

PTP硬件时钟:0

硬件发送时间戳模式:

off                   (HWTSTAMP_TX_OFF)

on                    (HWTSTAMP_TX_ON)

硬件接收过滤器模式:

none                  (HWTSTAMP_FILTER_NONE)

all                   (HWTSTAMP_FILTER_ALL)

ptpv1-l4-sync         (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)

ptpv1-l4-delay-req    (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)

ptpv2-l4-sync         (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)

ptpv2-l4-delay-req    (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)

ptpv2-l2-sync         (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)

ptpv2-l2-delay-req    (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)

ptpv2-event           (HWTSTAMP_FILTER_PTP_V2_EVENT)

ptpv2-sync            (HWTSTAMP_FILTER_PTP_V2_SYNC)

ptpv2-delay-req       (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)

我们将ptp4l用于软件时间戳,如下所示:

主:

sudo ptp4l -i em1 -m -S

从站:

sudo ptp4l -i em1 -m  -s -S

以及用于硬件时间戳的ptp4l和phc2sys如下:

主:

sudo ptp4l -i em1 -m

sudo phc2sys -s CLOCK_REALTIME -c em1 -m -w 

(由于我们目前没有高级大师,因此我们将Master的系统时钟用作phc2sys的Master时钟)

从站:

sudo ptp4l -i em1 -m -s

sudo phc2sys -s  em1 -c CLOCK_REALTIME -m -w

(注意:我们正在使用默认配置运行上述命令。请让我们知道是否需要调整任何配置以提高准确性?)

我们正在寻求帮助,以找出造成硬件时间戳精确度差异的原因以及我们的测试设置或测量方法中的任何错误。

谢谢

多莉

1 个答案:

答案 0 :(得分:0)

我们正在使用ptp4l和ph2sys v1.8 工具。

使用

英特尔 82579 LM

代码中的LinuxPTP v1.8 was released in November 2016a patch was added in February 2017,涉及影响硬件时钟精度的硬件频率问题。

这说明了为什么只影响硬件模式。

使用更新的版本应该可以解决此问题。