KISSEPROM
(Keep It Simple and Strong):
Eprom Programmer for 27Cxx
Family
(and more)
and a short tutorial
about Eprom
Eproms
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.
Eproms
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:
E o CE (means Chip Enable); imagine it as a general switch: with 0v applied at this pin the eprom in "ON", with +5V the eprom is "OFF";
G o OE (means Output Enable); 0v enable the output, +5v disable output;
Vpp; here we apply the programming Voltage (12,5 - 21 - 25v depending by eprom);
on some eprom ther's a PGM pin (means Program): 0v enable the programming mode, +5v disable it.
So these are full operations to read eproms:
enable chip (CE at 0v)
enable output (OE at 0v)
specify address (pind A0..A14)
after few millisecond (to stabilize signal) read byte on pin Q0..Q7;
specify a new address .....
for writing :
enable the chip (CE at 0v);
disable output (OE at +5v);
apply the programming voltage on Vpp pin;
often we need to switch the eprom supply voltage from +5V to +6,3v (as to "write stronger" the byte)
specify the address on wich store the byte (lines A0..A14)
write the byte on Q0..Q7 pin
when all signal are stable give a negative going pulse on OE (put it at 0V for 50ms and then again at +5v);
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
Vcc: positive supply voltage (+5v) and
Vss : common grond (0v)
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