콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

Precision Time Protocol(Stereo ace)#

Precision Time Protocol(PTP) 기능을 사용하면 동일한 네트워크 내에서 여러 GigE 카메라를 동기화할 수 있습니다.

이 프로토콜은 IEEE 1588 표준에 정의되어 있습니다. Basler 카메라는 PTP 버전 2라고도 하는 IEEE 1588-2008을 지원합니다.

정보

PTP 동기화의 정밀도는 네트워크 하드웨어 및 설정에 크게 좌우됩니다. 최고의 정밀도를 얻으려면 고품질 네트워크 하드웨어를 선택하고, PTP 지원 네트워크 스위치를 사용하며, GPS 수신기가 포함된 외장 PTP 클록 장치를 네트워크에 추가하십시오.

기능 사용#

PTP를 사용하는 이유#

PTP를 통해 여러 카메라의 클럭을 네트워크에서 가장 정확한 클럭(마스터 클럭 또는 베스트 마스터 클럭이라고 함)과 자동으로 동기화할 수 있습니다.

시스템 구성에 따라 마스터 클럭은 카메라 또는 외부 장치가 될 수 있습니다.

  • 시스템에 카메라만 포함된 경우, 카메라들이 상호 협상을 통해 가장 정확한 카메라 클럭을 결정하며, 이 클럭이 마스터 클럭 역할을 합니다.
  • 시스템에 외부 장치(예: GPS 수신기 또는 마스터로 구성된 추가 컴퓨터)가 포함된 경우, 해당 외부 장치가 마스터 클럭 역할을 합니다.

카메라의 클럭이 동기화되면 Timestamp를 서로 비교할 수 있습니다.

GPS 수신기 등을 통해 네트워크의 마스터 클럭이 국제 표준시 TAI를 기반으로 한 절대 시간을 제공하는 경우, 카메라의 동기화된 클럭에서 생성된 Timestamp로부터 로컬 시간을 확인할 수 있습니다.

마스터 클럭이 TAI 시간을 제공하지 않는 경우, 클럭들은 동기화되어 실행되지만 임의의 타임스케일 모드(ARB)라는 무작위 타임스케일에 기반하여 시간이 설정됩니다. 이 모드에서는 절대 시간에 묶여 있지 않으므로 에포크(Epoch)가 임의로 지정됩니다. 이 타임스케일은 상대적이므로 해당 네트워크 내에서만 유효합니다. 베스트 마스터 클럭 알고리즘은 안정성과 정밀도가 가장 높은 클럭을 해당 네트워크의 마스터 클럭으로 선택합니다. 마스터 클럭 역할을 하는 카메라는 TAI 시간이 아닌 ARB 시간만 제공할 수 있습니다.

PTP 클록 동기화 활성화#

카메라 전원을 켤 때 PTP는 항상 비활성화되어 있습니다. PTP를 사용하려면 활성화해야 합니다.

PTP를 활성화하려면:

  1. 외부 장치(예: GPS 수신기)를 마스터 클럭으로 사용하려면 해당 외부 장치를 마스터 클럭으로 설정하십시오.
  2. PTP를 통해 동기화하려는 모든 카메라에서 다음을 설정하십시오. PtpEnable 파라메터 true.
  3. 모든 PTP 네트워크 장치가 충분히 동기화될 때까지 기다리십시오. 네트워크 구성에 따라 몇 초 또는 몇 분이 걸릴 수 있습니다.
    장치가 동기화된 시점을 확인하려면 PTP 클럭 동기화 상태를 확인하십시오.

PTP 클록 동기화 상태 확인#

pylon SDK를 사용하여 PTP 클럭 동기화 상태를 확인하는 고유한 메서드를 개발해야 합니다.

PTP 상태를 확인하는 방법 예시#

PTP 상태 확인의 일반적인 구현 단계는 다음과 같습니다.

  1. PTP를 활성화합니다.
  2. Best Master Clock 알고리즘이 완료될 때까지 기다립니다. 알고리즘이 완료되었는지 확인하려면 다음 단계를 반복 수행하십시오. PtpStatus 모든 카메라의 parameter 값이 다음 중 하나가 될 때까지 Master 또는 Slave 그리고 둘 이상의 카메라가 반환하지 않을 때 Master as PtpStatus:

    1. 다음을 실행합니다. PtpDataSetLatch 각 카메라에서 명령을 수행합니다.
      이 명령을 사용하면 카메라의 현재 PTP 상태 "스냅샷"을 찍을 수 있습니다. "스냅샷" 구현을 통해 모든 parameter 값이 정확히 동일한 시점을 가리키도록 보장할 수 있습니다.
    2. 각 카메라의 PtpStatus parameter를 읽습니다.
    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 사용 권장 사항#

PTP를 사용하여 여러 카메라를 동기화하려면 네트워크를 구성할 때 다음 권장 사항을 따르십시오. 네트워크 설정은 동기화 실패의 가장 흔한 원인입니다.

  • 카메라 네트워크 설정을 가능한 단순하게 유지하고, 예를 들어 스위치/라우터 캐스케이딩을 피하십시오.
  • IGMP 스누핑이 있는 관리형 스위치를 사용하는 경우, 스위치 구성의 모든 포트에 대해 IGMP 멀티캐스트를 활성화해야 합니다. 그렇지 않으면 동기화에 사용되는 IGMP 패킷이 차단됩니다.
  • 클럭 정밀도를 향상시키려면 PTP 그랜드마스터 클럭을 제공하는 PTP 스위치/라우터를 사용하십시오.