As I understand it, you can make a pretty efficient EEPROM burner from a Teensy 2.0++
In fact, I just used one to program some NAND flash chips to downgrade a PS3 two days ago.
Anyway, since my 3 PS3s are all downgraded now, I have no real use for the hardware anymore, but I just remembered that I have a GQ-4X that struggles to program anything that isn't a standard AMD EPROM (god help you if you try to do an PSOP44 EEPROM).
So, I still have all my sockets (TSOP48 and PSOP44), and I want to make my Teensy into a programmer to deal with these less cooperative flash chips.
Where can I learn about how to do this, or better yet, has someone already invented this wheel and maybe I can be directed to a hex file for my teensy?
Teensy 2.0++ As an EEPROM burner/reader?
Moderator: Moderators
Re: Teensy 2.0++ As an EEPROM burner/reader?
Every chip has a different way of negotiating how to write values.
For example, (since I remember them off the top of my head):
- The CAT28C64 looks like an 8 KiB SRAM, except that it strongly encourages you write pages of 16 bytes at a time (or else it'll be 16x as slow)
- The AT28C64 looks just like an 8 KiB SRAM.
-- For both of those, after you write a byte (or 16), you should read from it until it tells you it's done.
- The M27C1001 requires that you drive the Vpp pin to 12.75V while you drive the address and data lines to the desired value and then strobe /E and /P low, alternating with reading from the 'PROM until you see the value you want appear ... and then writing it a few more times.
- Older 27 series ICs, such as the AM27C256 instead requires that you toggle the /OE/Vpp line between 12.75V and ground but are otherwise similar.
Basically, it will be a fairly straightforward project to write microcontroller code that will flash any single-voltage ROM, such as the 24, 25, 28, 29, 35, 39, 49, or 93 series. I wrote one that would flash the AT28C64 in about 30 minutes, with another 90 minutes of wiring.
However, 27 series parts will require a lot of extra hardware to do voltage translation.
For example, look for a disassembly of the autoelectric.cn MiniPro programmer. It's a modern USB-based programmer that uses a PIC18F87J50, not very different (although a LOT more pins) from a random Teensy.
For example, (since I remember them off the top of my head):
- The CAT28C64 looks like an 8 KiB SRAM, except that it strongly encourages you write pages of 16 bytes at a time (or else it'll be 16x as slow)
- The AT28C64 looks just like an 8 KiB SRAM.
-- For both of those, after you write a byte (or 16), you should read from it until it tells you it's done.
- The M27C1001 requires that you drive the Vpp pin to 12.75V while you drive the address and data lines to the desired value and then strobe /E and /P low, alternating with reading from the 'PROM until you see the value you want appear ... and then writing it a few more times.
- Older 27 series ICs, such as the AM27C256 instead requires that you toggle the /OE/Vpp line between 12.75V and ground but are otherwise similar.
Basically, it will be a fairly straightforward project to write microcontroller code that will flash any single-voltage ROM, such as the 24, 25, 28, 29, 35, 39, 49, or 93 series. I wrote one that would flash the AT28C64 in about 30 minutes, with another 90 minutes of wiring.
However, 27 series parts will require a lot of extra hardware to do voltage translation.
For example, look for a disassembly of the autoelectric.cn MiniPro programmer. It's a modern USB-based programmer that uses a PIC18F87J50, not very different (although a LOT more pins) from a random Teensy.