Parallel Port ATF and GAL Programmer

igal_proto.jpg

I created this project because I wanted to program some GAL22V10 and ATF22V10 programmable logic array ICs (which my so-called 'universal' programmer wouldn't program properly!). The hardware is a simplified version of Manfred Winterhoff's GALblast. I removed the parallel port buffers and replaced the DAC voltage generator with a fixed +12V regulator. Programming voltage is connected directly to the DC power jack and must be set manually, using a suitable regulated power supply (most GALs use +15V, but you should read the PES first to find out what voltage your chip needs). I modified the software so that it automatically switches the programming voltage between +12V and Vin (+13.5~16V) when writing to the chip. The modified program is called GALBLAT.EXE.

For Atmel ATF chips a different programming algorithm is required that I do not have any information about, so I was not able to add them to GALBLAT. Luckily someone has already produced a version which does work with Atmel chips, called ATFblast.exe. I found it in a post on the website zx-pk.ru. Atmel chips require the voltage to be switched from +5V to +11V for reading and writing. Both voltages are supplied by the on-board  regulators, so the power supply doesn't need to be regulated. 

Files for download (zip archives)
GALBLAT.EXE and ATFblast.exe  (applications for GAL and ATF)
GALBlat Source code (compiles with Borland Turbo C++ V4.5)
ATFBlast_ALL.zip (local copy of file found at zx-pk.ru)

The 'intelligent' programming circuit uses SW1 to ensure that programming voltage cannot be applied to the Edit pin until the software is running. Jumpers J1 and J2 set the low and high programming voltages depending on which type of chip (ATF or GAL) is being programmed. As the target IC may draw up to 120mA (typically 60~70mA), regulator IC2 should have a heat sink installed. I used resistor arrays to provide the pullups and puldowns, but discrete resistors will also work. Q1 and Q2 can be any general purpose transistors such as 2N3904 and 2N3905 or 2SC945 and 2SA1015. D1 should be a Schottky  type for low voltage drop. If you only want to program ATF chips then D1 and J2 are not required, and J1 can be replaced with fixed wiring.

igal.gif

The circuit below is a further simplified version for ATF chips. Programming voltage is switched on and off manually via the «EDIT» switch (SW1). A regulated 12VDC power supply is required. As with the 'intelligent' programmer, SW1 should be set to the low voltage position when powering up, then switched to high voltage once the ATFblast program is running.

minatf.gif

Here are the instructions for using the minimal ATF programmer, translated from the post at zx-pk.ru.

1. Run AtfBlast.exe, select LPT port and type of chip.
2. Plug GAL chip into programmer.
3. Connect power (+5V, +12V) to programmer.
4. Plug programmer into LPT port.
5. Turn «EDIT» switch ON.
6. Load JEDEC-firmware file.
7. Click «Write GAL». Answer "Yes" to "Unknown PES" requester.
8. Click «Write PLD» and wait until cursor changes back to an arrow (~30 seconds).
9. Click «Verify GAL». If verify fails then erase GAL and repeat steps 7-9.  
10. Turn «EDIT» switch OFF.
11. Unplug programmer from LPT port.
12. Disconnect power from programmer.
13. Remove the programmed chip.


[home] [electronics]