Well, I am stumped here. I have been fighting with this for a while and I can't figure
it out...
I use an old Needham's PB-10 EPROM programmer. Best device programmer ever, as far as
I'm concerned. It's fast, reliable, and the software is so nice and easy to use.
Only problem - it's old, and doesn't support 16 bit devices. I really need to be
able to program 27c160 and 27c322 devices.
So, I built an adapter. I bought a 16bit adapter intended for those cheap and nasty Willem
programmers. I made some minor modifications to use it with my Needhams, and added toggle
switches for the upper address lines. Now, I can program larger devices in chunks. This
worked perfectly for the couple of chips I had at the time - two 27c160's and two
27c800's.
So, I bought more chips. 27c160's and 27c322's. The 27c322's work flawlessly.
I can program them in four passes, the programmer thinks it's programming a 27c080.
But 27c160s... I am having horrible luck with them. A couple out of the batch programmed.
The rest did not. I was able to fill them with zeroes, but couldn't program data - it
kept erroring out at various stages. Tried erasing/reburning, same thing. Finally got fed
up and bought another batch from a different seller, assuming I just had some bad ones.
Nope. SAME problem. I noticed a pattern:
On chips with a date code before about 2000, the die is larger, and none of these want to
program. On chips with a date code after 2000, the die is smaller, and some of them
program perfectly, others get most of the way through before erroring out.
In all cases, I'm working with ST brand chips - I haven't found any other
manufacturer available.
So, carefully reading the datasheet, I notice that the 27c160 wants a program pulse of
50us. The chip that the programmer thinks it's programming, a 27c040, uses a
programming pulse of 100ns. The programming waveforms between a 27c160 and a 27c040 look
the same to me, besides that. But it would seem that my problems lie with the waveform
being incorrect, and newer chips being less picky about it than the older chips of the
same part number.
Now, I'm stumped. I *really* want to make this programmer program these chips. It does
everything else properly, including program 27c322's with this adapter. Now, I know
the adapter is wired correctly, because I have programmed newer rev 27c160's properly,
and they have worked perfectly in their intended purpose. The adapter is wired up such
that in 27c322 mode, the programmer is used as if it were a 27c080, and in 27c160 mode the
programmer is used as if it were a 27c040. I did it this way due to the pinouts of the
devices and the required programming algorithms.
Basically, I am wondering if any of our resident gurus have seen behavior like this with
EPROMs, and if there may be anything I can do to shorten pulses, buffer, or something to
get this to program... or, if anyone just *happens* to have the source code to the EMP
software laying around somewhere...
Yeah, I know, long shot.
Failing that, does anyone have a suggestion of an EPROM programmer that I can buy that
will program 27c160's. Preferably something that can be operated from DOS over a
parallel or serial port, or better yet, an ISA card.
-Ian