Enhanced features for the HP Z3801 GPS locked frequency source

Amongst other strings, an “@@Ba”
string was produced once per second, however no definition of this string could
be found in the Motorola binary reference documents to determine its format.
Since publishing this article Brian Kirby emailed me the definition
@@Ba. During the initial development
it was found that the closest defined binary string was the @@Ea where the
bytes were arranged as follows
Date
m month 1..12
d day 1..31
yy year 1998..2018
Time
h hours 0..23
m minutes 1..31
s seconds 0..60
ffff fractional second 0..999,999,999 (0.0..0.999999999)
t num of satellite tracked 0..8
After doing a web search a Maxim
chip (MAX7219) was discovered (10) which had an SPI 3 pin interface (thereby only requiring 3 PIC
I/O pins) had onboard multiplexing and could drive up to 8 Common cathode
digits.
One software issue that initially
caused concern was the UART Baud rate
The incoming binary data is at 9600 Baud. However the NMEA data, as per specification is at 4800
Baud. Experimentation revealed that this is not a problem for the PIC, as the
board rate clock for the 16F628A can be changed while the program is being run.
The baud rate is set to 9600, the binary data is read into the PIC and stored.
The baud rate is set to 4800 and the NMEA data is sent. The process is then
repeated.
Construction
To enable the board to be squeezed on the front panel below the existing LED status board, it would have to be double sided, with plated through holes. This was beyond my production capabilities so following the guidance of Paul Wade W1GHZ, boards were designed and made by Expresspcb. (14) The PCB is designed using their supplied software, the design is submitted via the web and the boards arrive 3 days later. The final board size is 3.75 x 1.75”. A view of the front of the assembled PCB is shown in Figure 4, the rear view is shown in Figure 5.
The two displays are mounted on one
side of the board along with the chip components. The Integrated circuits,
electrolytics and crystal are mounted on the other side, thus allowing the
board to be directly mounted on the front panel. The PIC is mounted in an 18 pin
socket to enable any future software updates. Input signals and power for
the board are extracted from the GPS board by a length of screened cable soldered directly to the appropriate
pins.. The handle on the front panel was removed as it would obstruct the
display. A 175x18mm cut out was made in the front of the chassis and the front
panel, (just large enough to show the digits).
Four 4-40 clearance holes were made in the chassis (but NOT the front
panel) aligning with the four holes in the PCB and countersunk. The board was
held in place against the front panel with four countersunk 4-40 screws and
spacers.
A hole is filed in the back panel
for the 9 pin connector for the NMEA output as shown in Figure 6. The photograph
also shows the IEC connector for the AC supply for the internal 48V PSU. The
modified front panel is shown in Figure 7.
Operation
When the Z3801 is powered up all the
digits on the display are blanked except for the right-hand digit which
indicates number of satellites acquired. Three Decimal points will flash on and
off to show that GPS valid data is being
received from the GPS board. The switch
has no effect at this time. When Three satellites (or more) have been acquired
the display will then show UTC time. Date may be displayed by putting SW1 in
the Date position, or the display blanked by the other SW1 position.
When the time is invalid an NMEA
string of the following format is output:-
$GPGGA,,,,,,0,00,,,,,,, (The “00” value changes to show the number of
satellites acquired.)
When the time is valid an NMEA
string of the following format is output.:-
$GPGGA,172330.00,,,,,1,05,,,,,,, (The “1” indicates that the output time is
valid, 05 five satellites.)
These minimised GPGGA strings
(without checksum) have been found adequate for correction operation of
NMEATIME.
Future Developments
The project has achieved all the
aims originally set. By slightly altering the software the same PCB could be
used to make a digital clock from the cheap OEM GPS modules that were available
a few years ago in the
References:
1.
http://www.ad6a.com/Z3801A.html
2.
http://www.realhamradio.com/gpscon.htm
4.
http://pulsar.princeton.edu/~joe/K1JT/
5.
http://g4fre.com/keyers2.htm
6.
http://g4fre.com/intelli.htm
9.
http://www.fairchildsemi.com/ds/MS/MST6941C.pdf
10.
http://pdfserv.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf
11.
http://ww1.microchip.com/downloads/en/DeviceDoc/40044b.pdf
12.
obtained from
Sparkfun electronics, http://www.sparkfun.com
13.
http://www.maxim-ic.com/appnotes.cfm/appnote_number/917
14.
http://www.expresspcb.com/
Table :1 Component Listing
R1 10k
0805 size SMT (DK 311-10.0KCCT) (increase value to dim display)
U1 PIC16F628A 18 pin DIL (DK PIC16F628A-I/P-ND)
U2 MAX7219
24 pin DIL (DK MAX7219CNG-ND)
U3, U4 MST6941C 3 digit common cathode display (Mouser 512-MST6941C)
U5 MAX232CPE
X1 10MHz
18pF crystal HC49US (DK 300-6021)
C1,C2 18pF 0805 size SMT (DK 311-1102)
C3 0.1uF ceramic 0805 SMT
C4 10uF 16V Tantalum SMT
C5,6,7,8 1uF 35V tantalum SMT (DK 478-1671-1-ND)
SW1 DPDT
centre off (DK 360-1257-ND)
S1 18 pin IC socket for U1 (optional)
Figure 1: SATSCAN Display Screen

Figure 2: GPSCON Display Screen


Figure 4: Assembled PCB: Front view

Figure 5: Assembled PCB rear view

Figure 6:
Photograph of finished unit: Rear Panel


Last modified 23 Oct 2006