I was surprised to see that the GPS receiver I'm working with has a pin reserved for outputting a 1 PPS (Pulse Per Second) signal. What is the point of this? Can't the microcontroller easily generate its own 1 PPS signal?
|
|
The 1 PPS output has a much lower jitter than anything a MCU can do. In some more demanding applications you can use that pulse can be used to time things very accurately. With some scientific grade GPS's this 1 PPS output might be accurate to better than 1 nS. |
|||||||||||||||
|
|
I think you need to read up on the unit you have (as some are different) but I would guess that it is to be used as a time sync. Ie you get a message saying next Pulse will come at timeInUTC. "The GPSClock 200 has an RS-232 output that provides NMEA time codes and a PPS output signal. About a half-second before, it outputs the time of the next PPS pulse in either GPRMC or GPZDA format. Within one microsecond of the beginning of the UTC second, it brings the PPS output high for about 500 ms." |
|||
|
|
|
@DavidKessner's answer is in line with what I'm about to say, but I wanted to elaborate, and this is a bit more than a comment. This output could be used to, say, wake the MCU (from a deep sleep mode) once per second (to within a couple nano-seconds) in an application where you cared about the MCU doing something on a particular second, within great accuracy. An MCU could also use this signal to calculate it's own timing accuracy and compensate for it in software. So the MCU could "measure" the pulse duration, and assume that it is a "perfect" 1s interval. In doing so it could effectively determine the time stretching or squeezing it is experiencing, say due to temperature effects on its crystal or whatever, and apply that timing factor to any measurements it is taking. |
|||
|
|
|
Long term the 1 Hz signal is probably the most accurate time, and so also frequency, reference that you will ever encounter. You are effectively obtaining something like a cesium clock time reference for the cost of a GPS module. A bargain. You can buy commercial "disciplined oscillator" units and designs for DIY ones are available. A DO is not frequency locked per se but is gently kicked into lock by error signals between a 1 H signal generated by local and GPS clocks. Disciplined oscillators Standard time anywhere They say -
Working out how well you've done Commercial module - 0.1 parts per billion per day.
|
|||
|
|
|
Having designed ruggedized OCXO for harsh rocket environments and tracking floating weather stations before GPS .. actually after only 1st GPS (GOES 1) was launched, it brings back fond memories. The importance of stability depends on outages and how much error you can tolerate during outage or LOS (loss of signal) as well as capture time. When you multiply f by N by PLL divider you also multiply phase error. So care to minimize drift and phase noise is essential. In my OCXO I chose 10MHz for the OCXO, 100KHz for the rocket's FM sub-carrier telemetry and 10KHz for the mixer ground station to track the rocket's position. The range for vehicle travel is simply the phase difference using the difference frequency and phase of the telemetry sub-carrier and the ground station at the chosen f with Δλ=c/f with Δposition=Δλ + cycle counts. The frequency error represents velocity as in radar speed. So with 1 PPS (1Hz) clock you can support a large range and time interval without cycle skips or counts on precise phase difference. Note that a cycle skip in phase error could be N cycles which means ambiguity of accumulated error.. assuming LOS error is important. Redundancy is key for reliability if you have choice and ranking of sources from Stratum 1,2,& 3 clocks in case of outage. Telecom synchronous high speed networks depend on precise clocks as do licensed radios. Networks use intelligent error logging for ranking references of Stratum clock sources. Of course that takes uber diligence in the design of your DO. Volumes of books on standards define these rules. |
||||
|
|

