1979-1980 2 Meter Transceiver
EPROMS
|
Although the following
describes changing an early design to a newer implementation
using EPROMs the general information might be useful for suggesting
other applications. I could have gone further and used a microcontroller
such as a PIC24 series chip which would further simplify the
design at the expense of needing to learn how to use it. |
An annoying fault during
the overhaul of the old 2m rig was that the numeric display above
the dial intermittently showed some (but not all) numbers correctly
but often just a series of red dots. The device is an ancient
HP5082-7300 which requires
a 5-bit code to display a particular digit with or without a
decimal point. I've reconstructed the codes for the diode matrix
in which these are stored below using the Avago datasheet. Oddly,
despite the high standing of Avago, they reproduced incorrect
codes in their datasheet causing me a little puzzlement. The
datasheet is puzzling anyway because they specify the device
usage by three different standards viz. chip pin numbers (1),
function (INPUT 2) and an alpha-numeric (X2).
In the table below the display
echoes the 4th digit (0-9) as shown X8=Pin 3, X4=Pin 2, X2=Pin
1, X1=Pin 8, DP=Pin 4. Vcc is Pin 7 with Ground as Pin 6. Latch
Enable (E) is Pin 5. DP is OFF at logic high (=1)
Latch enable is set to logic
low (=0) to turn on the display and logic high (=1) to blank
the display.
The supply voltage needs to
be 4.5 to 5.5 volts and to not exceed 7.0 volts.
Logic 1 has to be greater than
2 volts (@250uA) and logic 0 less than 0.8 volts (@-1.6mA).
Besides the digits 0 to 9 there
are a number of other displays which may appear if the wiring
isn't quite right (as in my case). These are (in octal) 22 lots
of dots, blank for 27, 31, 35 and 37 plus a line of dots for
33. All-in-all a fault in the wiring or a bad diode is tricky
to diagnose. |
HP5082-7300 Display codes
FREQUENCY MHz |
X8 |
X4 |
X2 |
X1 |
DP |
OCTAL |
144.000 |
0 |
0 |
0 |
0 |
1 |
01 |
144.100 |
0 |
0 |
0 |
1 |
1 |
03 |
144.200 |
0 |
0 |
1 |
0 |
1 |
05 |
144.300 |
0 |
0 |
1 |
1 |
1 |
07 |
144.400 |
0 |
1 |
0 |
0 |
1 |
11 |
144.500 |
0 |
1 |
0 |
1 |
1 |
13 |
144.600 |
0 |
1 |
1 |
0 |
1 |
15 |
144.700 |
0 |
1 |
1 |
1 |
1 |
17 |
144.800 |
1 |
0 |
0 |
0 |
1 |
21 |
144.900 |
1 |
0 |
0 |
1 |
1 |
23 |
145.000 |
0 |
0 |
0 |
0 |
1 |
01 |
|
FREQUENCY MHz |
X8 |
X4 |
X2 |
X1 |
DP |
OCTAL |
145.000 |
0 |
0 |
0 |
0 |
1 |
01 |
145.100 |
0 |
0 |
0 |
1 |
1 |
03 |
145.200 |
0 |
0 |
1 |
0 |
1 |
05 |
145.300 |
0 |
0 |
1 |
1 |
1 |
07 |
145.400 |
0 |
1 |
0 |
0 |
1 |
11 |
145.500 |
0 |
1 |
0 |
1 |
1 |
13 |
145.600 |
0 |
1 |
1 |
0 |
1 |
15 |
145.700 |
0 |
1 |
1 |
1 |
1 |
17 |
145.800 |
1 |
0 |
0 |
0 |
1 |
21 |
145.900 |
1 |
0 |
0 |
1 |
1 |
23 |
146.000 |
0 |
0 |
0 |
0 |
1 |
01 |
|
|
The current draw from
the display will dictate the value of the resistors used in the
diode circuits. This is liable to be different to those used
for equivalent pull-ups used in the PLL code requirement. From
the picture of the Diode Matrix the pull-up resistors look like
620 ohms for the display pins. Maybe it's all academic because
I found the display chip had failed. The pins had come adrift
from the substrate and much to my surprise Pin 2 had bent when
I'd plugged the chip into a DIL holder in 1980. Because of that,
Pin 2 was a continuous Logic 1 and the numerical sequence had
never worked except when the bent pin was (just) in contact with
the socket in the holder. I suppose I could try soldering extremely
thin wires to the pads on the substrate or look in my junk box
for a replacement. Soldering wires to the pads proved impossible
and a new display was far too expensive so I decided to modify
the design.
After wading through lots of
specs relating to the display devices in my junk box it was obvious
that the various options to the failed device would mean adding
a special chip to handle the recoding from the simple binary
(0, 1, 2 etc) held in the diode matrix to seven-segment drive
(a, b, c etc). The old HP device I was using has this recoding
(BCD to numeric code) built-in but apparently, after searching
for a replacement, this design wasn't commonly carried forward
in the industry. The reason being that displays often have more
than one digit making the inclusion of the BCD decoder awkward
to handle. My easiest option is to use one of my plentiful supply
of 27C256 EPROMs. Although
this device is huge compared with my data requirement, the address
range of 15 bits is very useful as it considerably simplifies
its use. I'm using 13 bits (A0 to A12) and I'll have 2 bits left
over for any future changes in design. |
27C256 EPROM for a 7 Segment display
DIGIT |
a DQ6 |
b DQ5 |
c DQ4 |
d DQ3 |
e DQ2 |
f DQ1 |
g DQ0 |
HEX |
ADDRESS |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
01 |
7FFE |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
4F |
7FFD |
2 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
12 |
7FFB |
3 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
06 |
7FF7 |
4 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
4C |
7FEF |
5 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
24 |
7FDF |
6 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
20 |
7FBF |
7 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0F |
7F7F |
8 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
00 |
7EFF |
9 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
04 |
7DFF |
10 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
01 |
7BFF |
|
Here, I've used my preferred
definitions of the 7 segments in a numeric indicator, ignoring
a decimal point and selecting the codes by using one of eleven
address bits per each of the seven codes (see the schematic further
down). Interestingly a potential option available to me is to
use the old diode matrix to directly drive a new 7 segment device.
The initial truth table above has 5 columns but the decimal point
code is hard-wired to "1". I'd need to swap diodes
around and add a couple more columns to the diode matrix (but
I had only one spare) and as you can see the columns are not
logical so lots of rewiring of diodes would be needed.
After investigating the specs
for available displays I found most are common anode so the EPROM
needs to produce a ground for a segment to light (ie. a logic
1 relates to an unlit segment). My junk box yielded an "Archer
0.4" DIL style display supplied by Tandy in one of their
sales, probably around 1978, with a peak rating of 25mA per segment. |
|
Having now decided to replace
the cumbersome diode matrix with a pair of 27C256 EPROMs, I now
have to work out the contents of the one to be used for driving
the PLL.
Whilst working out the method of EPROM
data access I initially assumed that sequential addresses would
be OK but in fact that would need a decoder to select sequences
0 to 10 for 144.0 to 145.0 inclusive. The chosen EPROM actually
has no less than 32,768 x 8 bit stored codes and to access these
requires a simple uncomplicated method of selecting the addresses
in which our data is stored. The old method coupled with the
diode matrix merely grounded one pattern of diodes from the set
of 22. This method is still possible except that the data won't
be stored sequentially.
Using my twin 12-way rotary
switches will give me maybe 23 or 24 possible addresses but the
EPROM has only 14 address lines if we use a single switchable
ground; however by using address lines A0 to A10 for 144.0 to
145.0 then selecting address line 12 from the first switch when
fully clockwise and at the same time providing a ground to the
wiper of the second 12-way switch, also wired to address lines
A0 to A11 I can access all the codes I need.
In fact less wiring and much
simplification can be gained by merely substituting a toggle
switch in place of the second rotary switch as in the drawing
below. The tables below show how I worked out the data layout
for the PLL EPROM.
As with the 7-segment device,
I need to select the codes for driving the SP8922 chip using
my original single-pole 12-way rotary switch. The solution as
with the 7-segment display is to ground each of the eleven EPROM
address bits in turn. This places the codes in different areas
of the EPROM (not sequentially) as shown in the drawing below. |
Here's a rough schematic of
the way I'm using two EPROMs in place of the diode matrix board
and the old HP display.
The PLL receives codes from
the top EPROM which are stored at addresses selected by one of
the original 12-way rotary switches. Because the switch handles
100KHz channels for 144-145MHz and 145-146MHz producing both
PLL codes and seven segment display codes to produce numbers
0-9, I'll be illuminating one of three LEDs for 144, 145 and
146MHz to indicate where the 10 channels (0-9) are in the 2m
band.
I've also incorporated an additional
feature for generating a 600KHz downward frequency shift for
certain channels used for repeater operation. Grounding address
bit A12 changes the code sent to the PLL. I had a choice of also
changing the display number but decided to leave this to show
the receive channel together with an LED showing the repeater
feature is selected. The repeater frequency shift is only operative
when transmit is selected by permitting the ground to the repeater
switch.
In the EPROM version here I
need only a single 12-way switch to select all twenty-two100KHz
channels in the 2MHz band (145MHz is duplicated for convenience). |
 |
|
PLL Codes
FREQUENCY MHz |
F |
E |
D |
C |
B |
144 |
145 |
146 |
HEX |
144.000 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
5B |
144.100 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
63 |
144.200 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
6B |
144.300 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
73 |
144.400 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
7B |
144.500 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
83 |
144.600 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
8B |
144.700 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
93 |
144.800 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
9B |
144.900 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
A3 |
145.000 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
145.100 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
145.200 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
BD |
145.300 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
C5 |
145.400 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
CD |
145.500 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
D5 |
145.600 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
DD |
145.700 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
E5 |
145.800 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
ED |
145.900 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
F5 |
146.000 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
FE |
|
This table carries the
codes for the PLL and the LEDs for 144, 145 and 146MHz.
As I recall the PLL requires
logic ones for selecting the correct channels whilst the LEDs
I've connected to Vcc so that LED current is drawn when the EPROM
ground is selected.
If I made a mistake I can always
reprogram the EPROM.
...
I now have two programmed EPROMs,
one for setting the PLL plus driving the three LEDs for indicating
144-146MHz and a second for driving a common anode 7-segment
display.
I'll need to fit these to a
pair of 28-pin sockets soldered to a piece of Veroboard to replace
the diode matrix board.
I've selected a pair of Texas
TMS27C256-25 EPROMs from my junk box and suitably erased before
programming with my TL866-II Plus programmer. |
|
|
27C256 EPROM TABLE A
FREQUENCY MHz |
F DQ7 |
E DQ6 |
D DQ5 |
C DQ4 |
B DQ3 |
144 DQ2 |
145 DQ1 |
146 DQ0 |
HEX |
S1 |
S2/A11 |
EPROM ADDRESS |
144.000 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
5B |
A0 |
OFF |
7FFE |
144.100 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
63 |
A1 |
OFF |
7FFD |
144.200 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
6B |
A2 |
OFF |
7FFB |
144.300 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
73 |
A3 |
OFF |
7FF7 |
144.400 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
7B |
A4 |
OFF |
7FEF |
144.500 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
83 |
A5 |
OFF |
7FDF |
144.600 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
8B |
A6 |
OFF |
7FBF |
144.700 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
93 |
A7 |
OFF |
7F7F |
144.800 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
9B |
A8 |
OFF |
7EFF |
144.900 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
A3 |
A9 |
OFF |
7DFF |
145.000 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
A10 |
OFF |
7BFF |
145.000 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
A0 |
ON |
77FE |
145.100 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
A1 |
ON |
77FD |
145.200 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
BD |
A2 |
ON |
77FB |
145.300 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
C5 |
A3 |
ON |
77F7 |
145.400 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
CD |
A4 |
ON |
77EF |
145.500 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
D5 |
A5 |
ON |
77DF |
145.600 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
DD |
A6 |
ON |
77BF |
145.700 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
E5 |
A7 |
ON |
777F |
145.800 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
ED |
A8 |
ON |
76FF |
145.900 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
F5 |
A9 |
ON |
75FF |
146.000 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
FE |
A10 |
ON |
73FF |
|
This table shows the layout
of the EPROM using single address bits for 144 to 145MHz and
then adding the next address bit A11 via a toggle switch marked
144-145MHz in the off state and 145-146MHz in the on state.
The data (DQ7-DQ0) is not held
in sequential bytes making it inconvenient to program, but considerably
simplifying selection of channels.
As a recap.. columns F,E....B
contain either a logic 0 or 1 to drive the appropriate address
bit on the SP8922 device in the PLL.
144, 145 and 146 carry a
logic 0 which turns on the appropriate LED which together with
the 0-9 display gives the frequency of the 100KHz channel within
the 2m band. This matches the output from the PLL. |
|
Then I worked out how
to insert repeater channels. I used address bit A12 operated
from a further toggle switch (or a grounding contact on the mode
switch) to select transmit frequencies. |
27C256 EPROM TABLE B
RX FREQ MHz |
RX EPROM MHz |
TX FREQ MHz |
TX EPROM MHz |
S3 A12 |
F DQ7 |
E DQ6 |
D DQ5 |
C DQ4 |
B DQ3 |
144 DQ2 |
145 DQ1 |
146 DQ0 |
HEX |
EPROM ADDRESS |
145.6000 |
145.6 |
145.0000 |
145.0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
67BF |
145.6125 |
145.6 |
145.0125 |
145.0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
67BF |
145.6250 |
145.6 |
145.0250 |
145.0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
67BF |
145.6375 |
145.6 |
145.0375 |
145.0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
67BF |
145.6500 |
145.6 |
145.0500 |
145.0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
AD |
67BF |
145.6625 |
145.7 |
145.0625 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.6750 |
145.7 |
145.0750 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.6875 |
145.7 |
145.0875 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7000 |
145.7 |
145.1000 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7125 |
145.7 |
145.1125 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7250 |
145.7 |
145.1250 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7375 |
145.7 |
145.7375 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7500 |
145.7 |
145.1500 |
145.1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
B5 |
677F |
145.7625 |
145.8 |
145.1625 |
145.2 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
BD |
66FF |
145.7750 |
145.8 |
145.1750 |
145.2 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
BD |
66FF |
145.7875 |
145.8 |
145.1875 |
145.2 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
BD |
66FF |
|
This table shows standard UK
2m repeater frequencies together with additional EPROM contents
for driving the PLL to derive a downwards shift on the received
frequency of 600KHz for repeater operation.
Because the receiver is tuned
to an offset determined by the setting of the VXO a change in
the address bits applied to the PLL will automatically select
a transmit frequency directly related to the received frequency.
The repeater Tx frequencies
are selected by setting the EPROM address bit A12 to logic 0
with a toggle switch or contacts on the mode switch (as is the
case in the original design where the diode matrix carries extra
switching diodes for the purpose).
The PLL EPROM is programmed
with data from a combination of the two tables; 21 hex codes
from EPROM Table A and 3 hex codes from EPROM Table B.. |
|
|
Just to recap for a specific
example.. Listening on 145.600MHz the toggle switch is set to
145MHz placing a ground on address bit A11 and the grounded wiper
of the 12 way rotary switch would be at position 7, grounding
EPROM address line A6. The address bits when unselected are held
at logic 1 so the selected address for 145.600MHz is 111011110111111
which can be written as Hex 77BF. Stored at address 77BF is the
8 bit code 11011101 which is Hex DD. The first five bits represent
address lines FEDCB feeding the PLL chip SP8922, selecting a
basic frequency of (145.600-10.7MHz) divided by 5=26.98MHz. The
other 3 bits of the 8 bit code are 101. These bits feed three
LEDs connected to Vcc (= +5 volts) so that the centre one marked
145MHz seeing a ground signal will illuminate.
The address bits A0 to A10 of
the second EPROM are wired in parallel to A0 to A10 of the first
EPROM whilst A11 to A14 are wired to logic Vcc (= +5 volts).
EPROM 2 therefore is addressed at Hex 7FBF (because we're only
interested in the 0.6MHz part of the frequency we don't bother
with A11). In address 7FBF is stored 00100000 or Hex 20. The
most significant bit isn't used but the other 7 bits carry the
code equating to display segments "a" to "g"
and here you can see that only the bit driving segment "b"
is set to logic 1, the others being logic 0. The EPROM therefore
delivers a code which illuminates a "6" on the display.
That means the PLL plus the 10.7MHz crystal oscillator produce
a frequency of 145.600MHz whilst the LED for "145MHz"
is lit next to "6" on the display. If we flip the toggle
switch to the 144MHz position the basic PLL frequency flips to
(144.600-10.7MHz) divided by 5= 26.78MHz, the 145MHz LED goes
out and the 144MHz LED comes on, with the display remaining at
"6".
For repeater operation we need
to modify the PLL address bits so that the rig generates a transmit
frequency 600KHz less than that for receive. That means the EPROM
needs to hold a second set of codes which are accessed in repeater
mode. As I've only used EPROM address bits A0 to A11, I used
the next bit A12 set to ground when in repeater mode transmit.
Selecting A12 with a ground changes the address for 145.600MHz
from Hex 77BF to 67BF and in the new address is the code 10101101
or Hex AD. The last three bits are unchanged, still pointing
to the 145MHz LED but the PLL code is now 10101 which is the
code which generates 145.000MHz. |
|
Lots of scope to make
an error but I programmed the two EPROMs and now have to wire
a pair of 28-pin sockets on Veroboard and find a suitable 7 segment
common anode display. Then untangle the mass of wiring around
the diode matrix board which will be removed.
These are early examples of
EPROMs and have a centre quartz window for erasing the contents
with UV light. Ideally the cover should be 100% lightproof to
prevent degradation of the contents.
Programmers are a lot better
than they used to be but still loads more room for improvement.
This is the TL866II Pro. |
 |
 |
|
A note about EPROMs...
I have a largish quantity of quite early types of devices, made
in the 1990s by various manufacturers. They all include, buried
inside, a couple of codes indicating the manufacturer and type.
When selecting the chip type before reading or writing, you may
notice (at least on my example of programmer) a box that can
be unticked so that the operation will not be aborted if these
two codes do not match the selected device. In fact the majority
of my EPROMs, outcasts from HDRS, were made by Toshiba and are
TC57256AD-20 or 25. The former have Vpp 12.5V and the latter
21V so are not fully compatible in write mode. The TC57256AD
and therefore the two relevant pairs of codes are not in the
database for my programmer so the box has to be unticked, and
also the type of chip needs to be either 12.5 or 21 volt. Several
show up as faulty and it's quite possible this is so because
21V was used for Vpp in error in HDRS days.
I found a feature in my TL866II
Pro that lets me add new EPROM types not already in the library
so I added TC57256-20 and TC57256-25, adding the manufacturer's
name, Toshiba together with their codes 98-C4 and 98-04 respectively.
The latter's Vpp can be stepped up to 18V so that now both types
can be read and written to without error messages. |
Right, is the new
EPROM board tracking layout. This is drawn to make optimum use
of the horizontal tracking on the Veroboard. Many tracks go across
the board except where circles representing drillings to cut
the tracks are shown down the centre of the two chips. Pin 1
is top left with Pin 28 opposite. There are minor differences
between this layout and the the layout of the Veroboard pictures
below mostly to allow for the addition of pull-up resistors on
the address lines.
The Veroboard measures 70mm
x 110mm) and replaces the old
diode matrix pcb. White insulated wires are ground connections;
the top socket is for the PLL EPROM and the lower socket is for
the display EPROM. Using EPROMs allows for changes to be made
more easily than before.
I suppose it would have been
possible to use EPROMs back in 1979 as I have a large number
of C1702A chips dating from 1972. These are 2Kx8bit but have
only 8 address bits making them slightly more difficult to use.
I could select 9 sets of data by using address FF but it wouldn't
be enough even for use with a 7-segment display without extra
circuitry. The two 27C256 (256Kx8bit) chips I'm using are certainly
not new devices being dated 1989 and 1990. |
 |
|
|
The next task was to fit
four cables to the new board for address and data lines plus
power and to fit a couple of decoupling capacitors. One data
cable drives the 7-segment display whilst a second connects to
the PLL via a small plug and socket and a third is wired to the
three LEDs for 144/145/146MHz. Eleven address lines A0 to A10
go to the remaining 12-way rotary switch with A11 and A12 go
to a pair of toggle switches (one selects 144-145MHz or 145-146MHz
with the second selecting Normal or Repeater operation). Power
for the EPROMs is supplied by the 5 volt rail.
The 8 SIL plug connections to
the PLL pcb are very confusing.
SP8922 |
Pin10 |
Pin11 |
Pin12 |
Pin13 |
Pin14 |
Pin15 |
GND |
Pin16 |
EPROM |
DQ6 |
DQ4 |
GND |
DQ3 |
DQ5 |
DQ7 |
GND |
GND |
REF |
E |
C |
A |
B |
D |
F |
GND |
G |
SIL |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
 |
|
Now the messy task of
removing all the old wiring to the diode matrix, PLL, LEDs and
various switches then wiring in the new assembly with plenty
of scope for making errors. The first error I made was confusing
the connections to the SP8922 because the PLL circuit board carries
an 8-way SIL socket wired to the chip pins in the table above.
Two of the selection bits are not used so need to be grounded
viz. "A" for 50KHz and "G" for 25KHz settings
and to facilitate this I added a ground wire in the cable between
the EPROM board and the PLL mating plug. The connections to the
7-segment display are made from only 7 of the 8 EPROM data bits,
with DQ7 not used and with a 5 volt feed for the display chip
common anode.
Below is the completed assembly
with connectors for the PLL and the display, 12-way rotary switch
and leads for the three LEDs and two toggle switches. |
 |
I tested the new EPROM
pcb today to check the performance of the display. It worked
OK at 3 volts but oddly 0-7 and 9 worked but "8" failed
to illuminate. A programming error despite being ultra-careful.
I'd used EPROM address 7E77 instead of 7EFF for storing code
"00" for "8" so the default of "FF"
which represents a blank display came up when I turned the 100KHz
switch to position 9. I'd also checked the pcb cable wiring for
the third time and had to rewire the PLL connections. The picture
above gave the game away because I couldn't see the three LED
wires. I'd forgotten them and wired the PLL connections to the
wrong EPROM date outlets. After checking the display I added
an 82ohm resistor in the common anode supply voltage so it could
be driven safely at a sensible brightness and without exceeding
the spec of the device. I should really fit a 2.7 zener as well
to reduce the brightness of "1" which because it only
uses two segments, draws less current, and therefore sees a slightly
higher voltage. Maybe a better solution is to just add a series
resistor in each of the 7 segment connections and connect the
common anode directly to Vcc (=5 volts)
I removed lots of transistors
and resistors from the three LEDs that's no longer required now
because they're driven from the EPROM and no longer need external
logic circuitry. After sorting out the new wiring to the LEDs
I'll test the operation of the PLL to check the EPROM has correct
data. I've already proved it works on one frequency, with the
old diode matrix, so hopefully with the new EPROM it should be
more reliable. Checking the front panel LEDs for polarity I found
three (144/145 and PLL Lock) were OK but the 4th representing
146MHz was open circuit so will be replaced. I'd noticed during
intial tests with the old diode matrix board that only one setting
of the 12-way rotary switches put the PLL lock LED out. Whether
that was due to a fault in the diode matrix connections or a
latent problem with either the PLL pcb or the VHF local oscillator
pcb remains to be seen.
Further tests were a bit inconclusive.The
old wiring around the chassis was letting me down with intermittent
mode switch settings affecting progress but I entually found
a couple of problems. One was a missing pull up resistor which
allowed address bit A015 to be floating. I corrected this but
found the spec of the EPROMs didn't allow sufficient current
to illuminate the original green LEDs for 144/145MHz indication.
I'd changed the one for 146MHz and this lit quite well so I temporarily
fitted a pair of modern low current types which lit OK. I'd swapped
the PLL 27C264 for an early version, a TC57264AD-20 without the
"C" but if anything it was worse. I then decided to
strip out all the original wiring and replace this with decent
stuff and properly labelled. I also removed the SSB unit so I
could test this independently on the bench. This
job, I'll tackle in parallel with the testing of the EPROM task. |
|
|
pending
|
|
Return to Reception
|