EPROMs
|
|
I first became familiar
with programmable devices much like modern EPROMs back
in the 1970s when we used early Signetics devices to carry
the firmware for a multiplexer. Because it was still early days
the things were pretty unreliable and not too long after a second
generation (and reliable version) of these fusible-link devices
had been introduced, the EPROM was developed. The fusible-link
chips were a "one-time" device which meant an expensive
exercise if the firmware didn't work properly, but since those
far off days it's easy to fix firmware if it goes wrong and,
probably because it's so easy, sloppy programming has become
the norm (ie. "unplug the BT box and plug it in again"). |
 |
Here's a picture of a
relatively early EPROM. This example being a Signetics 27C256
with its quartz window exposed. Nowadays these have been superseded
by a type that doesn't need the window because they can be erased
electrically (EEPROM).
The early types require the
chip to be exposed to ultra-violet light for a period of say
30 minutes although its not uncommon for erasure to occur naturally,
especially when the window isn't masked well enough. |
|
|
Many years after my experience
with the dud Signetics 82S06, and the better 82S106, I came across
proper EPROMs in the shape of the type shown above. This was
because I was managing the HDRS project
which used EPROMs in its microprocessor-based control equipment.
Because the software was so incredibly complicated the HDRS EPROMs
needed lots of changes and it became clear that the devices eventually
became unreliable through excessive erasing-reprogramming. After
lots of firmware updates not only did we experience programming
bugs but also random errors from hardware failures. Of course
HDRS wasn't alone in having teething troubles as nearly all (if
not ALL) defence projects had problems. In fact one has only
to look at the massive numbers of patches to Microsoft Windows
to realise that software is never completely bug-free. In fact
it's rare that a user can rely on the various laws set up for
consumer protection because in actually using software (or firmware)
one has to indemnify the manufacturer against mistakes. Try declining
Windows 10 terms and conditions when installing it and you'll
quickly discover you can't install it... you have no option but
to accept what usually turns out to be a buggy product.
Below the Willem PCB45 programmer. |
|
|
|
Back to EPROMs... above is a
picture of a cheap EPROM programmer (It's known as a Willem PCB45).
In fact the first one I bought in order to program devices used
in lifts (the repair of which is my day job). It used to work
admirably but that was in the days of Windows 98 and Windows
XP and, as you can see above, when parallel printer ports were
common.
So, recently faced with the
task of reading 2725627C256 devices, I unearthed this old Willem
programmer. I tried it on my Windows 7 PC and found it didn't
work so I removed the hard drive from my workshop PC (which uses
Windows 10) and installed Windows XP on a spare hard drive. Oddly,
although support for XP has long finished the machine insisted
upon downloading and installing updates... Once it was relatively
stable, I re-discovered the software for the device and installed
it. Results were promising. I found I could now read EPROMs and
was able to determine that a specific lift board EPROM had been
corrupted. To discover this I read a newer chip and compared
it with the older one. In fact the newer one is a 27C256 EEPROM
without a quartz window.
Although I could read the chips
I couldn't write to them. It seemed that once the very first
byte was written it was wrong. As the program checked each byte
it was impossible to get past the first byte unless all "FF"
(which means all binary ones) was written, when it then completed
the job properly (but as all ones is equivalent to the erased
state that wasn't any use). I tried everything but failed to
program any of my various devices so I decided to look for a
replacement programmer. As the amount of EPROM programming I
do is very limited I did not care to invest any cash in the current
range of expensive commercial programmers. Ages ago, one customer
in desperate need of programming bought a programmer for £750
and it worked a treat but I'm looking to spend less than £50. |
 |
|
My choice (a bit of a
gamble) was the programmer shown above. It cost me £39
including next day delivery. It would have been cheaper direct
from China but as my customer rang me a few times to check on
progress I couldn't wait over a month. I noticed the case is
marked "XGecu Pro" but similar cases are marked "MiniPRO"
and seem to be exactly the same thing? You can buy adaptors to
program non-DIL chips but I didn't need these and anyway my collection
of similar adaptors left over from the Willem will probably work
OK. |
 |
Left is the accompanying
mini-CD carrying the software, and right the only paperwork received
in the box.
The CD has a few files with
Chinese names but it also has some in English and adequate for
an installation on my 64bit version of Windows 7. It would even
run on a Windows 10 PC and several earlier systems.
The programmer uses a USB lead
and this carries power to the device as well as being used for
data. Inside the case, much like the Willem, is a DC-DC converter
which produces the voltages for most types of EPROM (but not
those using elevated voltages beyond about 18 volts). |
 |
|
|
How did I get on? The
first task is to use the CD to install the program and the drivers.
Then plug in the device. The first thing to happen appeared to
be a firmware update. I guess this is to update the list of EPROM
types? Once completed, and once the program is happy about the
drivers, it displays what you can see below.
This example has an M5M27C256K
selected, but not plugged in. The software calls itself "Xgpro
v9.0" |
 |
|
The number of types of
chip that the programmer can handle is enormous and even as I
opened the program, a message popped up to say an update was
available. One interesting feature is that each EPROM type carries
an identification code which is read by the programmer to ensure
you didn't make an error in selecting your chip. Oddly, one of
my old chips made by one specific maker turned out to have the
wrong ident code (I must investigate why) but all the others
were OK. Firstly I confirmed the logo on the EPROM was indeed
Signetics (see the picture at the top
of this page), then looked to see if the company had been
absorbed by another manufacturer. I found that Philips had taken
over Signetics so selected the 27C264 and discovered the ident
code was then recognised.
I read the code from the good
EEPROM by pressing "R", saved it as a BIN file, then
changed to the new EPROM setting, plugged in an erased chip,
checked that it was indeed erased then pressed "P"
and magically it was programmed and validated.
Compared with my old Willem,
this new programmer was really simple to use. The Willem is fitted
with at least 28 switches and jumpers, some of which are undocumented,
and are therefore a bit of a mystery,,, and no provision for
being operated with wrong settings. |
 |
This is the Willem PCB45
program running on my Windows 7 PC. Not only will it not work
but error messages pop up when attempting to use it and the program
has to be forced to shut down using Task Manager. Note also that
the position of the chip is the opposite to that in the Xgpro. |
|
|
In summary then, I can
recommend the XGecuPro (or the MiniPro) if you need to handle
EPROMs, EEPROMs or even many PIC devices (these combine the microprocessor
AND its EEPROM in the same chip. When I get time I must investigate
the repertoire more fully... |
|
|