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


Intro  Eproms  Hardware   Software


Before talking about Eproms I'll spentd just a word about other memory's family:


ROM : Read Only Memory;
it's a memory programmed (one and only one time) at the same time of the construction.


PROM : Programmable Read Only Memory
it can be programmed just one (and only one) time: it's less "strong" then ROM .


EPROM : Erasable Programmable Read Only Memory;
it can be programmed more time (see below) but before it must be erased with Ultra-Violet ray.


EEPROM : Elettrically Erasable Programmable read Only Memory
Similar to Eprom but you don't need any UV-ray to erase.



Imagine eprom like a sequential number of memory locations in wich data is stored:

Every location can store a byte (1 Byte=8Bit; for example bits 10010011 made a Byte);
every location have an own address; so the first location stays at address 1, the second one at address 2 and so on (in real world the first address is 0,1,2..);
to access a byte you need to specify the address; looking at the eprom datasheet we see 8 pin called Q0..Q7: you must read these pin to red the byte (8bit);

there 're also pins named A0..A14: here we must specify the address we want read from (or write);
the simple reading sequence is:
1) write the address we want access on address lines (A0..A14);
2) automatically the eprom puts on the Data line (Q0..Q7) the byte stored at the specified address;

To specify the address is quite simple: write in binary the address on the Address lines:

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   0   0   0
to specify address 0 (Zero),

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   0   0   1
to specify address 1,

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   1   0   0
to specify address 4 and so on;

each zero means 0 Volt, each 1 means +5 Volt;

Just an other word about address:
a 27C32 is a 32k bit memory wich means  32/8 Byte (4K byte); note that 1K byte do not match with 1000 byte but  1024 byte, so a 27C32 have 1024x4=4096 memory locations (byte) (and so addresses);
a 27C64  have 8K byte so 8192 address;
27C128 > 16Kbyte > 16384 address
27C256 > 32Kbyte > 32768 address
27C512 > 64KByte > 65536 address and so on.

Some pin (called  "control pin") are very important:


So these are full operations to read eproms:

  1. enable chip (CE at 0v)

  2. enable output (OE at 0v)

  3. specify address (pind A0..A14)

  4. after few millisecond (to stabilize signal) read byte on pin Q0..Q7;

  5. specify a new address .....

for writing :

  1. enable the chip (CE at 0v);

  2. disable output (OE at +5v);

  3. apply the programming voltage on Vpp pin;

  4. often we need to switch the eprom supply voltage from +5V to +6,3v (as to  "write stronger" the byte)

  5. specify the address on wich store the byte (lines A0..A14)

  6. write the byte on Q0..Q7 pin

  7. when all signal are stable give a negative going pulse on OE (put it at 0V for 50ms and then again at +5v);

  8. specify a new address and go on;

in some eproms there is a PGM pin wich is used instead of OE; in that case put OE at +5v and give the programming pulse on PGM; but this is not the only procedure you can use (for example you can put OE at +5V, PGM at 0v and give the programming pulse through the same  VPP);
by the way on eprom's datasheet there are always good informations about eprom programming.

Don't forget pin

Before programming an Eprom it must be erased (all bit must be "1" - "FF" in Hexadecimal code); infact it is possible only write "0";
as I said, to erase an eprom you need a UV-C ray "C" with a wave lenght of 253,7 nanometer;
pratically we can use a common germicidal
neon, not difficult to find.

On the datasheet you'll find the exact instruction to erase an eprom, but generally you need about 10-15 minutes at about 2,5 cm from the UV light (for radiation of 15 W-sec/cm*cm);
you can reduce the time putting the eprom closed to the light;
After same erasing you'll find your exact time.
Avoid to take the eprom under the UV ray for long time, that can damage the eprom and remember that erasing after easing, the eprom will slow down the access time;
Before erasing be shure the "erasing window" is clear, if not use alcool to clear it.


Now that we know how an eprom works, how to read/write it let's see my eprom programmer.


Continue with Eprom Programmer


73 de iz7ath, Talino Tribuzio