Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
This is something that can be easy or hard to get depending on how precise you want to be. Sure, there are dozens on EEPROM programmer schematics out there on the Net, but you see, each vendors have different programing specs for their EEPROM.
You *could* program an EEPROM with a generic programming algorithm, but the problem is that as soon as you don't follow the exact timing specs and voltage level for that specific chip, you're not garanteed that the programing will stay inside the EEPROM.
There is no such thing as a standard programing algorithm for a specific EEPROM family. Ok, the pins are the same, and the sequence in which you program it is the same, but the timings and voltages are different for almost every vendors, and even for two EEPROM revision af the same vendor.
For example, if a specific program (hobby program/schematics found from the Web) program all EEPROM, let's say, with 12.5V VPP and 5V VCC, and it happen that the manufacturer rate his device programing voltages to 13.5V Vpp and 5.6V Vcc, the program may well program. It will read back perfect and work great in-circuit. Many people (including some small companies) have done that. But a few months later, some customer call back and say 'Hey, my gizmo doesn't work anymore...' They send it back to the company and the company trace the problem to EEPROM corruption. After a few customers complains, the company call the manufacturer of the EEPROM and complain about bad EEPROM batch. Since the manufacturer garantee a programing retention of 20 years, they swap the EEPROM.
Manufacturers have realized, from the time, that the problem really come in the first place from a bad programmer. And this is why today, there are a lot of company that now keep the programing specs private For EEPROM, we, hobbyist, can still program them, for home projects, as the programing is similar enough across all EEPROM, but for all the PLD, we're stucked. Though you may get cautious there, aspecially for the smaller EEPROM (2732, 2764). Some have Vpp of 21V, some have 12.5V. Your programmer need to be aware of that unless you want permanent EEPROM programing to all-FF
So, finding generic programing algorithm is easy. Finding specific algorithm for a specific EEPROM, for a specific revision is almost impossible due to two things:
- Manufacturers often doesn't give algorithm anymore due to the fact I explained (unless it's old stuff).
- Many of the EEPROM that you find, for example, from scrap board, for zippo, are no longer supported by it's manufacturer.
Well, I was faced with the same problem too, and the easiest way (if you can call it that way...) I found is to reverse-engineer commercial programing software. After lot of work, I managed to understand the structure of the SuperPro III programing algorithms. This one is fun as each algorithms are in separate files (exe or dll renamed to .sp3, depending on if the programmer software is for DOS or Windows). And once you've reverse-engineered an algorithm file, all the others have the same structure For this though, you do need good experience in disassembling, reverse-engineering and analitycal skills.