Schematics / Electronic Projects / Eprom Programmer Mark 2
Originally published by Paul Stenning in ETI, November 1994
A common requirement for the electronics hobbyist today is a cheap straight-forward EPROM Programmer, suitable for occasional use, without the extra features found on many commercial units. The EPROM Programmer presented here is designed to address these requirements, and can be used to program the standard 27 family of devices, from 2764 to 27512. It can be used with any IBM PC compatible computer as the controller and data source.
The 27 series family of EPROMs has now been around for many years, so long in fact that the smaller 24 pin devices in this family (2708, 2716 and 2732) are almost obsolete and are now more expensive than a 2764. For this reason it was felt to be unnecessary to accommodate these devices in this design since they would significantly increase the complexity.
The design presented here has avoided the usual "Catch 22" situation of requiring a programmed EPROM to make the EPROM programmer work, and the design uses readily available components to reduce the likelihood of obsolescence. The unit is powered from an external PSU, supplying +5V @ 200mA and +12.6V @ 200mA. A suitable design is featured elsewhere in this magazine.
The programmer itself is dumb and is controlled by the host computer via the RS232 serial port (COM1 or COM2). Device selection and operation mode is set by front panel switches.
The accompanying software is available on disk from the author. The software will operate on any PC running MS-DOS or PC-DOS version 3.0 or later and having at least 512K of RAM and one RS232 serial port. A hard disk and a colour monitor are strongly recommended. The software is written in Microsoft QuickBASIC V4.5, and the full source code is supplied for those wishing to enhance or modify it. This source code is also compatible with QBASIC, as supplied with MS-DOS 5.0 and later. You do not need QuickBASIC or QBASIC to use this disk. The disk also contains the software for a matching EPROM Emulator planned for publication next month. A description of the software operation is given later.
The unit may also be suitable for use with other types of home computer having an RS232 serial port, although this has not been tested and no software is available. It will definitely not work with Commodore Amiga computers, due to a peculiarity in the serial port handling.
Please note that the programming algorithm used may not be exactly as specified in some EPROM manufacturer's data sheets. Because of this, the unit cannot be guaranteed to program every device successfully, however no problems have been experienced to date.
How it Works
The circuit diagram is spread over a number of illustrations. Although it may initially look complex, it is in fact relatively straightforward. When a "-" follows a signal name (for example STROBE-), this shows that the line is active low. When a number is followed by an "h" this indicates that the number is hexadecimal.
The RS232 (serial) interface, buffering and clock are shown in figure *. IC3 (6402) is a UART (Universal Asynchronous Receiver/Transmitter) which basically converts serial data to parallel and vice-versa. The device supports most common serial data formats, in this application it is configured to give eight data bits, one stop bit and no parity checking. The data rate is set by the crystal controlled clock circuit (IC2), which in most cases will be set to 9600 Baud.
IC1 is the RS232 buffer, converting the 5V data from the UART to the +/- 10V RS232 standard, and vice-versa. This device contains a voltage doubler and voltage invertor circuit, producing +/- 10V rails from a single +5V input. The four external capacitors (C1 to C4) are required for these circuits.
A byte of serial data arriving on pin 20 of IC3 will be converted to parallel data, which will appear on pins 5 to 12. Pin 19 will go high, and no further data can be received until pin 18 is taken low momentarily. One gate of IC4 causes this to happen, R3 and C8 create a slight delay giving the STROBE- pulse adequate width for clocking other devices. When pin 23 is pulsed low, the parallel data on pins 26 to 33 is transmitted in serial form from pin 25.
advertisement
advertisement



