From fab07e57fdfb3f7ba3d490e23f05de82231bdb98 Mon Sep 17 00:00:00 2001 From: ole00 Date: Mon, 5 Feb 2024 22:52:49 +0000 Subject: [PATCH] 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 --- afterburner.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afterburner.ino b/afterburner.ino index 4ab7973..308386a 100644 --- a/afterburner.ino +++ b/afterburner.ino @@ -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