I bought a Willem programmer around 2005, despite reading
quite a few comments on how confusing this programmer was. And indeed, the
manual is no more than some notes taken during its development process. Nevertheless,
this is a VERY fine piece of hardware. There’s almost no Eprom, Eeprom or Flash
that it cannot deal with. Many of the Chinese-built eprom programmers today are
either clones or revisions of Willem designs. There’s a lot of practical
know-how that goes into eprom programmers and Willem was quite the man in this
field. Just not a manual writer, clearly.
So – respect to the Willem programmers! Below are two
sections. First, an overview of the jumpers and switches. Secondly, some
settings that worked well for me programming various eproms.
Note: all of this pertains to the Willem v4.1, the desirable
version when dealing with very old power-hungry eproms because it has a power
supply independent of the PC. Willem versions that take their power from the
USB port are less ideal (or may not work, depending on what forum you read) for
2716s and the like, with their high programming voltages and current draws.
Note 2: I’m a hobbyist, not an electrical engineer. Worse, I
am an economist. No guarantees… If any errors in the text below cause
damage to your Willem, consult your lawyer.
A. The board and its jumpers
The Willem 4.1 uses an external power supply. According to the manual, the power supply should be an unregulated 12V supply, 0.5A, that actually should output something like 16V. Anything between 15 and 20V should be fine. What the manual does not say is that the supply voltage should be much higher if you want to burn old 2716 eproms. For them to be burned successfully, I needed to raise the power supply to 32V. That should be fine, the LM 357 regulators can deal with anything up to 40V.
In short, I use a variable lab power supply that feeds a regulated 15V for programming
anything normal (and found out that at 13.8V, burning a 27256 is not reliable).
For old Eproms that require a 25V Vpp (the 2716), I raise it up to 32V.
Below is a picture of the board describing all the switch
and jumper locations (click to enlarge):
(1) Read
& Write voltages
For very old Eproms, a 21V or 25V programming voltage (Vpp)
is required. You can set 21V here, and for me, that also worked successfully
for 25V parts (using the power supply settings described above). For anything
else, Vpp=12.6V is the default.
Vcc is the reading voltage; 3.3V for newfangled things but 5V
for anything normal. To the best of my knowledge, the third option of 6V is a
desperation setting: for use in cases where the Willem is struggling with its
tolerances. Maybe with hugely power-draining old eproms where there’s a power
drop. Whatever. Never needed it.
(2) High
Address Jumpers
This block actually contains two different functions, which
is confusing. The top 4 pins are only necessary for large TSOP ICs that are
programmed through a ZIF-TSOP adapter board. These pins provide a connector
with the upper address lines not found on the ZIF socket. In other words:
forget about them.
The bottom 3 pins interact with jumper (3), which is also
confusing. Basically, here you select whether A18 or A19 should be sent through
jumper (3).
(3) Vpp
or A18/A19
Choose whether Vpp or an address line is connected to the
ZIF socket. Which address line? A18 or A19, depending on the bottom 3 pins of
(2). This is about 27c040s (pin 1 is Vpp), 27c080s (pin 1 is A19) and 27c801s
(pin 1 is A18). The default – for instance, any 28-pin device – is to set this
to Vpp by jumpering the bottom two pins.
(4) Transistor or Relay
Normally, a transistor drives Vpp and that’s the default.
But power-hungry old eproms can demand more current than the transistor can
drive. In that case, you select the relay instead. The relay was an option, but
seems to be standard on all 4.1 boards I could find on the internet.
(5) Main
DIP Switch settings
In the Willem software,
select the device you want to program, set the dip switches as per the onscreen
example. Some Willem versions have the DIP switch upside down, and the software
can toggle between and upside-down and a normal view. Do make sure you set the
onscreen example to count from 1 to 12, and not from 12 to 1. You can flip
between both views; in the icon-bar, you want to see PCB3 and not Willem.
(6) SF Erase
Set to Normal
(jumper bottom 2 pins) unless you want to erase Serial Flash devices.
(7) Mystery
jumper (to me at least)
(8) 24
Pins & 82 Type IC jumpers
This is a block of three separate jumpers.
The top two pins should only be jumpered to enable
programming of 82 type devices.
The following three pins allow older 24-pin ICs to be used
(jumper top 2). Jumper the bottom 2 to do anything else than 24-pin devices.
The last three pins distinguish between different types of
24-pin devices. For 2716s, jumper top 2 pins to make pin 21 Vpp. For 2732s, jumper
bottom two pins to make pin 21 offer A11. That is also the default setting for
anything else.
(9) Vpp
Disable
This acts as a write-protect: remove the jumper and Vpp will
not reach the eprom. Leave it on if you want to do any programming.
B. Settings that I used successfully
Appendix: Preparing the parallel port
This is described in the manual, but just in case you have
trouble getting the Willem to talk on the parallel port: assuming you use an
Windows XP machine, apply the Polling registry tweak. Then, check the PC BIOS
settings. The parallel port needs to be set up for 'ECP/EPP'. Make sure no LPT
printer drivers are running.
The PCB6 edition of the KEE Willem programmer works very well for 28F020 chip with included adapter. It took me awhile to get everything setup to work with Win7 64bit home-built computer, Rosewell PCIe add-in parallel port card. Review jumper settings: J1 toward "bottom" position, J2 to "top" position, J3 to bottom of card, J4 to EPROM side, J5 closed, J6 toward "bottom" of card, J7 toward "top" of card, J9 closed. Printing in PLCC adapter in same orientation as printing on card, in the EPROM chip holder. I used an external 12V supply. Fiddling around with software, I ended up with the 64bit "workaround" provided on the CD that comes with the card, augmented by Downtown Doug Brown's notes. I also installed/built the Linux geepro counterpart and got that working as well. Green EPROM LED comes on with power supply. Yellow PROG LED lights during PC boot (I assume when the computer is testing the parallel port for attached hardware) and when there is chip programming activity.
ReplyDelete