我们正在分析控制系统软件的 PTP 并测量 PTP 时钟同步的准确性,其中两台个人计算机的小型设置使其中一台作为主机,另一台作为从机。我们目前的设置非常粗糙,我们还没有大师。问题是我们的准确度数字(正如我们目前测量的那样,可能不正确)与 PTP 协议声称的标准数字不匹配,并且变化幅度为 10。
作为分析的一部分,我们正在尝试硬件和软件时间戳,并尝试测量两者的准确性。
我们正在使用 ptp4l 和 ph2sys v1.8 工具。我们当前的准确度测量是基于 ptp4l 进程报告的主从偏移量。(ptp4l 也报告路径延迟,我们目前不使用这些数字。这些数字在精度测量中是否有任何意义?)
在硬件时间戳中,我们从主设备获得 >1000 纳秒的偏移,这远远大于 PTP H/W 时间戳的 50 ns 左右的预期值。
对于软件时间戳,我们从主机获得了小于 100 μs 的预期偏移量。
设置和执行的详细信息:
主控: Dell Latitude E6220(Intel 82579LM 千兆以太网控制器)- CentOS7
从机: Dell Latitude E6320(Intel 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 的主时钟)
奴隶:
sudo ptp4l -i em1 -m -s
sudo phc2sys -s em1 -c CLOCK_REALTIME -m -w
(注意:我们使用默认配置运行上述命令。如果需要调整任何配置以提高准确性,请告诉我们?)
我们正在寻求帮助,以找出这种硬件时间戳准确性差异背后的原因以及我们的测试设置或测量方法中的任何错误。
谢谢,
多莉