为什么GPS接收器具有1 PPS输出?


27

我很惊讶地看到正在使用的GPS接收器有一个保留用于输出1 PPS(每秒脉冲)信号的引脚。这有什么意义呢?微控制器不能轻易产生自己的1 PPS信号吗?


4
只是一个嵌套的问题。对我来说很清楚,从长远来看,PPS信号非常准确。但是,是否还可以确保它具有非常低的抖动?(因此,在一个周期的短期内,它是否保持精度?)该信号是从MCU引脚发出,还是直接从耦合至PLL的分频器发出?
Telaclavo

1
PPS信号具有极低的直流抖动(接近零),但不能假定其高频抖动处于相同标准。最好用它来同步振荡器,如下面的Russell McMahon所描述的那样
antijon 2012年

Answers:


38

1 PPS输出的抖动比MCU可以做到的要低得多。在一些要求更高的应用中,您可以使用该脉冲来非常精确地计时。对于某些科学级的GPS,此1 PPS输出可能精确到优于1 nS。


+1,看看我的阐述
vicatcu 2012年

GPS卫星具有原子钟,这就是PPS信号如此精确的原因。即使输出的瞬时准确度仅为1 ms,相对于已过去的实际秒数,输出也不会累积超过1 ms的错误。
ajs410 2012年

1
当非常精确的1PPS信号从外层空间传播或其他电路不干扰时,又怎么会受到干扰呢?
Abdullah kahraman 2012年

6
@abdullahkahraman 1 ppm输出并非直接来自卫星。它来自接收器自己的内部时钟。该时钟与卫星同步。如果接收器失去接收能力,则1 pps的输出不会消失(准确度会降低)。

2
@dfc好,Pedantic先生:如果您希望GPS具有高精度的输出,则它必须具有高精度的内部时钟。那东西有一个非常高精度的内部时钟!它使用该时钟以及内部GPS卫星接收器来输出与UTC时间同步的非常精确的脉冲。它的功能与许多其他具有1pps(或其他pps)输出的GPS接收器完全一样。它恰好是巨大的,不是很便携,并且比房子贵。它与“科学级GPS”一词非常吻合。

24

长期而言,1 Hz信号可能是最准确的时间,因此也是您将遇到的频率参考。

您正在有效地获取诸如铯钟时间参考之类的东西,作为GPS模块的成本。讨价还价。您可以购买商业“有规律的振荡器”单元,并且可以使用DIY的设计。DO本身不是频率锁定的,而是被本地时钟和GPS时钟生成的1 H信号之间的误差信号轻轻地锁定。

训练有素的振荡器

他们说的标准时间 -

  • 石英晶体振荡器当将单个(OCXO)或双重(DOCXO)温控炉包裹在晶体及其振荡电路周围时,其频率稳定性可能比TCXO的频率稳定性提高2到4个数量级。这种振荡器用于实验室和通信级应用,通常具有通过电子频率控制来调节其输出频率的手段。这样,它们可以被“训练”以匹配GPS或Loran-C参考接收机的频率。

    受GPS约束的DOCXO是世界上许多有线电信系统的Stratum I主要参考源(PRS)。它们还被广泛用作基站的GPS时间和频率参考,这些基站以IS-95标准运行,用于高通公司发起的码分多址(CDMA)蜂窝移动电话系统。这些基站应用的庞大数量通过压低价格和巩固供应商而深刻影响了OCXO市场。

超级简单的DIY做

布鲁克斯谢拉DO

算出你做得如何

商业模块 -每天每十亿分之0.1。

在此处输入图片说明

商业用图

UTC追踪器


13

@DavidKessner的回答与我要说的一致,但是我想详细说明一下,这不仅仅是评论。

例如,在您关心MCU在特定的每秒上做某事的应用程序中,此输出可用于每秒将MCU(从深度睡眠模式)唤醒一次(几纳秒之内),并且精度很高。 。

MCU也可以使用该信号来计算其自身的时序精度,并通过软件对其进行补偿。因此,MCU可以“测量”脉冲持续时间,并假定它是“完美的” 1秒间隔。这样,它可以有效地确定其拉伸或挤压的时间,例如由于温度对其晶体或其他因素的影响,并将该计时因子应用于其进行的任何测量。


8

在为恶劣的火箭环境设计了坚固的OCXO并在GPS之前跟踪浮动气象站,实际上仅在第一个GPS(GOES 1)发射后,它带回了人们美好的回忆。

稳定性的重要性取决于中断以及在中断或LOS(信号丢失)期间以及中断时间中可以容忍的错误数量。当用PLL分频器将f乘以N时,您还将乘以相位误差。因此,将漂移和相位噪声降至最低至关重要。

在我的OCXO中,我为OCXO选择了10MHz,为火箭的FM副载波遥测选择了100KHz,为搅拌器地面站选择了10KHz,以跟踪火箭的位置。车辆行驶的范围只是相位差,它使用遥测副载波和地面站在选定的f处的频率和相位之差和Δλ= c / f以及Δposition=Δλ+周期数。频率误差代表雷达速度中的速度。因此,使用1 PPS(1Hz)时钟,您可以支持较大的范围和时间间隔,而无需跳过周期或依靠精确的相位差。注意,相位误差的周期跳跃可以是N个周期,这意味着累积误差的歧义。假设LOS误差很重要。

如果您可以选择Stratum 1,2和3时钟中的信号源并对其进行排序,那么冗余是可靠性的关键,以防发生故障。电信同步高速网络和许可的无线电一样都依赖于精确的时钟。网络使用智能错误日志记录对Stratum时钟源的参考进行排名。

当然,在您的DO的设计中需要付出极大的努力。有关标准的书籍定义了这些规则。


7

我认为您需要阅读所拥有的设备(因为某些设备有所不同),但我想它会被用作时间同步。也就是说,您会收到一条消息,说下一个Pulse将在timeInUTC出现。

“ GPSClock 200具有提供NMEA时间代码和PPS输出信号的RS-232输出。大约半秒之前,它以GPRMC或GPZDA格式输出下一个PPS脉冲的时间。在开始的一微秒内以UTC秒为单位,它将PPS输出提高了约500 ms。”


5

虽然GPS接收器可以(通过NMEA等)向上游发送完整的时间戳,但将时间戳传递到主机所花费的时间会使时间戳变得不准确。1PPS信号与GPS接收器等效,即“在提示音时,时间将是十二点三十三分和35秒……[哔]”。这里的假设是主机的时钟可以保持准确1秒钟,并且每秒通过1PPS进行校正。


4

我很喜欢“ PV Subramanian”的回答。这正是1 PPS的典型目的。提供精确的1秒边缘,以增强通过一些不太准确的方式(通常是异步串行线)接收到的完整“一天中的时间”信息块。

说到振荡器,似乎在“时间标准”和GPS的交易中,10 MHz是一个非常受欢迎的选择。而且,GPS接收器中的本地振荡器大致可分为两类:导致10MHz输出与PPS(相位同步)之间精确的1:10000000比率的振荡器,以及导致PPS输出呈现逐步调整(跳过/插入)的振荡器。 10 MHz时基的刻度)。“同步”晶体振荡器更加精确,并且出于某些目的是必需的。他们还需要“烤箱控制”(OCXO),这会消耗一些额外的功率。对于电池供电的设备不利,对于固定计时功能而言则非常有用。“跳跃”振荡器足以满足基本定位需求,而且价格便宜,因此,这就是最便宜的GPS接收器模块中的功能。

为了对某些外部晶体振荡器进行PLL控制,1 PPS的边沿可能相隔很远,因此在PLL伺服环路中需要相当长的积分时间。优质的10 MHz信号源将使您更快地获得良好的锁定。但要抓住的是-“优质”。往上看。除此之外,1PPS当然足以满足PC硬件上运行的某些OS或NTPd的系统时基要求。

就像其他人所说的那样,GPS接收机的1PPS输出是从本地晶体振荡器获得的,在接收机内部滴答作响。通常,它曾经是10 MHz的晶体。这个本地晶体振荡器实际上是一个VCO,允许对其实际时钟速率进行小的调整。该VCO输入用于闭环控制(负反馈类型),其中来自少数几个卫星(组合)的GPS信号用作参考。GPS接收器中的功能块,对具有变化的信号电平和多普勒频移的共享载波上的伪随机比特流的“加扰的意大利面条”进行解码,该块称为“相关器”。根据接收到的无线电信号,它使用大量运算来查找位置和时间“问题”的最佳“解决方案”,将它们与本地时基进行比较-并持续评估无线电接收与本地晶体之间的微小误差/偏差,并将其反馈到晶体的VCO输入中,从而实现闭环控制。从时序角度来看,GPS接收器的相关器只是一个非常复杂的PLL比较器:-)

其他人提到了Symmetricom和TimeTools ... Meinberg Funkuhren提供了一个不错的振荡器表,其中包含所有可考虑的精度参数:https ://www.meinbergglobal.com/english/specs/gpsopt.htm 注意,引用的精度是可能仍然是保守/悲观的估计。


4

现有的所有答案都讨论了精确定时应用。我只想指出,1 pps的信号对导航也很重要-尤其是当接收器移动时。

接收器需要花费一些时间来计算每个导航解决方案,并花费额外的时间来将该解决方案格式化为一条或多条消息并通过某种类型的通信链路(通常是串行地)进行传输。这意味着,当系统的其余部分可以利用该信息时,它已经“过时”了大约数百毫秒。

大多数低精度的业余爱好者应用程序都忽略了此细节,但是在可能以30至100米/秒的速度运行的精密应用程序中,会引入许多米的误差,使其成为总误差的主要来源。

1 pps输出的目的是准确指示导航消息中指示的位置何时有效,这使应用软件可以补偿通信延迟。这在混合GPS惯性系统中尤其重要,在该系统中,MEMS传感器用于以高采样率(数百赫兹)提供内插导航解决方案。


没想到这一点,但如果可以的话!按照惯例,此修复程序通常与pps的上升沿或下降沿匹配吗?
bigjosh

@bigjosh:上升和下降之间的区别取决于极性,因此是任意的。您应该谈论脉冲的上升沿和下降沿。可以通过极性(可协商)或通过指定脉冲的长度或占空比(最好不是50%来定义)来定义;-)我已经在用作PPS输入的Intel i210 GPIO周围进行了编码,并且它会在上升或下降的每个边缘引发一个事件,并且无法确定软件中的极性。我必须推断出时间上的差异,知道我的PPS信号源的占空比...
frr

2

我们使用GPS接收器生成的1PPS输出为第1层NTP网络时间服务器提供非常准确的时间。1PPS是在每秒开始时生成的,并且在许多接收器的情况下,其精度在UTC时间的几纳秒内。一些GPS接收器不能很好地提供时间,因为相关的串行时间输出可能会“漂移”其预期脉冲输出的每一侧。这有效地周期性地产生一秒的偏移。

1PPS输出还可用于控制基于OCXO或TCXO的振荡器,以在GPS信号丢失的情况下提供保持功能。以下链接提供了有关在时间参考中使用GPS的更多信息:

http://www.timetools.co.uk/2013/07/23/timetools-gps-ntp-servers/


0

1 PPM信号用于同步目的。假设您有两个设备相距很远,并且您想在两个设备中产生完全相同时间启动的时钟脉冲,您该怎么办?这是使用1 PPM信号的地方。GPS模块在全球范围内以1ns的精度提供脉冲。


什么是1 PPM信号?
Bence Kaulics '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.