暂时忘掉 GPS 定位。GPS 或 GNSS 还能计算时间。而且非常精确,精确到10纳秒。也就是0.00000001秒。
假设您在两个不同的国家/地区拥有两台设备,或者在两个不同的位置拥有两个传感器,并且您希望同步它们正在进行的操作或测量。您可以使用互联网获得大约 2 毫秒的精度,或者在每个设备上使用 GPS 接收器将其精确到 2 纳秒。最棒的是,无需互联网。
当我们达到这种授时精度时,了解我们工作的时间尺度也很重要。GNSS 接收器通常与全球 UTC 时间尺度同步,但也可以与特定星座(GPS、 GLONASS, Galileo, 北斗每个时间尺度都有其自身的绝对计数器(例如,GPS 和 UTC 之间可能存在几秒的差异),但通常情况下,秒的变化会同步到毫秒级别。无论如何,要点是:检查所有传感器是否使用相同的时间尺度。
理论非常好,但如何在项目中真正利用 GPS 时间脉冲呢?
全部 ArduSimple 板上有一个叫做 Timepulse、PPS 或 TPS。这些是同一信号的不同名称。默认情况下,此时间脉冲配置为每秒 1 个脉冲 (PPS)。这意味着每秒,在秒数变化的准确时刻,此信号将被触发,以通知应用程序秒数变化的准确时刻。接收器可能需要一些时间来计算实际的新位置,并会尽快将其提供给您。在下图中,您将看到此过程的视觉表示。

在您的应用程序中,您可以连接 Timepulse 并将串行数据输出到您的处理器或计算机。在某个时刻,您的应用程序会读取时间为 8:30:00。现在该为下一个时间脉冲做好准备了,它将精确指示 8:30:01。
但是你可能会说,如果我想要测量的信号位于两个时间脉冲之间怎么办?
- 选项 A. 您的处理器内部有一个高速运行的振荡器(MHz 或更高),您可以在每次出现时间脉冲时进行同步。
- 选项 B. 使用 GPS 接收器的另一个功能: EXTINT 或事件输入。我们改天再讨论这个信号,之后会更新此帖子并附上链接。
和
