ole00 / afterburner

GAL chip programmer for Arduino
154 stars 43 forks source link

afterburner

GAL chip programmer for Arduino Board image

This is a GAL IC programmer software that allows to program GAL IC chips from various manufcaturers. It is based on work of several other people:

Bruce Abbott: https://web.archive.org/web/20220121030038/http://www.bhabbott.net.nz/atfblast.html

Manfred Winterhoff: http://www.armory.com/%7Erstevew/Public/Pgmrs/GAL/_ClikMe1st.htm

Yorck Thiele: https://www.ythiee.com/2021/06/06/galmate-hardware/

Michael Dreher: https://github.com/nospam2000/afterburner.git

Marcelo Roberto Jimenez: (JTAG player) https://github.com/mrjimenez/JTAG

whitequark · it: (ATF150X jed to svf tool) https://github.com/whitequark/prjbureau

OpenOCD: (svf to xsvf tool) https://github.com/arduino/OpenOCD/blob/master/contrib/xsvf_tools/svf2xsvf.py

who did the most of the hard work of deciphering and publishing the programming protocol of these chips. Some of their early programs were Windows based and relied on presence of parallel port (LPT). Afterburner was written for Linux OS (also works on Win32/64, Mac OSX64), and requires serial connection to Arduino UNO, which does the programming of the GAL chip.

Update: ver.0.6.0 added experimental support for ATF1502AS and ATF1504AS. Only identify, erase and write commands are supported. Read function is unsupported. Verification is usually done automatically - it is a part of the .xsvf JTAG file which is used when writing the design. See Discussions for more information

Update: ver.0.5.8 improved calibration alogrithm and resolution for mcp4151 digi pot. Please re-calibrate your Afterburner as the previsouly stored calibration data are invalid.

Supported GAL chips:

Atmel Lattice National ST
16V8 ATF16V8B, ATF16V8BQL, ATF16V8C GAL16V8A, GAL16V8B, GAL16V8D GAL16V8 GAL16V8
18V10 - GAL18V10, GAL18V10B[1] - -
20V8 ATF20V8B GAL20V8B GAL20V8 -
20RA10 - GAL20RA10, GAL20RA10B - -
20XV10 - GAL20XV10B - -
22V10 ATF22V10B, ATF22V10C, ATF22V10CQZ GAL22V10B, GAL22V10D - -
6001 - GAL6001B - -
6002 - GAL6002B - -
26CV12 - GAL26CV12B[2] - -
26V12 - GAL26V12C[2] - -
750 ATF750C - - -
150X ATF1502AS, ATF1502ASL, ATF1504AS, ATF1504ASL[2][3] - - -

[1]: requires PCB v.3.1 or modified PCB v.3.0 - see Troubleshooting
[2]: requires adapter - see gerbers, pcb and img directory
[3]: also supports 3.3V ATF1502ASV and ATF1504ASV when Arduino IOREF is 3.3V (ARM or ESP32 based Arduinos or Arduinos with IOREF 3.3V switch)

[-]: - represents either this combination does not exist or hasn't been tested yet. Testers are welcome to report their findings.

This is a new Afterburner design with variable programming voltage control and with single ZIF socket for 20 and 24 pin GAL chips. The PC software is backward compatible with the older Afterburner desgin/boards. You can still access the older/simpler design here

The new design features:

Drawbacks compared to the old Afterburner design:

Setup:

When using on-board voltage booster:

Calibration steps are the same as for MT3608 module with these differences

GAL chip operations:

How aferburner works:

PCB:

The new design no longer has an etched PCB design available. The most convenient way to get the PCB is to order it online on jlcpcb.com, pcbway.com, allpcb.com or other online services. Use the zip archive stored in the gerbers directory and upload it to the manufacturer's site of your choice. Upload the afterburner_fab_3_0.zip and set the following parameters (if required).

Soldering steps:

MT3608 modules:

Troubleshooting:

Other GAL related links: