跳至內容
測試伺服器
開發伺服器

Precision Time Protocol (blaze)#

Precision Time Protocol (PTP )功能可讓您同步同一網路中的多台 GigE 攝影機。

IEEE 1588 標準定義了此協定。Basler 相機支援 IEEE 1588-2008(也稱為 PTP Version 2)。

資訊

PTP 同步的精確度很大程度上取決於您的網路硬體與設定。為了達到最高精確度,請選擇高品質的網路硬體、使用支援 PTP 的網路交換器,並在網路中新增配備 GPS 接收器的外部 PTP 時鐘裝置。

使用功能#

為什麼使用 PTP#

Precision Time Protocol (PTP )功能可讓 Blaze 攝影機使用Synchronous Free Run (blaze)功能。

透過PTP ,多台攝影機的時鐘可自動與網路上最精確的時鐘(即所謂的主時鐘或最佳主時鐘)進行同步。

視您的系統設定而定,主時鐘可以是攝影機,也可以是外部裝置:

  • 如果您的系統僅包含攝影機,這些攝影機會相互協商以確定最精確的攝影機時鐘,該時鐘隨後將作為主時鐘。
  • 若您的系統包含外部裝置(例如:GPS 接收器或設定為主機的額外電腦),該外部裝置將充當主時鐘。

當攝影機的時鐘同步後,即可將它們的時間戳記相互比較。

如果網路中的主時鐘是根據國際時間標準 TAI 提供絕對時間(例如透過 GPS 接收器),則可根據攝影機同步時鐘所產生的時間戳記來確定當地時間。

如果主時鐘無法提供 TAI 時間,則各時鐘雖保持同步運行,但其時間卻處於隨機時間尺度上,即所謂的「任意時間尺度模式」(ARB)。在此模式下,紀元是任意的,因為它不受絕對時間的約束。此時間尺度屬相對性質,也就是說,它僅在該網路內有效。 最佳主時鐘演算法會選取穩定性與精確度最高的時鐘,作為該網路的主時鐘。擔任主時鐘的攝影機無法提供 TAI 時間,僅能提供 ARB 時間。

啟用 PTP 時鐘同步#

相機開機時,PTP 一律會停用。如果您想要使用 PTP,必須將其啟用。

若要啟用 PTP:

  1. 若要將外部裝置(例如 GPS 接收器)用作主時鐘,請將該外部裝置設定為主時鐘。
  2. 在所有要透過 PTP 同步的相機上,設定 PtpEnable 參數設為 true.
  3. 請等待,直到所有PTP 網路裝置均已充分同步為止。根據您的網路設定,此過程可能需要幾秒鐘或幾分鐘。
    若要確認裝置何時同步完成,請檢查PTP 時鐘同步的狀態。

檢查 PTP 時鐘同步的狀態#

您必須自行開發一種方法,透過 pylon SDK 來檢查PTP 的時鐘同步狀態。

如何查詢「PTP 」狀態的範例#

PTP 狀態檢查的典型實作包含以下步驟:

  1. 啟用PTP 。
  2. 請等待「最佳主時鐘」演算法執行完畢。要判斷演算法是否已完成,請在迴圈中重複執行以下步驟,直到 PtpStatus 所有攝影機的參數值皆為 Master 或 Slave 且回傳的攝影機數量不得超過一台 Master 作為 PtpStatus:

    1. 執行 PtpDataSetLatch 每台攝影機上的指令。
      此指令可讓您擷取相機當前PTP 狀態的「快照」。「快照」的實作方式可確保所有參數值皆精確對應至同一個時間點。
    2. 閱讀 PtpStatus 每台攝影機的參數。
    3. 請等待時鐘充分同步。
      有關如何驗證此項的說明,請參閱下一節。
如何檢查時鐘是否已充分同步#

資訊

為此,請使用 PtpOffsetFromMaster 此參數用以表示裝置時鐘與主時鐘之間的偏差程度。您應等待直至所有這些偏移值均低於某個閾值(由您根據需求指定),例如 50 µs。
由於時鐘會透過控制機制持續進行調整,因此偏移量會圍繞基準值擺動一段時間,且隨著時間推移,擺動的振幅會逐漸減小。Basler 建議檢查最大 PtpOffsetFromMaster 參數值在一段時間內(例如 10 秒)低於閾值。

  1. 請根據您的應用需求,為偏移值設定一個閾值,例如 50 µs。
  2. 請指定您希望偏移值低於閾值的時段長度。
  3. 讀取當前的系統時間,並將其作為您要檢查該項目的時間區間的起始時間: PtpOffsetFromMaster 參數值。
  4. 請在迴圈中執行以下步驟:
    1. 在每台攝影機上,執行 PtpDataSetLatch 並唸出該 PtpOffsetFromMaster 參數值。
      請將這些數值記錄下來,以備日後使用。
    2. 找出最高的偏移量值。
      • 若在指定的時間視窗內,有一個或多個絕對偏移值高於閾值,則將時間視窗的起始時間重設為當前時間,並返回步驟 1。
      • 若在整個時間視窗內,所有絕對偏移值均低於閾值,則停止迴圈。
        此時所有時鐘均已充分同步。

下圖顯示了與主機的偏移量隨時間的變化情況。時間範圍由紅色矩形標示。與主機的偏移量絕對值越小,精度就越高。

PTP Offset From Master Amplitude

關於使用PTP 同步 blaze 攝影機與 2D 攝影機的建議#

若您想使用PTP 將 2D 攝影機與 Blaze 攝影機進行同步,請在設定網路時遵循以下建議。網路設定是導致同步失敗的最常見原因。

  • 請盡可能簡化攝影機網路的設定,例如避免交換機/路由器的級聯。
  • 若您使用的是具備 IGMP 窺探功能的受管交換器,應在交換器設定中為所有埠啟用 IGMP 多播功能。否則,用於同步的 IGMP 封包將會被阻擋。
  • 若要提升時鐘的精準度,請使用PTP 上的交換器/路由器,這些設備提供PTP 的主時鐘。