This is only a preview of the December 2002 issue of Silicon Chip. You can view 25 of the 96 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Articles in this series:
Items relevant to "The Micromitter Stereo FM Transmitter":
Items relevant to "A Windows-Based EPROM Programmer; Pt.2":
Items relevant to "Build The Decision Maker":
Articles in this series:
Items relevant to "SuperCharger For NiCd & NiMH Batteries; Pt.2":
Articles in this series:
Items relevant to "Simple VHF FM/AM Radio":
Purchase a printed copy of this issue for $10.00. |
FEATURE PROJECT: EPROM PROGRAMMER; PT.2
Pt.2: By JIM ROWE
A Windows-Based
EPROM Programmer
This month, we explain how to assemble the
programmer and the socket adaptors which allow it
to read and program devices in either 24-pin DIL or
32-pin PLCC packages. We also explain how to check
the programmer’s basic hardware operation.
32 Silicon Chip
www.siliconchip.com.au
A
S MENTIONED in the first article, the new programmer’s
hardware is built entirely on a
double-sided PC board. This board is
coded 07112021 and is designed to be
“free standing” rather than mounted
in a box.
Both the DB25 socket for the parallel
cable (CON1) and the socket for the
plugpack cable (CON2) are mounted
directly on the rear edge of the board.
The 32-pin ZIF socket which accepts
the EPROMs (or adaptor sockets) is
mounted centrally near the front.
To make it freestanding, the board
is fitted with six small rubber feet for
support. Four of the feet attach to the
corners of the board, while the remaining two are fitted just to the front and
rear of the ZIF socket.
We decided on this method of
construction so that the programmer
would be easy to put together. However, with a “naked” PC board, there’s
obviously no protection for the components against physical damage.
Ideally, a full-size Perspex front
panel could be mounted above the
PC board to provide this protection.
However, this wasn’t really feasible
here because there would have to be
a large rectangular cutout to allow
full access to the ZIF socket and its
operating lever. And even with such
a cutout, it would still be quite awkward to insert and remove EPROMs
(and their socket adaptors) because the
panel would have to be mounted quite
high to clear the electrolytic capacitors
and relays.
Because of this complication, we
decided to compromise by using a
half-panel”, as shown in the photo.
This provides protection for just over
half the board and allows for full
identification of the six mode indicator LEDs. It also provides a guide
for fitting 32-pin and 28-pin EPROMs
without restricting access to the ZIF
socket.
This Perspex “half-panel” mounts
above the PC board on four M3 tapped
spacers (12.5mm long). These also
form the “nuts” for the M3 machine
screws which are used to attach four
of the board’s rubber mounting feet.
The 12.5mm spacing ensures that the
panels just nicely clears the LEDs,
the quartz crystal case and the DB25
socket.
Fig.6 shows the dimensions of the
Perspex front panel. The large rectanwww.siliconchip.com.au
Fig.6: this diagram shows the dimensions of the Perspex front panel.
Fig.7: this is the full-size front panel artwork. A window (marked with a
cross) is cut out to view the status LEDs.
December 2002 33
Fig.8: here’s how to install the parts on the main PC board. Note that if you don’t
have a board with plated-through holes, then you will have to solder some parts
on both sides of the board and install short links through the “vias”. These
positions are all indicated by the red dots (see text).
gular section that’s removed from the
lefthand side ensures that it clears the
ZIF socket.
Main board assembly
Because the main PC board is
double-sided, there are no conventional wire links to be fitted. Ideally,
it should come with plated-through
holes but if not, you will have to
solder some of the component leads
(and pins) on both sides of the board.
In addition, you will have to fit short
wire links through the “via” holes in
various locations on the board and
solder them on both sides.
To simplify the assembly, we’ve
marked all of the critical component
leads and “via” positions with a red
dot on the parts layout diagram – see
Fig.8. If your board doesn’t have plated-through holes, it’s simply a matter
of soldering each component lead on
both sides of the PC board where ever
there’s a red dot.
34 Silicon Chip
Alternatively, if there’s no component lead, the red dot indicates a “via”
position and you have to fit a wire link
(or pin) through the board.
Of course, if your board has plated-through holes, you don’t have to
worry about this – the through-board
connections are already there.
Before starting the assembly, check
both sides of the PC board carefully
for hairline bridges between tracks or
pads. There are lots of tracks running
between IC pads on both sides, so
check these “close-clearance” locations in particular.
Once you’ve done that, you can start
by fitting the wire “vias” (assuming
that you’re not using a plated-through
board). This involves fitting a wire
“pin-through” (or “via”) in every
position that’s marked with a red dot
and is separate from any components.
There are 110 of these wire “vias’ by
the way – sorry about that!
Once the “vias” are in, fit PC termi-
nal pins to the board at the three clock
frequency test points. These go down
in the front righthand corner of the
board, between IC11 and IC12.
The resistors and diodes can go in
next. Be sure to fit the diodes with
the correct polarity and note that 10
of them are 1N4004 power diodes.
The remaining three diodes (D1, D12
& D13) are 1N4148 (or similar) types.
Note that some of the resistor leads
have to be soldered on both sides of
the board (ie, if the board doesn’t have
plated-through holes). Table 1 shows
the resistor colour codes but its also
a good idea to check each one using a
digital multimeter before installing it.
Once all the resistors are in, you
can install the capacitors. Install the
smaller capacitors first and finish with
the five larger electrolytic types in
the top lefthand corner of the board.
Make sure that the electrolytics go in
the right way around (otherwise, they
can go “kaabooom”).
The two miniature relays are next
and these will only mount on the board
one way around. However, you may
need to straighten their pins a little
www.siliconchip.com.au
Table 1: Resistor Colour Codes
o
No.
o 1
o 1
o 1
o 1
o 1
o 1
o
19
o 1
o 1
o 2
o 1
o 1
o 1
o 7
o 2
o 3
o
22
o 1
Value
1MΩ
330kΩ
220kΩ
150kΩ
120kΩ
11kΩ
10kΩ
5.6kΩ
4.7kΩ
3.9kΩ
2.2kΩ
1.2kΩ
820Ω
470Ω
240Ω
220Ω
100Ω
10Ω
before they’ll all go through the board
holes. The relays are identical, so they
can go in either position.
Now for the semiconductor devices.
The best procedure here is to fit the
regulators first, then the ICs and finally
the transistors and LEDs.
The regulators all mount horizontally, with their leads bent downwards by
90 degrees about 6mm away from the
regulator packages. Their mounting
tabs are each secured to the board
using a 6mm x M3 machine screw
and nut. There’s no need to apply any
heatsink compound to the underside
of each device, although a thin smear
will help keep them cool.
Note that the pins of all three regulators should be soldered to the pads
on both sides of the board if there’s no
through-hole plating.
You can now install all the ICs. Be
sure to fit the correct IC to each location and make sure they are all oriented correctly. They all face in the same
direction, with pin 1 at bottom left.
Fit the PNP transistors first
There are 15 transistors in all - 12
PN100 NPN types and three PN200
PNP types. To make sure that you don’t
mix them up (which would cause the
programmer to misbehave in strange
ways), it’s best to fit the three PN200s
first. These go in the positions shown
for Q5, Q9 and Q14, in the front-left
quadrant of the board.
Orientate the transistors as shown
and push them down as far as they
www.siliconchip.com.au
4-Band Code (1%)
brown black green brown
orange orange yellow brown
red red yellow brown
brown green yellow brown
brown red yellow brown
brown brown orange brown
brown black orange brown
green blue red brown
yellow violet red brown
orange white red brown
red red red brown
brown red red brown
grey red brown brown
yellow violet brown brown
red yellow brown brown
red red brown brown
brown black brown brown
brown black black brown
will comfortably go before soldering
their leads. Once they are in, you
can fit the PN100s in the remaining
positions.
The six red LEDs are fitted in two
rows of three immediately to the right
of IC15. Note that they all have their
anode leads towards the “inside”
of the group - ie, the two rows face
in opposite directions. They should
all be installed so that their bodies
are 8mm above the board surface, so
that their tops will be just below the
perspex front panel when it’s later
fitted.
Note the wire “via” just to the right
of the LEDs. This connects all the LED
anodes to the +5V supply rail. Be sure
to fit this via if your board doesn’t
have plated-through holes, otherwise
none of your mode indicator LEDs
will work!
The remaining green LED (LED7)
is used for power indication and is
mounted just to the left of IC10. It
should also sit 8mm above the board,
its anode lead towards IC19.
The 4.0MHz quartz crystal and ZIF
socket can go in next. Push the crystal
all the way down onto the board and
Table 2: Capacitor Codes
o
o
o
o
o
Value
IEC Code EIA Code
0.1μF 100n 104
1nF 1n 102
100pF 100p 101
33pF 33p 33
5-Band Code (1%)
brown black black yellow brown
orange orange black orange brown
red red black orange brown
brown green black orange brown
brown red black orange brown
brown brown black red brown
brown black black red brown
green blue black brown brown
yellow violet black brown brown
orange white black brown brown
red red black brown brown
brown red black brown brown
grey red black black brown
yellow violet black black brown
red yellow black black brown
red red black black brown
brown black black black brown
brown black black gold brown
solder its leads quickly, so that you
don’t overheat the crystal inside. The
ZIF socket must be installed with its
operating lever on the left.
Make sure that all the pins of the
ZIF socket pass through the PC board
before soldering it into place.
Finally, you can complete the board
assembly by installing the DB25 connector (CON1) and the power socket
(CON2). Note that the holes for CON2’s
lugs really need to be small slots. If
necessary, they can be filed to shape
using a jeweller’s rat-tail file, so that
the socket fits easily.
Quick inspection
At this stage it’s a good idea to carefully inspect all of your soldered joints
on both sides of the board. Check to
ensure that you haven’t made any dry
joints or left solder bridges to cause
problems later on.
Once you are satisfied that everything
is OK, you can fit the six rubber to the
board. As mentioned earlier these
mount on the underside of the board
using 6mm x M3 machine screws. The
two mounting screws on the lefthand
side of the board are then fitted with
normal M3 hex nuts on the top, while
the remaining four take the 12.5mm
tapped spacers used to support the
Perspex front panel.
Front panel
If you buy a complete kit, chances
are the Perspex front panel will come
pre-cut with screen-printed lettering.
December 2002 35
This is the fully-assembled EPROM programmer board, prior
to installing the Perspex front panel. Make sure that each part
is in its correct location before soldering its leads, as parts can
be difficult to remove from double-sided boards.
However, we’ll assume here that
you’re making the panel yourself.
The front panel is made from 3mm
thick Perspex sheet and all the dimensions are shown in Fig.6. Note
that the four mounting holes (A) are
countersunk, to take the 6mm x M3
countersink-head screws which attach
the panel to its support spacers.
When the panel has been cut to
shape, drilled and has its edges nicely
smoothed (a sharp perspex edge can
cut you almost as readily as glass), try
sitting it on the support spacers. The
panel should just clear the tops of the
LEDs and the quartz crystal case. If it
doesn’t clear the LEDs, desolder their
leads and move them down.
If your crystal’s case is just a whisker taller than 12.5mm, even with it
mounted down hard against the board,
don’t despair. The solution to this
involves nothing more than placing
a small flat washer on the top of each
support spacer before you fit the front
panel. This increases the board-topanel spacing by almost a millimetre,
which should be more than enough to
clear the crystal case.
36 Silicon Chip
Don’t attach the front panel at this
stage – that step comes later, after the
check-out procedure.
Checkout time
You are now ready to power up the
programmer and quickly check it for
correct hardware operation - at least in
terms of the basics. To do this, you’ll
need to fit the correct 2.5mm plug to
the 12V 1A plugpack lead, so that it
can mate with connector CON2.
Before actually applying power, set
your DMM (or multimeter) to measure
DC voltage and connect its negative
lead to the earthy side of the board.
The top of the mounting screw for
REG1 is a convenient point to make
this connection.
Now apply power and check first
that the green power LED is glowing. If
it is, use the DMM to check the voltages
at the cathode ends of D2, D5 & D4.
These should measure about +17.5V,
+18V and +35V respectively.
If the LED isn’t glowing, or if any
voltage is not even near its correct
value, switch off immediately and
look for wiring mistakes. The most
likely cause of any trouble is fitting
one or more diodes, transistors or ICs
the wrong way around
Note that at this stage, there may also
be a number of the red LEDs glowing.
That’s because the programmer isn’t
connected to either a PC printer port
or an EPROM. Don’t worry about this
- it’s to be expected.
If all is well so far, try measuring the
voltages at the output pins of REG1,
REG2 and REG3. The output of REG1
should be within a few millivolts of
5.00V, because this is the supply line
for most of the programmer’s ICs and
LEDs. However, the outputs of REG2
and REG3 can be at various levels,
depending on the state of their control
circuits in this “no PC connected”
state.
For example, the output of REG2
may be at any of three different voltage
levels: 3.7V, 5.7V or 6.95V, depending
on the control signals applied to transistors Q1 and Q2. So if you measure
any of these three voltages or very
close to them, REG2 and its switching circuitry are probably working
correctly.
www.siliconchip.com.au
Fig.9: here are the parts layout diagrams for the three adaptor boards, together with their full-size PC patterns. All three
use wire-wrap sockets with long tails to form 32-pin “plugs” that fit into the programmer’s main ZIF socket.
Similarly, the output of REG3 can
be at either of two voltage levels, depending on the control signal applied
to transistor Q3: 21.2V or 12.95V. So
if you measure either of these vol
tages or very close to them, REG3 and
its switching circuitry are probably
working correctly too.
If everything is OK so far, check
the voltage at pin 14 of the 14-pin
ICs, pin 16 of the 16-pin ICs and pin
20 of the 20-pin ICs. These should all
measure +5V.
The last quick check you can perform at this stage is to use an oscilloscope or a frequency counter to check
the clock signals at the three test points
in the front righthand corner of the
board. As indicated on the overlay
diagram (Fig.6), you should be able
to measure 4MHz, 2MHz and 1MHz
signals respectively on the three terminal pins.
If you are using an oscilloscope, it
should also show these signals to be
square-waves with an amplitude of
close to 5V peak-to-peak. If so, your
crystal clock oscillator and timing
divider are working correctly and your
programmer is ready for final testing
The three optional adapter boards shown here allow older types of EPROMs to be programmed.
www.siliconchip.com.au
December 2002 37
Optional Reading Test Jig
configuration and mode decoding circuitry, if you wish.
It can also be used to check out
printers but you’ll have to wait until
next month for more information on
this device.
The socket adaptors
Fig.10: this is the circuit for the reading test jig. It’s basically a
dummy EPROM with an address set by the 8-way DIP switch.
Fig.10: the parts layout and full-size board pattern for the reading
test jig. Building it is entirely optional (see text).
This is the completed
reading test jig. It will
come in handy if you
need to service the
programmer at a later
stage.
with the software. We’ll discuss this
in Pt.3 next month.
There are some more hardware tests
you can carry out before connecting
the programmer to a PC but these re38 Silicon Chip
quire a “dummy printer port” test jig
like the one we plan to describe next
month in a separate small article. This
simple little gizmo will allow you to
check the programmer’s pulse timing,
The small socket adaptors are designed to allow the programmer to
also handle EPROMs in 24-pin DIL
and 32-pin PLCC packages, as well
as the 28-pin and 32-pin DIL devices
which plug directly into the main
ZIF socket.
There are three of these adaptors
- one for 24-pin DIL devices and
the other two for PLCCs. So why do
we need two different adaptors for
PLCCs? The reason is that although
all devic
es with capacities up to
2Mb are in 32-pin packages, the 1Mb
and 2Mb devices have different connections compared to the 64-512Kb
devices.
Another adaptor is required for the
24-pin DIL devices for almost the same
reason. Although they’re physically
compatible with a 32-pin socket, these
devices have more connection differ
ences than the programmer’s configuration circuits can handle. The adaptor
overcomes this problem.
Fig.9 shows the parts layout diagrams for the three adaptors. There’s
very little in them and all three use
wire-wrap sockets with long tails to
form 32-pin “plugs” that fit into the
programmer’s main ZIF socket. The
24-pin adaptor then has a 24-pin ZIF
socket of its own to take that size of
EPROMs, while the two PLCC adaptors
have standard 32-pin PLCC sockets
instead.
Note that we’ve used standard 32pin PLCC sockets because ZIF sockets
for PLCCs are very expensive - about
$150 each! Fortunately, it’s quite easy
to insert PLCC devices into the standard sockets by hand and then remove
them again with low-cost extractor
tools (like the DSE T-4655).
Apart from the wire-wrap “plugs”
and their interconnected sockets, the
only other items on each adaptor board
are a single wire link and a 100nF multilayer monolithic bypass capacitor, on
the EPROM Vcc line. So they’re each
easy to put together.
Reading test jig
During the programmer development, we also made up a little plug-in
www.siliconchip.com.au
Parts List
1 PC board (double-sided), code
07112021, 178 x 127mm
1 4.00MHz quartz crystal (X1)
1 12V 1A AC plugpack supply
1 DB25F socket, 90-degree PCmount
1 DC connector, 2.5mm PCmount
2 12V SPDT miniature relays, PC
mount
1 32-pin zero insertion force (ZIF)
IC socket
6 12.5mm-diameter rubber feet
9 M3 x 6mm machine screws,
round head
5 M3 nuts
4 M3 tapped spacers, 12.5mm
long
4 M3 x 6mm machine screws,
CSK head
1 Perspex sheet, 95 x 127mm
(3mm thick)
Semiconductors
1 74HC245 octal buffer (IC1)
1 74HC157 4 x 2 multiplexer (IC2)
1 74HC138 3-to-8 decoder (IC3)
3 74HC00 quad NAND gate (IC4,
IC16, IC19)
4 74HC04 hex inverter (IC5, IC12,
IC15, IC17)
4 74HC373 octal latch (IC6, IC7,
IC8, IC9)
2 74HC74 dual flipflop (IC10,
IC11)
2 74HC161 4-bit PL counter
(IC13, IC14)
jig to test the unit’s read mode operation. However, although this device is
handy, you shouldn’t really need one
unless it’s for servicing the programmer at a later stage. For that reason,
we’re providing the circuit and board
overlay diagram for those readers who
want to build one up.
Fig.10 shows the circuit details,
while Fig.11 shows the parts layout on
the PC board. Basically, it’s a very simple “dummy EPROM” with only one
address (or every address). It simply
provides a pullup resistor for each data
pin of the 32-pin EPROM socket, plus
a set of eight DIP switches so that you
can manually set each pin to either a
“1” or a “0”. This allows you to set up
a data byte which can be read back by
the computer software by sending the
www.siliconchip.com.au
1 74HC02 quad NOR gate (IC18)
12 PN100 NPN transistors (Q1,
Q2, Q3, Q4, Q6, Q7, Q8, Q10,
Q11, Q12, Q13, Q15)
3 PN200 PNP transistors (Q5, Q9,
Q14)
3 1N4148 switching diodes (D1,
D12, D13)
10 1N4004 1A power diodes (D2D11)
6 3mm red LEDs (LED1-LED6)
1 3mm green LED (LED7)
1 7805 positive 5V regulator
(REG1)
2 LM317 adjustable regulator
(REG2, REG3)
Capacitors
3 2200μF 25VW PC electrolytic
1 470μF 63VW PC electrolytic
1 100μF 16VW PC electrolytic
1 2.2μF 35V tag tantalum
24 0.1μF multilayer monolithic
5 1nF metallised polyester
2 100pF NPO ceramic
2 33pF NPO ceramic
Resistors (0.25W 1%)
1 1MΩ
2 3.9kΩ
1 330kΩ
1 2.2kΩ
1 220kΩ
1 1.2kΩ
1 150kΩ
1 820Ω
1 120kΩ
7 470Ω
1 11kΩ
2 240Ω
19 10kΩ
3 220Ω
1 5.6kΩ
22 100Ω
1 4.7kΩ
1 10Ω
appropriate instructions.
Note, however, that because the jig
“jams” its data on the programmer’s
internal data bus lines, it can’t be
left plugged in while you’re trying to
download configuration bytes, timing
register bytes or write data bytes. It’s
purely to provide a data byte for testing
the read functions.
Whether or not you build one of
these little jigs is up to you. It won’t
cost you much but on the other hand,
you don’t really need one unless your
programmer develops a fault.
Windows software
That’s all for the present. Next time,
we plan to give you details of the Windows software that’s been developed
SC
to run the programmer.
Silicon Chip
Binders
REAL
VALUE
AT
$12.95
PLUS P
&P
These binders will protect your copies of SILICON CHIP. They feature
heavy-board covers & are made
from a dis
tinctive 2-tone green
vinyl. They hold up to 14 issues &
will look great on your bookshelf.
H 80mm internal width
H SILICON CHIP logo printed in
gold-coloured lettering on spine
& cover
H Buy five and get them postage
free!
Price: $A12.95 plus $A5.50 p&p.
Available only in Australia.
Silicon Chip Publications
PO Box 139
Collaroy Beach 2097
Or fax (02) 9979 6503; or ring (02)
9979 5644 & quote your credit
card number.
Use this handy form
Enclosed is my cheque/money order for
$________ or please debit my
Bankcard
Visa Mastercard
Card No:
_________________________________
Card Expiry Date ____/____
Signature ________________________
Name ____________________________
Address__________________________
__________________ P/code_______
December 2002 39
|