The inverters are important because data back to the computer goes through them. On Willem/PCB3, only one inverter is used. On PCB3.5 and variants, 3 are used.I ve figure it out, it was the sn 74hc54 which i ve replaced and it get recognized.
This is a weakness for programmers that use 74HC04 because it's CMOS driving a potentially high capacitive load. Willem used CD4049 which has higher drive capabilities. 74HC540 should be okay because it's a buffer.
That still doesn't explain the initial test results you saw.
I was never curious about what the "Test Hardware" feature did before working on your problem. I monitored the pins on the ZIF socket and saw that it sets some of the data lines high and reads the data back. VCC is is enabled so briefly that I wouldn't have known that it was enabled if I didn't have a relay for switching VCC and I heard it click. I suspect this is done to handle a device being in the ZIF socket when the test is being run.
On a side note, the power generation part of your programmers is a weak point. The group that designed the first Willem programmer didn't understand the importance of using the correct voltages. Most programmers using a switching regulator to generate VPP are deficient at 21V and 25V. This is due to inappropriate inductor and/or freewheeling diode components. Some use inexpensive molded inductors. Others use a signal/rectifier diode instead of a Schottky diode. Blank checking is done at the wrong voltage (should be around 4.2V). How they generate voltages above 5V is a hack. Some insert a diode in series with the 5V supply to generate a "low voltage", but that always makes me cringe. Putting a non-linear device on the output of a regulated voltage is wrong. The diodes put in series with the ground terminal on the 5V regulator is also wrong because that regulator wasn't designed to have a "stable" quiescent current, so voltage changes with load. And they're not the correct voltages (should be 6V or 6.25V, not 5.65V or 6.3V). LM317 (used on Willem 4.0 and 4.1) were designed to minimize changes in quiescent current and proper selection of the current setting resistor further minimizes the impact of the small change.
All but the Willem 4.1 will have problems with NMOS devices, higher capacity CMOS devices, and low voltage (3.3V or less) devices.
Willem and I started addressing this on the Willem 4.0. On the 4.1, we addressed the remaining issues: voltage drop on VCC with "high" current requirements and low voltage operation. I modify my programmers to give a variable voltage option so they can check for sufficient program and erase margin.
Your programmer may have a low voltage option, but it's not implemented correctly.
I don't think any of the program versions I've used are programming correctly. I overcome this limitation by programming with VCC=6.25V and doing verification at 6.25V, 5V, and 4.2V. I also do blank verification at 4.2V (as recommended by ST Microelectronics).
I'd be glad to discuss this, and anything else you want to know, if you're interested.
Your welcome.Thanks for all your support dennis i been reading your posts at ezoflash for a years i appreciate your knowledge and expertise.
I was active on willem.org because Willem asked me to be a moderator. I stepped away after Willem passed away. Ezo recovered some of the stuff from willem.org and invited me to join his forum, but I decided that I'd had enough.
Someone on this forum asking for help on a Willem programmer is why I joined this forum.
It's nostalgic for me to use EPROM and EEPROM products because I worked at the company that invented the EPROM. 2764 was state-of-the art when I joined, and CMOS variants were just being developed. I worked in the division that designed them.
EPROMs are the result of a layout mistake.
Merry Christmas!
Last edited:
