Sketch: adjust VPP for all GALs

Previously all GALs had their VPP (programming voltage) reduced by 2V.
That was based on old Afterburner design which did not have variable VPP
control. It was trivial to adjust and experiment with VPP by turning the POT.
The software for the new design uses the VPP information encoded in PES
to set the VPP voltage (except Atmel GALs where the VPP value was hardcoded
to be effectively 10V) programmatically. The reduction of VPP by 2V on
the new design works, but is just on the very edge of correct functionality.
For example undervolting the 10V VPP to 9.87V made the Atmel chip programming
unreliable (many verification errors). This change reduces the voltage
by 1V for all GAL chips, so for example Atmel GALs are programmed by 11V VPP
(instead of 10V as it was before). It should improve writing reliability
for all GAL ICs.

I have re-tested all types of GAL IC I have available, all worked OK
with this change. That means all operation worked correctly: erase, info,
read, write and verify. The IC that were tested are as follows:

GAL6001B-30LP
GAL6002B-15LPN
GAL20V8B-15LPN
GAL26V12C-15LPN
GAL22V10B-25LP
GAL22V10D-10LPN
GAL18V10B-15LP
GAL18V10B-20LP
GAL16V8D-25LP
GAL16V8B-15LJI
ATF750C-7PX
ATF22V10C-15PU
ATF22V10CZQ-20PU
ATF16V8BQL-15PU
ATF16V8B-15PU
ATF16V8C-7PU
ATF16V8CZ-15SU
This commit is contained in:
ole00 2024-02-05 22:52:49 +00:00
parent 0cb6434aea
commit fab07e57fd

View File

@ -1274,7 +1274,7 @@ static void setGalDefaults(void) {
if (gal == ATF16V8B || gal == ATF20V8B || gal == ATF22V10B || gal == ATF22V10C) {
progtime = 20;
erasetime = 100;
vpp = 40; /* 10V */
vpp = 42; /* 10.5V */
} else {
progtime = 80;
erasetime = 80;
@ -1365,8 +1365,8 @@ void parsePes(char type) {
}
}
//Afterburnes seems to work with programming voltages reduced by 2V
vpp -= 8; // -2V
//Afterburnes seems to work with programming voltages reduced by 1V
vpp -= 4; // -1V
}
// print PES information