zondag 16 november 2014

EEPROM programmer using Arduino

Introduction

Don't want to pay a lot of money for an EEPROM programmer? Build it yourself using an Arduino!

So what components do you need to build a programmer for 8KB EEPROMs (type 28C64):
  • a breadboard (830 pins)
  • ZIF Socket (28 pin) to hold the EEPROM
  • 2x 74HC595 8-bit shift register
  • 2x 10Kohm resistor
  • an Arduino 
  • wires (different colors)
  • USB cable to connect the programmer to a PC
  • a program for the Arduino
  • a client program for reading, and one for writing
All project files can be found in this online folder.

What I would like to achieve is that a binary file (8KB or less) on a client, in my case a Windows 7 laptop, is programmed into the EEPROM with a single command. 
Also, with a single command, I would like to copy the entire contents of the EEPROM in a binary file on the client.
So how does it work?

The arduino is running a program that listens to the serial port, waiting for 2 commands: Write to EEPROM and read from EEPROM 






For the (windows) client, I wrote two PowerShell scripts, one for reading


and one for writing


The read script receives a continuous stream of all 8192 bytes from the Arduino and store it into the specified file.

The write script sends the input file in blocks of 1024 bytes to the Arduino (due to RAM limitations on the Arduino) and waits for the signal that all bytes are programmed into the EEPROM.

Design

The schematic below shows how the different components should be wired.


Build


Future work:

  • The EEPROM programmer that I describe above is fully functional, but programming could be made a lot faster. The EEPROM programming cycle takes 5ms and currently this is done per byte. The EEPROM can also do 'page writing' where 64 bytes are programmed in a single cycle.
  • Soldering the circuit on a protype board.



Geen opmerkingen:

Een reactie posten