跳转到内容

Precision Time Protocol (blaze)#

Precision Time Protocol (PTP) 功能可让您同步同一网络中的多台 GigE 相机。

IEEE 1588标准定义了该协议。Basler 相机支持 IEEE 1588-2008,也称为 PTP 版本 2。

信息

PTP 同步的精度在很大程度上取决于您的网络硬件和设置。为了获得最高精度,请选择高质量的网络硬件、使用支持 PTP 的网络交换机,并向您的网络添加一个带有 GPS 接收器的外部 PTP 时钟设备。

该功能的使用#

为什么使用 PTP#

Precision Time Protocol (PTP) 功能可以让 blaze 相机使用 Synchronous Free Run (blaze) 功能。

通过 PTP,多台相机的时钟会自动与网络中找到的最准确时钟(称为主时钟或最佳主时钟)同步。

根据您的系统设置,主时钟可以是相机或外部设备:

  • 如果您的系统只包括相机,则各台相机将相互协商以确定最准确的相机时钟,然后将其用作主时钟。
  • 如果您的系统包括外部设备(例如 GPS 接收器或配置为主设备的其他计算机),则外部设备将充当主时钟。

当相机的时钟同步时,它们的 Timestamp 可以相互比较。

如果网络中的主时钟基于国际时间标准 TAI 来传递绝对时间(例如,通过 GPS 接收器),则可以从相机的同步时钟生成的 Timestamp 来确定本地时间。

如果主时钟未传递 TAI 时间,则这些时钟会同步运行,但它们的时间是随机的时标,这就是所谓的任意时标模式 (ARB)。在此模式下,纪元是任意的,因为它不受绝对时间的限制。而时标是相对的,即仅在该网络中有效。最佳的主时钟算法将选择具有最高稳定性和精度的时钟作为该网络的主时钟。充当主时钟的相机无法传递 TAI 时间,只能传递 ARB 时间。

启用 PTP 时钟同步#

开启相机电源时,始终禁用 PTP。如果要使用 PTP,必须自行启用。

要启用 PTP:

  1. 如果要将外部设备用作主时钟(例如 GPS 接收器),请将外部设备配置为主时钟。
  2. 在您要通过 PTP 进行同步的所有相机上,将 PtpEnable 参数设置为 true
  3. 等待全部 PTP 网络设备充分同步。根据您的网络设置,这可能需要几秒钟或几分钟。
    您可以通过检查设备的 PTP 时钟同步状态来确定何时实现设备同步。

检查 PTP 时钟同步的状态#

您必须开发自己的方法来使用 blaze SDK 检查 PTP 时钟同步状态。

关于如何检查 PTP 状态的示例

一个典型的 PTP 状态检查实例包含以下步骤:

  1. 启用 PTP。
  2. Wait for the Best Master Clock algorithm to finish. To determine whether the algorithm has finished, perform the following steps in a loop until the 点对点状态 parameter value for all cameras is either 奴隶 and no more than one camera returns as 点对点状态:
    1. 在每台相机上执行 PtpDataSetLatch 命令。
      该命令可让您获取相机当前 PTP 状态的“快照”。“快照”方法可确保所有参数值都指向完全相同的时间点。
    2. 读取每台相机的 PtpStatus 参数。
  3. 等到时钟充分同步。
    请参阅以下部分,以获取有关如何进行验证的说明。
如何检查时钟是否充分同步

信息

为此,请使用 PtpOffsetFromMaster 参数,该参数指示设备的时钟与主时钟的偏离量。您应该等到所有这些偏离量都低于某个阈值(由您根据您的要求指定),例如 50 µs。
由于时钟是通过控制机制连续调节的,因此偏离量会在主值附近振荡一会儿,随着时间的流逝,振荡的幅度会变小。Basler 建议您在特定时间内(例如 10 秒钟)检查最大 PtpOffsetFromMaster 参数值是否低于阈值。

  1. 根据您的应用要求定义偏离量的阈值,例如 50 µs。
  2. 定义您希望偏离量低于阈值的时窗长度。
  3. 读出当前系统时间,并将其用作您要检查 PtpOffsetFromMaster 参数值的时窗起始点。
  4. 循环执行以下步骤:
    1. 在每台相机上,执行 PtpDataSetLatch 并读出 PtpOffsetFromMaster 参数值。
      记下这些值,以备后用。
    2. 查找最高偏离量。
      • 如果一个或多个绝对偏离量在指定的时窗内高于阈值,则将时窗的起始点重置为当前时间,然后返回步骤 1。
      • 如果所有绝对偏离量在整个时窗长度内均低于阈值,请停止循环。
        现在所有时钟都已充分同步。

下图显示了主时钟的偏离量如何随时间变化。时窗由红色矩形表示。偏离主时钟的绝对值越小,精度越高。

PTP 相对于主振幅的偏移