Precision Time Protocol (Stereo ace)#
IEEE 1588 표준은 해당 프로토콜을 정의합니다. Basler 카메라는 PTP Version 2로도 알려진 IEEE 1588-2008을 지원합니다.
정보
PTP 동기화의 정밀도는 주로 네트워크 하드웨어와 설정에 따라 달라집니다. 최대의 정밀도를 얻으려면 고품질 네트워크 하드웨어를 선택하고, PTP 지원 네트워크 스위치를 사용하며, GPS 수신기가 포함된 외부 PTP 클록 장치를 네트워크에 추가하십시오.
기능 사용법#
PTP를 사용하는 이유#
PTP를 사용하면 네트워크에서 가장 정확한 시계인 마스터 시계(또는 최적 마스터 시계)와 여러 카메라의 시계를 자동으로 동기화할 수 있습니다.
시스템 구성에 따라 마스터 시계는 카메라가 될 수도 있고 외부 장치가 될 수도 있습니다.
- 시스템에 카메라만 포함된 경우, 카메라 간의 협상을 통해 가장 정확한 카메라 시계를 결정하며, 이 시계가 마스터 시계 역할을 합니다.
- 시스템에 외부 장치(예: GPS 수신기 또는 마스터로 구성된 추가 컴퓨터)가 포함된 경우, 해당 외부 장치가 마스터 시계 역할을 합니다.
카메라의 시계가 동기화되면 서로의 Timestamp를 비교할 수 있습니다.
네트워크의 마스터 시계가 GPS 수신기 등을 통해 국제 표준시인 TAI를 기반으로 한 절대 시간을 제공하는 경우, 카메라의 동기화된 시계에서 생성된 Timestamp를 통해 로컬 시간을 확인할 수 있습니다.
마스터 시계가 TAI 시간을 제공하지 않는 경우, 시계는 동기화되어 실행되지만 임의의 시간 축 모드(ARB)라고 하는 임의의 타임스케일 상에서 시간이 작동합니다. 이 모드에서는 절대 시간에 묶여 있지 않으므로 에폭(epoch)이 임의로 지정됩니다. 이 타임스케일은 상대적이며, 해당 네트워크 내에서만 유효합니다. 최적 마스터 시계 알고리즘은 안정성과 정밀도가 가장 높은 시계를 해당 네트워크의 마스터 시계로 선택합니다. 마스터 시계 역할을 하는 카메라는 TAI 시간이 아닌 ARB 시간만 제공할 수 있습니다.
PTP 클록 동기화 활성화#
카메라 전원을 켤 때 PTP는 항상 비활성화되어 있습니다. PTP를 사용하려면 활성화해야 합니다.
PTP를 활성화하려면:
- 외부 장치(예: GPS 수신기)를 마스터 시계로 사용하려면 해당 외부 장치를 마스터 시계로 구성하십시오.
- PTP를 통해 동기화하려는 모든 카메라에서 다음을 설정합니다.
PtpEnable매개변수:true. - 모든 PTP 네트워크 장치가 충분히 동기화될 때까지 대기하십시오. 네트워크 구성에 따라 몇 초에서 몇 분이 소요될 수 있습니다.
장치가 동기화된 시점을 확인하려면 PTP 시계 동기화 상태를 확인하세요.
PTP 클록 동기화 상태 확인#
pylon SDK를 사용하여 PTP 시계 동기화 상태를 확인하는 자체 메서드를 개발해야 합니다.
PTP 상태 확인 방법 예시#
PTP 상태 확인의 일반적인 구현에는 다음 단계가 포함됩니다.
- PTP를 활성화합니다.
-
Best Master Clock 알고리즘이 완료될 때까지 기다립니다. 알고리즘이 완료되었는지 확인하려면 다음 단계를 루프 내에서 수행하십시오.
PtpStatus모든 카메라의 매개변수 값이 다음 중 하나가 될 때까지Master또는Slave그리고 둘 이상의 카메라가 반환하지 않는 경우Master~로PtpStatus:- 다음을 실행합니다.
PtpDataSetLatch각 카메라에서 명령을 실행합니다.
이 명령을 사용하면 카메라의 현재 PTP 상태 "스냅샷"을 캡처할 수 있습니다. 스냅샷 구현을 통해 모든 매개변수 값이 정확히 동일한 시점을 가리키도록 보장합니다. - 읽기
PtpStatus각 카메라의 매개변수. - 클럭이 충분히 동기화될 때까지 기다립니다.
이를 확인하는 방법에 대해서는 다음 섹션을 참조하십시오.
- 다음을 실행합니다.
클럭이 충분히 동기화되었는지 확인하는 방법#
정보
이를 위해 다음 파라미터를 사용하십시오. PtpOffsetFromMaster 이 파라미터는 디바이스의 클럭이 마스터의 클럭에서 얼마나 벗어났는지를 나타냅니다. 모든 오프셋이 사용자의 요구사항에 따라 지정한 특정 임계값(예: 50 µs) 아래로 떨어질 때까지 기다려야 합니다.
제어 메커니즘에 의해 클럭이 지속적으로 조정되기 때문에, 오프셋은 마스터 값을 기준으로 한동안 진동하다가 시간이 지남에 따라 진동의 진폭이 작아집니다. Basler는 최대 오프셋 파라미터 값이 일정 기간(예: 10초) 동안 임계값 미만으로 유지되는지 확인할 것을 권장합니다. PtpOffsetFromMaster 파라미터 값이 일정 기간(예: 10초) 동안 임계값 미만인지 확인합니다.
- 애플리케이션 요구사항(예: 50 µs)에 따라 오프셋 값에 대한 임계값을 정의합니다.
- 오프셋 값이 임계값 미만으로 유지되기를 원하는 시간 창의 길이를 정의합니다.
- 현재 시스템 시간을 읽어와 확인 작업을 수행할 시간 창의 시작점으로 사용합니다.
PtpOffsetFromMaster파라미터 값입니다. - 루프에서 다음 단계를 수행합니다.
- 각 카메라에서 다음을 실행합니다.
PtpDataSetLatch그리고 다음을 읽어옵니다.PtpOffsetFromMaster파라미터 값입니다.
나중에 사용할 수 있도록 값을 기록해 둡니다. - 가장 높은 오프셋 값을 찾습니다.
- 지정된 시간 창 내에서 하나 이상의 절대 오프셋 값이 임계값보다 높으면, 시간 창의 시작점을 현재 시간으로 재설정하고 1단계로 돌아갑니다.
- 시간 창 전체 길이 동안 모든 절대 오프셋 값이 임계값 미만이면 루프를 중지합니다.
이제 모든 클럭이 충분히 동기화되었습니다.
- 각 카메라에서 다음을 실행합니다.
다음 그림은 시간에 따라 마스터와의 오프셋이 어떻게 변하는지 보여줍니다. 시간 창은 빨간색 사각형으로 표시됩니다. 마스터와의 오프셋 절대값이 작을수록 정밀도가 높아집니다.

여러 카메라 동기화를 위한 PTP 사용 권장 사항#
PTP를 사용하여 여러 카메라를 동기화하려는 경우, 네트워크를 구성할 때 다음 권장 사항을 따르십시오. 네트워크 설정은 동기화 실패의 가장 일반적인 원인입니다.
- 스위치/라우터 캐스케이딩을 피하는 등 카메라 네트워크 설정을 최대한 단순하게 유지하십시오.
- IGMP 스누핑이 지원되는 관리형 스위치를 사용하는 경우, 스위치 구성의 모든 포트에서 IGMP 멀티캐스트가 활성화되어 있어야 합니다. 그렇지 않으면 동기화에 사용되는 IGMP 패킷이 차단됩니다.
- 클럭 정밀도를 향상시키려면 PTP 그랜드마스터 클럭을 제공하는 PTP 스위치/라우터를 사용하십시오.