E PROMER part-1

1. Introduction



This text is another topic about EPROM programmer (eprommer). But this time, the eprommer can be used to burn the range type of EPROM (2716 ~ 27512 types). The algorithm is the implementation of the standard EPROM programming algorithm and intelligent EPROM programming algorithm.Original version run on an amiga computer, and developed by 3 person. Version 1 (1989) made by: Bob Blicks (original design), version 2 (1990) changed by: Udi Finkelstein, and version 3 (1992) changed by: Carsten Rose. I got the last version that run on amiga. Now I change it to run on IBM PC compatibles. The circuit is look like this (changes was made according to the computer's LPT parallel port, because amiga's not compatibles). 
An Embedded Software PrimerC++ Primer (3rd Edition)
click the image for zooming



Embedded Linux Primer: A Practical Real-World ApproachPROMER Street Sign ~ Personalized Family Lastname Sign ~ Gameroom, Basement, Garage Sign Novelty** ALUMINUM METAL - 9 x 36 inches

The circuit works in semi-auto process, because it needs a jumper for each type of EPROM. I called it as PIE (Pin Identification of EPROM or Personality Identification module of EPROM). Use a 16 pin IC socket

click the image for zooming





C++ Primer (3rd Edition)

2. Details

        To make the circuit run on IBM PC compatibles LPT parallel port, some changes must be made, because amiga's LPT port not compatibles with this one. I have selected this bits and the changes are like below :
      PURPOSE               IBM PC's LPT parallel port               Amiga's LPT port
   1. Decoder activated     PC-3 = Select-in (Inv.), pin 17          Sel., pin 13
   2. Data byte             D0 ~ D7, pin 2 ~ pin 9                   D0 ~ D7, pin 2 ~ pin 9
   3. OE activated          PC-2 = Init (normal), pin 16             Busy, pin 11
   4. PGM activated         PC-1 = Auto-feed (Inv.), pin 14          Pout, pin 12
   5. Common ground         GND, pin 18 ~ pin 25                     GND, pin 18 ~ pin 22
   6. Card identify 0       PS-7 = Busy (Inv), pin 11                not implemented
   7. Card identify 1       PS-3 = Error (normal), pin 15            not implemented
   8. Hardware trigger      PC-0 = Strobe (Inv.), pin 1              not implemented
      (for next expansion)
   9. Hardware programming  PC-4 = IRQ-7 enable (normal)             not implemented
      (for next expansion)
  10. Read option           PC-5 = bi-directional enable             not implemented
Note that item 8 and 9 are for the next expansion and used to do the option of programming with used hardware delay time (hardware triggered at IRQ-7, printer interrupt). This option is used to study and for comparison only, beside that adding this option will add more cost. I did not implemented the hardware anyway. Beside that PC already has the very exact hardware timer (PIT), so we can used it and only needs some programming techniques, used interrupt IRQ-0.
The circuit working algorithm is like this :
  • Stuff data byte for latch address decoder lo (loaddr = 0, hiaddr = 1) + Vpp for each EPROM mode to DP port.
  • Activated SEL hi (pin 11 decoder = 1) to PC port, data byte for latch address lo stuff in to Vpp decoder.
  • Stuff EPROM address data byte lo to DP port.
  • Deactivated SEL lo (pin 11 decoder = 0) to PC port, EPROM address data byte lo stuff in to address decoder lo and Vpp decoder data not changed (keep).
  • Stuff data byte for latch address decoder hi (loaddr = 1, hiaddr = 0) + Vpp for each mode to DP port.
  • Activated again SEL hi (pin 11 decoder = 1) to PC port, data byte for latch address hi stuff in to Vpp decoder.
  • Stuff EPROM address data byte hi to DP port.
  • Deactivated SEL lo (pin 11 decoder = 0) to PC port, EPROM address data byte hi stuff in to address decoder hi and Vpp decoder data not changed (keep).
  • If the process are for read and verify mode, stuff data byte Vpp mode to DP port. Activated SEL hi (pin 11 decoder = 1) to PC port, Vpp data stuff in to Vpp decoder. Stuff data byte to enable bi-directional option + Busy lo (so the tri-state buffer direction reverse) to PC port. Read data byte from  DP port. Stuff again data byte to disable bi-directional option and busy hi. And so on ...
  • If the process is to write data byte (program mode), stuff data byte Vpp mode to DP port. Activated SEL hi (pin 11 decoder = 1) to PC port, Vpp data stuff in to Vpp decoder. Stuff data byte to enable PGM lo (Pout = 0) to PC port, programming pulse activated. Wait for delay time according to programming algorithm (standard or intelligent programming), Stuff data byte to disable PGM hi (Pout hi) to PC port. And so on ...
Vpp decoder,  Power supply section and address decoder latch data  works like this :
  1. Voltage +25V = 000XXXXXB
  2. Voltage +21V = 010XXXXXB
  3. Voltage +12V = 100XXXXXB
  4. Voltage +5Vor 0V = 111XXXXXB, PIE pin 8 and 9 short = 0V, PIE pin 8 and 9 open = +5V
  5. EPROM address Hi = XXXXXX10B (Set Lo), XXXXXX11B (Keep)
  6. EPROM address Lo = XXXXXX01B (Set Hi), XXXXXX00B (Forbidden)
Data byte for PC port works like this :
  1. PC-5 = Set read I/O port (Hi) = XX1XXXXXB
  2. PC-4 = Hardware trigger (Hi) = XXX1XXXXB
  3. PC-3 = Activated Vpp decoder (Lo) = XXXX0XXXB
  4. PC-2 = OE pulse (Lo) = XXXXX0XXB
  5. PC-1 = PGM pulse (Hi) = XXXXXX1XB
  6. PC-0 = Trigger programming pulse, for the next expansion = XXXXXXX1B

3. Program

Implementation of those bytes to each EPROM types and modes are as follow (parts of data program by using look up table) :
;------------------------------------------------;
; Table of each EPROM mode                       ;
;------------------------------------------------;
; Decoder selection                              ;
; D7 = Voltage select +21V                       ;
; D6 = Voltage select +12V                       ;
; D5 = Voltage select +Vpp                       ;
; D4 = Voltage selection for Intelligent prog.   ;
;      +5V standard prog., +6V intelligent prog. ;
; D3 = Pulse delay, 50 ms or 1 ms                ;
; D2 = not used                                  ;
; D1 = EPROM address select (Hi)                 ;
; D0 = EPROM address select (Lo)                 ;
;------------------------------------------------;
; Voltage +25V = 000XXXXXB                       ;
; Voltage +21V = 010XXXXXB                       ;
; Voltage +12V = 100XXXXXB                       ;
; Voltage +5Vor 0V = 111XXXXXB                   ;
; PIE pin 8 and 9 short = 0V                     ;
; PIE pin 8 and 9 open = +5V                     ;
; Intelligent voltage +6V = XXX0XXXXB            ;
; Standard programming pulse = XXXX0XXXB         ;
; EPROM address Hi = XXXXXX10B (Set Lo)          ;
;                    XXXXXX11B (Keep)            ;
; EPROM address Lo = XXXXXX01B (Set Hi)          ;
;                    XXXXXX00B (Forbidden)       ;
;------------------------------------------------;
; each EPROM Decoder selection data              ;
;------------------------------------------------;
                   DB   'DataSeleksiDecoder:'
DATA_DECODER       LABEL BYTE
M_2716             DB   11111111B ;Read
                   DB   11111111B ;Stand-by
                   DB   00011111B ;Program
                   DB   00011111B ;Verify
                   DB   00011111B ;Inhibit
                   DW   07FFH     ;Byte count
M_2732             DB   11111111B
                   DB   11111111B
                   DB   00011111B
                   DB   00011111B
                   DB   00011111B
                   DW   0FFFH
M_2732A            DB   11111111B
                   DB   11111111B
                   DB   01011111B
                   DB   01011111B
                   DB   01011111B
                   DW   0FFFH
M_2764             DB   11111111B
                   DB   11111111B
                   DB   01011111B
                   DB   01011111B
                   DB   01011111B
                   DW   1FFFH
M_2764A            DB   11111111B
                   DB   11111111B
                   DB   10011111B
                   DB   10011111B
                   DB   10011111B
                   DW   1FFFH
M_27128            DB   11111111B
                   DB   11111111B
                   DB   01011111B
                   DB   01011111B
                   DB   01011111B
                   DW   3FFFH
M_27256            DB   11111111B
                   DB   11111111B
                   DB   10011111B
                   DB   10011111B
                   DB   10011111B
                   DW   7FFFH
M_27512            DB   11111111B
                   DB   11111111B
                   DB   10011111B
                   DB   10011111B
                   DB   10011111B
                   DW   0FFFFH
;------------------------------------------------;
; All of control byte data                       ;
; Send to PC port                                ;
; Note : PC-7 ~ PC-6 = not used                  ;
;        PC-5 = +Enable bi-directional           ;
;        PC-4 = +IRQ-7 enable                    ;
;        PC-3 = +Select-Input (Inv.)             ;
;        PC-2 = -Initialize                      ;
;        PC-1 = +Auto-feed (Inv.)                ;
;        PC-0 = +Strobe (Inv.)                   ;
; Byte used for EPROMMER :                       ;
; PC-5 = Set read I/O port (Hi)                  ;
; PC-4 = Hardware trigger (Hi)                   ;
; PC-3 = Activated Vpp decoder (Lo)              ;
; PC-2 = OE pulse (Lo)                           ;
; PC-1 = PGM pulse (Hi)                          ;
; PC-0 = Trigger programming pulse               ;
;        for the next expansion                  ;
;------------------------------------------------;
; Special for 2732 and 27512 types, pin OE/VPP   ;
; was combined in 1 pin                          ;
;------------------------------------------------;
; Special for 2764 - 27128 types, pin PGM/CE     ;
; separated, so CE opt. taken from pin A-15      ;
;------------------------------------------------;
; Each EPROM setting data                        ;
;------------------------------------------------;
                   DB   'DataPemalang:'
DATA_PEMALANG      LABEL BYTE
P_2716             DB   11001010B ;Read
                   DB   11001100B ;Stand-by
                   DB   11001110B ;Program
                   DB   11001010B ;Verify
                   DB   11001100B ;Inhibit
P_2732             DB   11001010B
                   DB   11001100B
                   DB   11001110B
                   DB   11001010B
                   DB   11001100B
P_2732A            DB   11001010B
                   DB   11001100B
                   DB   11001110B
                   DB   11001010B
                   DB   11001100B
P_2764             DB   11001000B
                   DB   11001100B
                   DB   11001110B
                   DB   11001000B
                   DB   11001100B
P_2764A            DB   11001000B
                   DB   11001100B
                   DB   11001110B
                   DB   11001000B
                   DB   11001100B
P_27128            DB   11001000B
                   DB   11001100B
                   DB   11001110B
                   DB   11001000B
                   DB   11001100B
P_27256            DB   11001010B
                   DB   11001100B
                   DB   11001110B
                   DB   11001010B
                   DB   11001100B
P_27512            DB   11001010B
                   DB   11001100B
                   DB   11001110B
                   DB   11001010B
                   DB   11001100B
The program (beta version) already test for the CPU speed of 80486-DX2-66 (66 MHz) and Pentium II - MMX (300 MHz) and run well (Note: run only in pure DOS mode, not in DOS Box - win95 and up). It should be run on PC below this speed in fact, but I didn't try it. Please try by yourself. The limited is it can be operated on a bi-directional parallel port only, not on the standard parallel port. Besides that, I only test for 2732-A, 2764-A, 27256 types of EPROM. Sorry, its only available in Indonesian version right now. If I have received about 50 emails, may be I try to make the english version later. Here is it looks like : 






Carsten's software adds the ability to read/write EPROM type 2364A, but I don't put it in here (I don't have the data book for this type). He also adds the ability to read some of RAM types which work like IPROM. I also didn't implemented it too, but I add special option to allow users choose any kind of type by their own purpose.  

4. Hardware

        Because the original layout was written in amiga software, I could not open its layout (unknown file format), so I redrawn it using protel software. There were quiet a lot of jumpers, because I used a single layer PCB. You can draw your own design if you want. But this one works well. The PCB separate to two pcs, one for the panel and another for power supply.


 

5. Part Lists

Component part lists to build the complete set are :
   1. Resistors :
      R1 ~ R3 = 5k1 ..................................................... 3 pcs
      R4 = 1k ........................................................... 1 pce
      R5 = 220 Ohm ...................................................... 1 pce
      R6 = 4k3 .......................................................... 1 pce
      R7 = 20k .......................................................... 1 pce
      R8, R10 ~ R12 = 10k ............................................... 4 pcs
      R9 = 3k9 .......................................................... 1 pce
      R10, R11 = 4k7 .................................................... 2 pcs
   2. Capacitors :
      C1 ~ C3 = 0.01 uF (ceramic) ....................................... 3 pcs
      C4 = 68 uF/16V (elco) ............................................. 1 pce
      C5, C6 = 220 uF/50V (elco) ........................................ 2 pcs
      C7, C9 = 4.7 uF/16V (elco) ........................................ 2 pcs
      C8 = 470 uF/16V (elco) ............................................ 1 pce
   3. Semiconductors :
      D1 ~ D4 = 1N4001 .................................................. 4 pcs
      D5, D6, D8, D9 = 1N4148 ........................................... 4 pcs
      D7 = 5V1 (zener) .................................................. 1 pce
      Q1 ~ Q3 = BC548 (transistor) ...................................... 3 pcs
      IC1 ~ IC3 = 74LS374 (octal latch) ................................. 3 pcs
      IC4 = 74LS245 (3-state octal buffer) .............................. 1 pce
      IC5 = 74LS02 (quad nor gate) ...................................... 1 pce
      IC5 = 7805 (volt-reg) ............................................. 1 pce
      IC6 = LM317T (volt-reg) ........................................... 1 pce
      LED = red, green (3 mm) ........................................... 2 pcs
   4. Others :
      IC socket for EPROM (28 pin) or better zif-socket (textool) ....... 1 pce
      IC socket for PIE (16 pin) ........................................ 6 pcs
      Optional IC socket (20 pin) ....................................... 4 pcs
      Optional IC socket (14 pin) ....................................... 1 pce
      LPT connector, DB-25 socket (female) .............................. 1 pce
      Transformer = 12V-AC/500mA ........................................ 1 pce
      Optional on/off switch for power supply ........................... 1 pce
      Optional miniature jack socket for power supply ................... 1 pce

To reduce the cost, I used LS type ICs. HCT types may cost about 2 times more expensive. HCT types may be improve the speed performance however. But LS TTL is good enough. My prototype run well, I put a 15 us delay for setup time (data book says about 2 us, refer to the programming algorithm) I/O access.

No comments:

Post a Comment

Labels

PROJECTS 8086 PIN CONFIGURATION 80X86 PROCESSORS TRANSDUCERS 8086 – ARCHITECTURE Hall-Effect Transducers INTEL 8085 OPTICAL MATERIALS BIPOLAR TRANSISTORS INTEL 8255 Optoelectronic Devices Thermistors thevenin's theorem MAXIMUM MODE CONFIGURATION OF 8086 SYSTEM ASSEMBLY LANGUAGE PROGRAMME OF 80X86 PROCESSORS POWER PLANT ENGINEERING PRIME MOVERS 8279 with 8085 MINIMUM MODE CONFIGURATION OF 8086 SYSTEM MISCELLANEOUS DEVICES MODERN ENGINEERING MATERIALS 8085 Processor- Q and A-1 BASIC CONCEPTS OF FLUID MECHANICS OSCILLATORS 8085 Processor- Q and A-2 Features of 8086 PUMPS AND TURBINES 8031/8051 MICROCONTROLLER Chemfet Transducers DIODES FIRST LAW OF THERMODYNAMICS METHOD OF STATEMENTS 8279 with 8086 HIGH VOLTAGE ENGINEERING OVERVOLATGES AND INSULATION COORDINATION Thermocouples 8251A to 8086 ARCHITECTURE OF 8031/8051 Angle-Beam Transducers DATA TRANSFER INSTRUCTIONS IN 8051/8031 INSTRUCTION SET FOR 8051/8031 INTEL 8279 KEYBOARD AND DISPLAY INTERFACES USING 8279 LOGICAL INSTRUCTIONS FOR 8051/8031 Photonic Transducers TECHNOLOGICAL TIPS THREE POINT STARTER 8257 with 8085 ARITHMETIC INSTRUCTIONS IN 8051/8031 LIGHTNING PHENOMENA Photoelectric Detectors Physical Strain Gage Transducers 8259 PROCESSOR APPLICATIONS OF HALL EFFECT BRANCHING INSTRUCTIONS FOR 8051/8031 CPU OF 8031/8051 Capacitive Transducers DECODER Electromagnetic Transducer Hall voltage INTEL 8051 MICROCONTROLLER INTEL 8251A Insulation Resistance Test PINS AND SIGNALS OF 8031/8051 Physical Transducers Resistive Transducer STARTERS Thermocouple Vacuum Gages USART-INTEL 8251A APPLICATIONs OF 8085 MICROPROCESSOR CAPACITANCE Data Transfer Instructions In 8086 Processors EARTH FAULT RELAY ELECTRIC MOTORS ELECTRICAL AND ELECTRONIC INSTRUMENTS ELECTRICAL BREAKDOWN IN GASES FIELD EFFECT TRANSISTOR (FET) INTEL 8257 IONIZATION AND DECAY PROCESSES Inductive Transducers Microprocessor and Microcontroller OVER CURRENT RELAY OVER CURRENT RELAY TESTING METHODS PhotoConductive Detectors PhotoVoltaic Detectors Registers Of 8051/8031 Microcontroller Testing Methods ADC INTERFACE AMPLIFIERS APPLICATIONS OF 8259 EARTH ELECTRODE RESISTANCE MEASUREMENT TESTING METHODS EARTH FAULT RELAY TESTING METHODS Electricity Ferrodynamic Wattmeter Fiber-Optic Transducers IC TESTER IC TESTER part-2 INTERRUPTS Intravascular imaging transducer LIGHTNING ARRESTERS MEASUREMENT SYSTEM Mechanical imaging transducers Mesh Current-2 Millman's Theorem NEGATIVE FEEDBACK Norton's Polarity Test Potentiometric transducers Ratio Test SERIAL DATA COMMUNICATION SFR OF 8051/8031 SOLIDS AND LIQUIDS Speed Control System 8085 Stepper Motor Control System Winding Resistance Test 20 MVA 6-digits 6-digits 7-segment LEDs 7-segment A-to-D A/D ADC ADVANTAGES OF CORONA ALTERNATOR BY POTIER & ASA METHOD ANALOG TO DIGITAL CONVERTER AUXILIARY TRANSFORMER AUXILIARY TRANSFORMER TESTING AUXILIARY TRANSFORMER TESTING METHODS Analog Devices A–D BERNOULLI’S PRINCIPLE BUS BAR BUS BAR TESTING Basic measuring circuits Bernoulli's Equation Bit Manipulation Instruction Buchholz relay test CORONA POWER LOSS CURRENT TRANSFORMER CURRENT TRANSFORMER TESTING Contact resistance test Current to voltage converter DAC INTERFACE DESCRIBE MULTIPLY-EXCITED Digital Storage Oscilloscope Display Driver Circuit E PROMER ELPLUS NT-111 EPROM AND STATIC RAM EXCITED MAGNETIC FIELD Electrical Machines II- Exp NO.1 Energy Meters FACTORS AFFECTING CORONA FLIP FLOPS Fluid Dynamics and Bernoulli's Equation Fluorescence Chemical Transducers Foil Strain Gages HALL EFFECT HIGH VOLTAGE ENGG HV test HYSTERESIS MOTOR Hall co-efficient Hall voltage and Hall Co-efficient High Voltage Insulator Coating Hot-wire anemometer How to Read a Capacitor? IC TESTER part-1 INSTRUMENT TRANSFORMERS Importance of Hall Effect Insulation resistance check Insulator Coating Knee point Test LEDs LEDs Display Driver LEDs Display Driver Circuit LM35 LOGIC CONTROLLER LPT LPT PORT LPT PORT EXPANDER LPT PORT LPT PORT EXTENDER Life Gone? MAGNETIC FIELD MAGNETIC FIELD SYSTEMS METHOD OF STATEMENT FOR TRANSFORMER STABILITY TEST METHODS OF REDUCING CORONA EFFECT MULTIPLY-EXCITED MULTIPLY-EXCITED MAGNETIC FIELD SYSTEMS Mesh Current Mesh Current-1 Moving Iron Instruments Multiplexing Network Theorems Node Voltage Method On-No Load And On Load Condition PLC PORT EXTENDER POTIER & ASA METHOD POWER TRANSFORMER POWER TRANSFORMER TESTING POWER TRANSFORMER TESTING METHODS PROGRAMMABLE LOGIC PROGRAMMABLE LOGIC CONTROLLER Parallel Port EXPANDER Paschen's law Piezoelectric Wave-Propagation Transducers Potential Transformer RADIO INTERFERENCE RECTIFIERS REGULATION OF ALTERNATOR REGULATION OF THREE PHASE ALTERNATOR Read a Capacitor SINGLY-EXCITED SOLIDS AND LIQUIDS Classical gas laws Secondary effects Semiconductor strain gages Speaker Driver Strain Gages Streamer theory Superposition Superposition theorem Swinburne’s Test TMOD TRANSFORMER TESTING METHODS Tape Recorder Three-Phase Wattmeter Transformer Tap Changer Transformer Testing Vector group test Virus Activity Voltage Insulator Coating Voltage To Frequency Converter Voltage to current converter What is analog-to-digital conversion Windows work for Nokia capacitor labels excitation current test magnetic balance voltage to frequency converter wiki electronic frequency converter testing voltage with a multimeter 50 hz voltages voltmeter

Search More Posts

Followers