It can be seen from the above that most of the pins are the same for all devices. Only 5 pins require special attention, these are 1, 20, 22, 26 and 27, and are marked with a "#" next to the pin number.

Pin 26 is not used on the 2764 and A13 on the other devices, since A13 is outside the addressing range of the 2764 there is no problem leaving it connected to Pin 26 when handling these devices.

SW2 selects which signals arrive at the other four pins. This can be followed through with the circuit diagram and the table above - and does not need a tedious description from me. Note that 2764 and 27128 share the same switch position.

SW3 selects either Program or Read mode. With this switch in the centre (Off) position the EPROM receives 5V power only and can be safely removed from the socket (SK2).

Counters IC5 and IC6 are connected to the EPROM address lines, and are arranged to increment each time a byte of data is received. I will describe the full operation sequence for both Read and Program modes shortly.

IC7 is a tri-state buffer and is enabled in Program mode only. In this mode it connects the received data from the UART to the EPROM. Although the 74LS245 is bidirectional, in this application it operates in one direction only because pin 1 is permanently connected to 0V.

OK, it's time to own up! The circuitary around IC10, TR1 and TR2 is an afterthought. If you look at the internal photo of the prototype you will see the Veroboard (don't worry, the current PCB is correct). I missed the fact that 27256 and 27512 EPROMs need a supply of 6V instead of 5V when programming.

Since there are no spare sections on SW3, I am using the section that connects the programming pulse to pin 20. If the unit is switched to Read, or to Prog and 2764/27128, pin 20 of the socket will be low. If it is switched to Prog and 27256 or 27512 it will be high, except when actually programming in which case it will be high with the 1ms negative going programming pulses. This high level turns on TR1 via R17. TR1 discharges C19, which will not charge significatly during the 1ms periods when TR1 is off. This low level keeps TR2 off, allowing R13 and R14 to bias the GND pin of IC10 to about 1.2V, giving an output of about 6.2V. When Pin 20 is low, TR2 is off and TR1 is on. The GND pin of IC10 is therefore connected to 0V, giving an output of 5V.

I chose 6.2V because some devices need 6V while others need 6.25V, in either case the tolerance is +/- 0.25V. The voltage tends to drop slightly on load due to the varying current from the GND pin of IC10, so I tended towards the high end of the acceptable range. Some EPROMs draw 100mA or more, so a 1A regulator IC was chosen in preferance to a 100mA part. IC10 draws it's power from the 12.6V programming supply so this should be suitably rated.

Assume that SW3 is in the Read position. When a byte of data is received, it appears on lines R0-R7, and the Strobe- line pulses low as described previously.

Note that in Read mode the actual value of the byte received is irrelevant, since IC7 is disabled. However the receipt of a byte causes the unit to send a byte, which is what we need.

Since the Prog- line is high, pin 13 of IC4 will be held high by D3, so the Strobe- pulse will have no effect in this section of the circuit. This arrangement of diodes on the input of an invertor gate produces a NOR function.

The Read- signal however is low, so the Strobe- pulse will pass through D5 and the two gates of IC4, arriving on pin 8. PP- is currently high (I'll explain this line in a moment), so the Strobe- signal will appear inverted on pin 4 of IC4. C14, R11 and D9 act as a basic monostable, giving a very brief negative going pulse on the Send- line as IC4 pin 4 goes low.

This Send- pulse causes the UART (IC3) to transmitt the data on it's pins 26-33. These pins are connected to the EPROM data pins, so the data transmitted is that contained in the current EPROM address. RN1 holds the lines high if no EPROM is fitted, since IC3 is a CMOS device.

Paging Previous 1 2 3 4 5 6 7 8 Next



Back to Top