저는 타이밍 동기화 작업을 하고 있으며 시스템에 다양한 오류를 주입하는 것이 시간 동기화에 미치는 영향을 측정하고 싶습니다. 내가 이해한 바로는 Linux 시스템의 PPS 장치에는 시간과 시퀀스 ID를 제공하는 "assert"와 같은 텍스트 파일이 연결되어 있습니다. 이 타임스탬프는 얼마나 정확하고 신뢰할 수 있나요? (원천:https://docs.kernel.org/driver-api/pps.html)
문맥상 Linux 커널의 /dev/pps0은 제가 말하는 장치이며 Intel I210 NIC와 연결되어 있습니다. 저는 Intel I210 NIC를 다른 PC의 다른 Intel NIC에 동기화하기 위해 ptp4l을 사용하고 있습니다. 동기식으로 작업할 때 PPS 어설션이 매초마다 타임스탬프와 시퀀스 ID를 제공하는 것을 볼 수 있지만 cat /sys/class/pps/pps0/assert
이 숫자가 얼마나 신뢰할 수 있는지 잘 모르겠습니다. (편집: 표 2의 다음 링크는 약 1us까지 정확한 커널 PPS를 보여줍니다(협회)). testpps 유틸리티를 사용하여 동일한 타임스탬프를 찾을 수 있습니다(협회).
또 다른 방법은 NIC 자체의 물리적 PPS 출력을 프로브하는 것입니다. 이 방법이 더 정확할 수 있지만 Intel I210 NIC에는 오실로스코프로 프로브할 수 있는 물리적 PPS 출력이 없는 것 같습니다.
편집 2:혼란을 완화하기 위해 오실로스코프를 사용하여 두 PC의 1PPS 신호를 프로브하여 기준 클럭 신호(Grandmaster의)를 비교하고 슬레이브 클럭과 비교하는 방법을 보여주는 이미지를 제공하겠습니다.
또 다른 접근 방식은 타임스탬프를 추적하고 assert
(제가 생각하는 대로 작동한다고 가정) 이를 사용하여 GM과 슬레이브 장치의 1PPS 신호가 표시된 시기를 비교하고 두 신호를 비교하여 동기화를 평가하는 것입니다. 제 질문은 assert
이 타임스탬프가 얼마나 정확합니까? 입니다. @Bib는 500ns의 지터를 달성했다고 지적했으며 온라인에서 정확도가 약 1us에 이를 수 있음을 확인했습니다. GM 및 슬레이브 클럭 내에서 장치가 얼마나 정확하게 동기화되는지 가장 정확하게 표시하고 싶기 때문에 Intel I210 NIC에 감지 가능한 물리적 1PPS 출력이 있다고 가정하면 오실로스코프 솔루션을 사용하는 것이 가장 합리적입니다.