正在智能手机和 pc/embedded 设备之间同步时间

Synchronizing time between smartphone and pc/embedded device

我必须测量和验证通过 WiFi/Bluetooth 从智能手机无线发送消息到 PC 的延迟时间。距离在 5 到 10 米之间变化。

示例:消息在时间 X 从智能手机发送,在时间 Y 接收和处理。持续时间:35 毫秒。

由于这些消息非常重要(对其他机器的安全和安全命令),因此有必要将智能手机和 PC 之间的时间同步到最精确的精度(毫秒)。

对于通过 LAN 连接的两台 PC 使用网络时间,这是一项简单的任务,但我不确定智能手机是否使用 iOS/Android..

让我们说用 NTP 时间同步智能手机和 PC 是否足够准确,或者您知道在它们之间同步时间的更好方法吗?

据我了解,使用 NTP 同步时间可提供约 1 到 20 毫秒的精度。但是这个范围太模糊了..

有没有人遇到过类似的问题?

这一切都必须通过网络处理,还是您考虑过两者之间的物理定时触发?

如果它们彼此靠近,我建议使用 O-Scope。从 phone 的耳机发送一个定时脉冲,表示消息已发送。然后是来自 PC 的脉冲,通过串口等接收并处理。

如果您使用此路由,您需要考虑 SW 发送命令与脉冲从硬件发出之间的延迟。我会使用一个只切换信号的紧密循环来执行此操作,然后查看频率是多少。您对每个的延迟将是周期的一半。您的总延迟将是 PC 和 Phone 的延迟之间的差异(可能是正数或负数)。

有了 root 的 Android 智能手机,可以使用 PTP 来同步它和计算机之间的时间。 PTPd (https://github.com/ptpd/ptpd),或 PTP 守护进程是协议的实现。它能够达到微秒级和纳秒级精度,如果您在毫秒级别进行测量,这是个好消息。

唯一需要注意的是,它仅适用于以太网和 WiFi - 在 4G 和 5G 网络上同步似乎根本不起作用。