繁体   English   中英

通过 PTP 同步多个 Allied Vision GenICam 相机的时间戳

[英]Synchronizing the timestamp of multiple Allied Vision GenICam cameras through PTP

我正在开发一个带有多个工业 Allied Vision Mako 相机的系统。 我需要同步这些相机,Allied Vision 建议使用 PTP 协议。 因此,我有一个时间服务器作为 PTP 主时钟。 摄像机通过以太网交换机连接到该服务器。 不幸的是,该交换机未启用 PTP,这意味着它在传递 PTP 数据包时会引入延迟。 这会导致相机保持在PtpStatus == Uncalibrated

据我了解 Allied Vision GigE-Features 手册,PTP 导致相机的时间戳在所有相机上同步,即GevTimestampValue在任何给定时间在所有相机上都应该相同。 然而,在我用多个相机拍摄时钟的实验中,我观察到两个不同相机提供的时间戳约为 187511041595600 滴答(约 187511 秒),而帧中可见的时钟显示的实际时差约为 0.04 秒。

因此,我的问题是:

  • 我是否正确理解了 Allied Vision 的 PTP 界面?
  • 可能是PtpStatus == Uncalibrated导致这不起作用?

经过一些调查工作,我找到了原因,并将在这里分享我的发现,以防其他人陷入同样的境地:

简短的回答:

  • 我的问题的原因确实是我的开关。 我暂时用一个不同的开关替换了它,这解决了这个问题。
  • 我确实正确理解了 PTP,但是,相机需要至少在PtpStatus == Slave中出现一次才能同步。 如果它们稍后失去同步,它们将恢复为Uncalibrated并保持一定程度的同步,但如果它们从未处于PtpStatus == Slave中,它们尚未同步。 这导致时间戳偏离。

长答案:我将交换机配置为镜像时间服务器和相机连接到我的笔记本电脑的端口。 使用 WireShark,我能够调查 PTP 流量并发现SyncDelay_Req数据包被传递,这导致摄像机从Listening转换为Uncalibrated (我的时间服务器不发送Follow_Up )。 但是, Delay_Resp (由时间服务器发送)被交换机丢弃。 因此,我的交换机似乎以某种方式配置错误,让那些其他多播数据包在丢弃Delay_Resp时通过。

gen 防火墙配置

[英]firewall config for gen<i>cam / GigE vision camera discovery and communication

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM