In this page I’d like to document my process of interfacing to the SVeeSix-CM3 GPS module.
B.G. Micro offered
this module
for sale in late June 2002. It caught the eye of the IOTA enthusiasts because
it offers a one-pulse-per-second signal that is synchronized to UTC with
a nominal accuracy of 1 ? second. And it is inexpensive: $25. The hope
is to build a time-inserter based on this device, a device that will insert
a precise time stamp into a video signal which just might show a star (dis/re)appearing
from behind the moon.
The first step is to interface this device to a PC.
This is necessary to use the available utilities to reprogram the device
to use NMEA protocol rather than the proprietary Trimble protocol.
B.G. Micro includes with the device some detail schematics
and a how-to. We need 6 signals from the SV6, but not the same 6 offered
on the wires shown above: We need pin 6 (the PPS signal), which is not
wired and we don’t need pin 7 (RXD 2). The solution is to have pin 6 use
pin 7’s wire.
My approach was to surgically cut the trace in the
flat cable coming from pin 7. I then jumpered pin 6 to the bulkhead through-hull.
In retrospect I wished I hadn’t done it this way.
The pin 7 that I abandoned is to bring DGPS messages back into the SV6.
I have a DGPS receiver and will want to experiment with that feature. Measure
twice and cut once is the rule! If you don’t need to bring DGPS back in
to the unit, cut away. Instead of cutting the flatcable it might be better
to cut pin 7 at the board and then jumper pin 6 to pin 7 at the connector.
The Interface Board
Converting the Firmware
The software for converting the firmware to NMEA is
available from Trimble
. When expanding the software, use a –d option as the files are in structured
directories. (e.g. TK510.exe –d). The instructions from B.G. Micro may
be a bit out-of-date. You need to hunt through Trimble’s ftp directory
to find what you need. First get the identification from your board: the
firmware number (mine was 5.10) and the protocol ID (mine was 34057-61).
–61 means TSIP protocol, -62 means NMEA and –63 means TAIP protocol. In
my case I needed to find 34057-62.EXE to convert my unit to NMEA. You can
convert back to the other protocols if you want to experiment.
These units have been sitting on the shelf for a long time so they have no clue where they are when they wake up; definitley a cold start. To prove the serial interface leave the device in TSIP mode and run TSIPCHAT.exe. Take the device outside with a view to the southern sky and put some aluminum foil underneath the antenna to improve its reception by 3dB. (These are all suggestions from Kiwi Geoff, author of Kiwi and Kea, two GPS programs we'll be discussing later).
You can also work in TAIP protocol and use Trimble’s
GPSSK program for basic debugging. I found that the fancy programs like
VisualGPS and SAWatch which use the NMEA strings gave me very little feedback
as the unit struggled to find itself.
Switched to NMEA mode and just watching the output
of the device it took some 3 hours before it found itself. During that
period it output NMEA GGA messages every 20 seconds or so. Once it is located
it then outputs GGA and VTG messages at about 1/sec. Restarting the unit
the acquire time was more like 20 seconds.
The PPS signal
The PPS (pulse per second) signal is a very short positive going pulse; about 1 microsecond wide. My scope couldn't show it to me. To use a program like KIWI (Precision Timestamp Utility) or KEA (GPS derived Audio Time Code Generator) this pulse needs to be stretched. I used a simple digital circuit: invert the signal, use that signal to trigger a 555 one-shot and then invert the output. This gave me a 260ms negative pulse.
Other info on the SveeSix-CM3
http://www.cs.ukc.ac.uk/projects/mobicomp/Fieldwork/Notes/gps_if.html