This project is a simple EPROM emulator. If you're developing some kind of microprocessor based gizmo and the code is stored in EPROM, then you can connect this emulator to your board in place of the system's EPROM. Then connect the EPROM emulator to the parallel printer port of any standard PC, and you'll be able to download code to your system under development in a matter of seconds. It beats erasing and burning new EPROMS all the time while you're writing the firmware, and it's a lot cheaper than a real in-circuit emulator for the microprocessor.
It also isn't a new idea, and if you surf the web you can find plans for dozens of similar devices. I decided to build this one while I was working on the SBC6120 because all of the existing designs emulated a single byte-wide EPROM only. That's fine if you're developing with an eight bit micro, but if you want to use something with a sixteen bit bus (or twelve bits, in my case!) then they won't do.
This design emulates two separate 32K byte/256K bit CMOS EPROMs (i.e. 27C256s) with only the caveat that the EPROMS must share common address (i.e. A0..A14) connections. This design trade off was to economize on the number of address MUX chips needed by the emulator. The chip enable (CE) inputs of the two EPROM do not need to be common, and naturally all eight data outputs of both EPROMs are completely independent. This allows memory configurations of either 32K by 16 or a 64K by 8 to be emulated.
A second pair of DIP24 sockets are also provided to allow smaller EPROMS, either 8K byte (27C64) or even 2K byte (27C16), EPROMs to be emulated. And, of course, there's no rule that says you must use both EPROMs, so you can always use this board to emulate a single, byte wide, device if you like.
As a final feature, this board also provides two RESET outputs, one active high and the other active low, which can be connected to the target system. This allows the target microprocessor to be held in the RESET state while new code is being downloaded, which prevents it from executing random garbage while the program memory is in a state of flux. The RESET output is automatically de-asserted as soon as the download is finished, which provides a clean start for the target system.
This project includes software for MS-DOS or Microsoft Windows which is able to:
There's no reason why this software couldn't be ported to other PC operating systems as well - send us an email if you're interested.
Visit these Spare Time Gizmos
Copyright © 2000-2006 by Spare Time Gizmos. All rights reserved.
October 05, 2011.