EEPROM Programmer


The EEPROM Programmer was designed to program the EEPROM for the Shark Scanner. The device to be programmed is the 28C64. This part is particularly easy to program because it runs with a single 5V power supply. Other programmable devices usually require some exotic voltages (like 17.5 volts, or even higher) that make the design of the programmer more difficult.

The programmer is controlled with a MacIntosh and the programmer software. As it now stands, this programmer is set up only for the Shark Scanner. You could easily change it to handle any other programming need. The Shark Scanner images themselves are stored as icons in the resource fork of the programmer program. That way, you can use ResEdit to create them.

There is code to rotate the icons 90 degrees since the Shark Scanner is a vertical display device. This code might be unneeded for other applications. The required sequence of output to the serial port is generated by the program.

The hardware contains an oscillator to that clocks a shift register. The serial input is sampled to detect the rising edge and delay it. The delayed edge is used to clock another sample of the serial input. This allows detection of short pulses as a '0', medium pulses as a '1', and long pulses as a 'write'. Since each bit command is so short (3 or 4 bits), we can cram as many of three of them into one character. The mark bit for each character starts the first bit command. The other bit commands require a '0' within the byte to start them. See the timing diagram. This circuit can be also be explained from the perspective of a UART.

The values of the resistor and the capacitor on the 555 timer chip need to be adjusted depending on the baud rate you run the port at.

The switch is used to allow safely inserting the EEPROM device into the programmer. That way glitches won't accidentally write the chip (or worse). You should run the programmer sequence once first to assure the EEPROM pins are all low. See the notes on the schematic.

eeprom programmer software


Return to Shark Scanner Page

Return to Bill Grundmann's Project Page