(Keep It Simple and Strong):
Eprom Programmer for 27Cxx Family
(and more)
and a short tutorial about Eprom

(Base and Eprom Board)

Intro  Eproms  Hardware   Software


As the name says (KISS means "Keep It Simple and Strong"), the starting philosophy was to obtain a simple,cheap and easy-to-upgrade eprom programmer;
I think i've made Bingo..but only the time will confirm that;

The programmer is build in two module:

  1. Programmer;

  2. Power supply;

In the programmer module we have two boards: Base and Eprom (don't worry about all these boards: it's just "logical" board and in the real world are very easy to build);

The programmer must be connected to the parallel port and use PS/2 standard  (bidirectional port) to read/write eproms;
it works with all BIOS configurations of the parallel port (SPP - EPP - ECP - ECP +EPP); should not work with old 386 not supporting bidirectional mode (but the software is a WIN9x 32 bit application..).

The Base board uses very few components:


two CD4040 (binary counter) are used to address the eprom;
the LPT pin 1 give a clock signal to increment counter at each negative going pulse;
note that with two CD4040 you can generate up to  8388608 address so you can use this programmer also with 16MB (and up) eprom.
Pin 15 (the first IC) give the clock to the second CD4040;
reset lines are connected to LPT pin 14 wich resets the counter output to 0V when a +5v level is present (applied through the software);
Now we're ready to read/write an eprom but I've added few transistor as switch to automatically do some operations;
TR1 switch the eprom's OE pin (0-5V);
TR2 switch the eprom supply voltage from 5v(reading mode) to 6,3V (programming mode);
TR3 switch the eprom's PGM pin (where present);
TR4 e TR5 switch the Vpp programming voltage;
I've used 2x 20pin contacts to connect the "Base" board to the "Eprom" board, where take places only Eprom socket and few jumper.

I've used this system for the following reasons:
1) it was a prototype so, in case of error, it's more easy rebuild only the bad board instead of rebuild all;

2) in this way I can "easy-add" other device  in future simply printing a new terminal board for the new device (no switch, not modify etc.);
Socket are common and inexpensive one, but a ZIF one (Zero Inserction Force) will be the best.

On the board there are 4socketi:
1) one for 2716 and 2732;
2) one for 2764 and 27128;
3) one for 27256 and 27512
4) one for 271001, 272001, 274001 etc.
On the socket N.1-3-4 there are two jumper to select the right eprom: I think that's better (and more easy) than a rotary switch or a software-controlled switch;
As I say, socket N.4 is to use with 27C1001 and 2001; the jumper is for a 27C4001 or up (wich i've never tested).

Note that LPT pin 2..9 and eprom pin Q0..Q7 are direct-connected;
at starting I was going to use a CD4066 as switch (to protect the LPT) but, following the KISS philosophy, I've used nothing;
So be careful when inserting  the eprom on the socket to avoid short-cut;
you can use a 1K resistor in series with each Q0..Q7 lines to limit the current to few mA (in case of short-cut);
you will read somewhere to use a 3k3 resistor betwen each Q0..Q7 lines and ground (or +Vcc) to avoid these pin will be in "unknow state" when nothing is connected to the programmer;
but I'll use it only to read/write eprom so this is not a problem.

On the box there are two "manual" switch for the eprom Vcc and Vpp voltage;
this is an added safety for the eprom: you can avoid using it but put more care during operations.

The programmer status is displayed through 3 led  in the upper side:

1) Green Led = programmer (base board) is ON;
2) Orange Led= Eprom ON (+5/6,3V applied to the eprom board);
3) Red Led= programming voltage "ready" (but not applied to the eprom board, if not in programming mode).

On the rear panel ther's a DB25 female for the LPT port and a DIN socket for the power supply connector;

there are no tuning to do so if the assembly is well done the programmer will work at first start-up;
the first thing to check is the power supply (+5v) of the two CD4040, then manually switch the transistors (with a 2K resistor and +5v on the Base pin).
If I'll have more free time I'll add a software routine in my KissEprom software for auto-diagnostic (see the "Software pafe for updates).

I've personally tested the programmer
in READING eprom 2732, 27C32, 2764, 27C64, 27128, 27C128, 27256, 27C256, 27512, 27C512, 29F1001
and WRITING eprom  2764, 27C64, 27128, 27C128, 27256, 27C256, 27512, 27C512;
that doesn't mean it will not work with other devices, simply
I have not these and so I've never tested.

NOTE: in eprom where OE (G) and VPP have the same eprom pin  (example: 27C32, 27C512), simply connect it to VPP and ignore OE (G).


Continue with Programmer
(Power Supply Module)


73 de iz7ath, Talino Tribuzio