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.
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
Post a Comment