[time-nuts] Inexpensive modular gps with 1pps

David davidwhess at gmail.com
Thu Nov 15 23:04:26 UTC 2012


On Thu, 15 Nov 2012 15:06:10 -0000, "David J Taylor"
<david-taylor at blueyonder.co.uk> wrote:

>-----Original Message----- 
>From: David
>[]
>So the 16x manual says.  As far as I know, all of the Garmin LVC, HVC,
>and 5Hz versions of their receivers have a timing pulse output.
>
>The GPS18 series that I have was replaced by the GPS18x series.
>
>Some of their receivers have "TIA-232-F (RS-232) Compatible Polarity"
>which means exactly that.  They do not provide RS-232 voltage levels
>so for my GPS18-5Hz, I had to hack together a little non-inverting
>level shifter (two transistors, some resistors, and a dual power
>supply) to convert the 0 to 5 volts into -12 and +12 volts.
>===================================================
>
>I must have been lucky with my combination of 18, 18x and various PC serial 
>port receivers, as I haven't needed a level shifter with either.  But the 
>slightly less than 3V from a different 3.3V GPS does /not/ register on a 
>different serial port.
>
>Circuits:
>  http://www.satsignal.eu/ntp/GPS-interface-1.png
>  http://www.satsignal.eu/ntp/GPS-interface-2.png
>
>from:
>  http://www.satsignal.eu/ntp/FreeBSD-GPS-PPS.htm

None of those circuits would have worked for me.

The GPS18-5Hz manual says "0 V to Vin, between 4 and 5.5 V
(Asynchronous Serial, TIA-232-F (RS-232) Compatible Polarity)" and as
far as I know, most if not all of the other Garmin serial outputs are
similar.  The timing and polarity are RS-232 compatible but the levels
are not.  RS-232 traditionally requires a minimum of -3 and +3 volts,
in between is undefined, and -12 and +12 volts is more typical to
provide sufficient noise immunity for error free operation at high
speeds and with long cable runs.

In addition, since the serial output is "Compatible Polarity", it is
not inverted so it cannot be directly used with an RS-232 level
translator because they all expect an inverted logic level signal.
That is easy enough to fix with a single transistor inverter but still
annoying.  It is doubly annoying when you consider that interfacing it
directly with a standard UART would also require an inversion.

I gather than some serial ports, like those on many USB to serial
dongles, will work with the nonstandard 0 to 5 volt levels but none of
my equipment will.  My temporary solution was to build a little two
transistor level shifter so I can play with the GPS18-5Hz and decide
if it is worth working with:

http://www.banishedsouls.org/c2df3757f1/GPS18/RS-232.jpg

On that board there is also a simple RS-232 to logic level driver so
the computer can talk back to the GPS18-5Hz (I had to upload new
firmware and configuration data.) and a  shunt mode 50 ohm cable
driver to unload the 5 pulse per second output.  The shunt mode 50 ohm
cable driver is rather power hungry but produces an exceptionally
clean output.

My current plan is to build an improved level translator so I can move
the GPS18-5Hz to the peak of my roof and use a standard cat-5 cable
for simple 12V power, bidirectional RS-232, and a clean 5 pulse per
second signal.  After I get an OnCore receiver that supports sawtooth
correction, the GPS18-5Hz can feed a local NTP server instead of a
GPSDO.



More information about the time-nuts mailing list