Skip to main content

EEPROM Programmer

So, I'll be needing an EEPROM programmer in order to actually provide some startup software for my Z80 computer. I intend to make one using a set of shift registers, and a couple optoisolators, so that I can use any microcontroller with 8 I/O pins (7 output, 1 input), assigned as follows:

Input:
1 = Data Read

Output:
1 = Address/Data Write
2 = Shift
3 = ~WE
4 = ~CE
5 = ~OE
6 = ERASE/VPP (EEPROM/EPROM)
7 = Read Data

The design will be as such that any microcontroller that uses either 3.3V, or 5V I/O can safely operate it. An interesting design requirement involves needing to have either 3.3/5V or 12V sent to the ~OE pin of an EEPROM, as the 5V signal is used to read from it, but the 12V is required in order to erase it. A possible solution will be to use a diode to prevent the 12V signal from feeding back to the microcontroller, and an optoisolator to gate the 12V to the same pin during an erase cycle.

To obtain the 5V and 12V power rails, I will use a simple regulated 12V wall-wart adapter, and use a 7805 (5V regulator) on the 12V line to attain a 5V rail for the main systems.

As a safegaurd agains unintentional erases, I plan to have a 'dead man' switch between the 12V rail and the optoisolator that connects to the ~OE pin, so that both the controller has to be running an erase cycle, and the operator has to press down the switch during the (short) erase cycle.

Comments

Popular posts from this blog

HP-125 Floppy Drive Emulation

A 'back burner' project I have in mind is to repair an old HP-125 computer I picked up at a thrift shop quite a while ago. This computer has no onboard storage drives, instead coming paired with an HP-82901M floppy drive unit , which communicates over HPIB/GPIB/IEEE-488 (whatever you want to call it). These drives are either pure unobtanium, or are downright bankrupting, so I need to find a way to emulate it. My requirements are as follows: Standalone operation, not requiring another computer to emulate Low cost parts, or using mostly parts I have on hand (Optional) Multiple uses, I don't want this to be a one-trick pony While I've learned how the GPIB protocol works, I have no idea what the command set is that either the HP-125 and/or HP-82901M speaks. I've found mention of the HP-82901M using the Amigo command set, as introduced with the HP-300 "Amigo", on this page about emulating an Amigo-compatible drive with a modern PC . That project requir...

EEPROM Programmer Pt.2

I have decided to revisit my earlier plan of making an EEPROM programmer with as few I/O pins required as possible. I have decided to abandon that requirement in favor of making something functionally complete with a minimum of software development required. I'm using an Arduino Mega as the programming controller, with the sole reason being the large amount of I/O pins available. Rather than reflashing the controller every time an EEPROM needs to be rewritten to hold a new program, I've implemented a method to send the desired program over a serial connection, and program the EEPROM in 128-byte chunks. This is done via the Xmodem protocol, which allows for a pause between packets to allow time for programming 128 bytes at a time, before requesting the next packet. Due to the variant of EEPROM I have, a 12V level signal needs to be applied to the /OE pin in order to enable a full chip erase. This 12V line will be handled by an opto-coupler, and a momentary pushbutton acting ...

Introduction

This blog is intended to showcase my electronics and computer projects, as well as educating about related concepts. I currently have an ongoing project consisting of an 8-bit computer I call Zephyr (because I'm bad at coming up with names). Details as follow: CPU: Zilog Z80 rated to 10MHz (Currently running at 625KHz) Memory: 8KB of ROM, 32KB of RAM with room for expansion I/O: Serial Currently it doesn't do anything since I need to create an EEPROM programmer, which I plan to make using shift registers and a controller of some variety. I also have plans to create another 8-bit computer project called CosNaut (Again, bad at names) using an RCA 1802 'COSMAC' CPU, though anything else is not set in stone. Will post updates as necessary.