Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ISSN: 2278-0181
Vol. 2 Issue 9, September - 2013
The Design and Implementation of a Universal EPROM Programmer
Nathan David
Department of Electronic Engineering,
Faculty of Engineering, University of Nigeria, Nsukka.
Nnamani, Uchenna H
Department of Electronic Engineering,
Faculty of Engineering, University of Nigeria, Nsukka.
ABSTRACT usually rare thus the relevance of this work.Gibilisco [1] defined
Since the discovery of transistors and consequently the digital memory as the section of a digital computer that records and
integrated circuits used in digital system, memory devices have holds data until it is necessary. In computer systems, ideally
been used extensively and unavoidably in most digital memory device is group into different categories using the
applications. The embedded and non-embedded system such as following parameter which is commonly referred to as Memory
the microprocessor and microcontroller systems respectively are Hierarchy.
one of those systems that make extensive use of memory devices These parameters include Speed, Size, Power Consumption,
both the volatile and non-volatile memories for temporal data or Volatility and Cost.
variable storage and permanent instruction storage respectively. REGISTERS
The non-volatile memory is used in the state of art CD and DVD At the very top of this memory hierarchy is registers (also
playback sets and computer systems as a repository for the low- sometimes referred to as processor registers), which consist of
level system information such as the BIOS. A more reliable and an extremely small amount of very fast (i.e., much faster than
efficient digital circuit miniaturization such as the sequential the main memory) memory cells that are built directly into the
RT
circuit is best implemented using the non-volatile memories CPU. Their purpose is to speed up the execution of the CPU, and
particularly the EPROM which has been programmed to thus of programs, by providing quick access to commonly used
accomplish such sequential functions. It is in light of this that we values, generally those in the midst of a calculation. Registers
IJE
have taken up the challenge to Design and Implement a are usually implemented using array of SRAM (i.e., Static
Universal EPROM Programmer that complies with the Joint RAM) cells.
Electron Device Engineering Council (JEDEC) Specification. It CACHE
is microprocessor based with a user-friendly GUI that is Below the registers in the memory hierarchy is the cache
supported by any Microsoft Windows Operating System memory, it is a small amount of high-speed memory, usually
platform. It incorporates a software driver with Chip with a memory cycle time comparable to the time required by
Identification Algorithm (CIA) that has the capability of the CPU to fetch one instruction. Whose purpose is to reduce the
identifying any specific EPROM and automatically selects the mismatch in speeds between the CPU and RAM because the
optimal programming algorithm for that particular EPROM. The modern processors have clock rates of several gigahertz (billions
software interacts with the external hardware via the computer of cycles per second), whereas RAM chips have access times
parallel port using the bi-directional protocol of the Line Printer measured in megahertz (millions of cycles per second).
(LPT) interface. The hardware and the software is designed to The amount of information which is replaces at one time in the
support a large memory addressing capability which is about cache is called theline sizefor the cache. This is normally the
65kb more than most available non-volatile memory capacity in width of the data bus between the cache memory and the main
the market today. memory.
PRIMARY MEMORY
1.0 INTRODUCTION Primary memory, previously known as storage, is the only one
EPROM is widely used in various instruments and devices for directly accessible to the CPU. The CPU continuously reads
storing experimental or ordinary data, assembly code and boot instructions stored there and executes them as required. Any data
loader. Its relevance in microprocessor – based projects can actively operated on is also stored there in uniform manner.
never be over emphasized. This memory chip has large Primary memory is directly or indirectly connected to the CPU
applications in any industry or institute. An EPROM integrated via a memory bus, today sometimes referred to as a front side
circuit has no usefulness until data or assembly code has been bus. It is actually comprised of two buses, an address bus and a
programmed or written in it. A device programmer or data bus.
specifically EPROM programmer is a device used to feed data The Cpushack [2] based on these core characteristics the
and code into an EPROM. The device programmer has the following are the different classification of Primary memory.
capability of performing all the EPROM programming operation Random Access Memory (RAM)
such as the program reading operation, program or write Static Random Access Memory (SRAM) Dynamic Random
operation etc. Although device programmer for particular Access Memory (DRAM)
EPROM are available but universal EPROM programmer are Read Only Memory (ROM)
IJERTV2IS90700 www.ijert.org 2346
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 2 Issue 9, September - 2013
Mask Read Only Memory (MROM) The Microprocessor Parallel Port Interface
Programmable Read-Only Memory (PROM) The Decoder Clocking Unit
One Time Programmable Read-Only Memory (OTPROM) The Address Register Unit
Erasable Programmable Read-Only Memory (EPROM The Data Latching Register Unit
UV-Erasable Programmable Rom (UV-EPROM) The Programming Control Latch Registers Unit
Non-Volatile UV-Erasable Programmable Rom (NVROM) The Programmer Identification Register Unit
Hybrid Memory The Voltage Level Selection Units
Non-Volatile Ram (NVRAM) The Graphic User Interface was implemented using Visual Basic
Electrically Erasable Programmable Rom (EEPROM) Languageto keep the user in track with the events taking place in
Flash Memory the programmer such as the Chip Write, Chip Read, Chip Verify
1.5 SECONDARY MEMORY controls. The GUI uses a very simple programming control
Secondary memory or storage in popular usage differs from structure such that with very minimal computer knowledge any
primary storage in that it is not directly accessible by the CPU. individual can use it effectively.
Secondary storage does not lose the data when the device is The Microprocessor Parallel Port Interface is a computer
powered down - therefore it is non-volatile. Some other peripheral device interface used to connect devices to the
examples of secondary storage technologies are flash memory microprocessors bus. The use of Parallel port interface is
(e.g. USB sticks or keys), floppy disks, magnetic tape, paper primarily due to it easy of programmability and speed which
tape, punch cards, standalone RAM disks, and Zip drives. makes it optimal for real-time communication application.
1.6 TERTIARY MEMORY The Decoder Clocking Unit employs the use of digital Integrated
Tertiary Memory or Tertiary Storage provides a third level of circuit decoder and some logic gate to generate pulsing signal
storage. Typically it involves a robotic mechanism which will for the various part of the system. This clocking unit
mountand unmount removable mass storage media into a storage synchronizes the operation of the Programmer with the
device according to the system's demands; this data is often microprocessor data transfer speed.
copied to secondary storage before use. It is primarily used for The Address Register Unit uses the address multiplexing
archival of rarely accessed information since it is much slower technique to hold the address of the memory location in the
than secondary storage EPROM to be programmed or read using the D-type registers.
2.0 JOINT ELECTRONIC DEVICE ENGINEERING The Data Latching Register Unit also uses this aforementioned
COUNCIL (JEDEC). multiplexing technique to hold the data to be written into the
RT
JEDEC Standard [3] Joint Electronic Device Engineering memory location of the EPROM. It employs the use of D-type
Council (JEDEC) standards and publications are designed to register and a transparent latch circuits. This unit is responsible
serve the public interest through eliminating misunderstandings of transferring data from the EPROM to the microprocessor bus
IJE
between manufacturers and purchasers, facilitating line and from the microprocessor bus line into the EPROM
interoperability, interchangeability and improvement of memory cells
products, and assisting the purchaser in selecting and obtaining The Programming Control Latch registers Unit uses transparent
with minimum delay the proper product for use by those other latch interrogated circuit. It controls the selection or the different
than JEDEC members, whether the standard is to be used either programming control signal such as the Chip Enable ( CE ),
domestically or internationally. JEDEC standards and
publications are adopted without regard to whether or not their Output enable ( OE ) and Programming Voltages ( PGM ) also the
adoption may involve patents or articles, materials, or processes. selection of the different programming voltage levels form the
This project also adopted some of the regulation of this Voltage Level Selection Units
standardization organization such as EPROM programming The Voltage Level Selection Units employs the use of simple
electrical signal (Timing Diagram), object files (Intel Hex File), discrete component to implement the generation of different DC
EPROM pin-outs etc; since the EPROM to be programmed by voltage levels. This Unit, for a proper interconnection with the
the Device Programmer cuts across all EPROM from different other part of the circuit employs the digital technique of tri–state
manufacture which is within the required size. technology in its operation
The Programmer Identification Register Unit uses a transparent
2.1THE PURPOSE AND SCOPE OF THE PROJECT latch integrated circuit to establish proper and defined
The early hard–wired digital systems had no future for personal connectivity between the microprocessor and EPROM
use because of its size and heat dissipation as a result of wiring programmer circuit. It uses the bi–directional parallel port
all the logic function (AND, OR, addition, multiplication etc.) interfacing technique to identify the version and the model of the
performed by the digital system. The advent of memory devices programmer.
has created a world of different in digital logic circuit design.
For instants modern daysmicroprocessors implement only a 3.0 MICROPROCESSOR DATA TRANSFER
hard–wired adder and NOR circuit while all other arithmetic and The microprocessor system communicates with the internal
logic functions are stored as data in the memory such as EPROM memory, the I/O devices e.g. hard disk, keyboard etc. and to or
creating a more dynamic (programmable) and compacted from outside world (peripherals) via a medium called
systems. microprocessor interfaces. This microprocessor data transfer is
The Device Programmer is made up of the following basic units; basically accomplished in two pre – defined data format namely
this is also illustrated pictorial in figure 2: the parallel data transfer and serial data transfer. The interface
The Graphic User Interface that implements these aforementioned data transfer in a personal
1
3 A12
1
IJE
30 A13
1
HEX file is an ASCII text file with lines of text that follow the
1
2 74F574PC 19 31
Ln1 1D 1Q PGM
3 2D 2Q 18 25 OE
Ln2 4 17 23
3D 3Q CE
Intel HEX file format. Each line in an Intel HEX file contains Ln3
Ln4
Ln5
5
6
4D
5D
4Q
5Q
16
15
27C128-15L
7 6D 6Q 14
one HEX record. These records are made up of hexadecimal Ln6
Ln7
Ln8
8
9
7D
8D
U5 7Q
8Q
13
12
1
Y1 output to transit from high logic state to low logic state, this 31 PGM
1
25 OE
23 CE
will therefore cause the input clock signal to transit from low to 27C128-15L
high logic level making the data on the DATA BUS to be loaded
in the U5 register and made available on its output Q - lines.
This two 8 bit register address then combine together to form an
addresses space of a maximum of 0xFFFF in Hexadecimal bit C0
C1
C2
[64kbyte] DATA BUS1
23 CE 11 3A 3Y 9 Ln3
14 4A 4Y 12 Ln4
27C128-15L 3
6
10
1B
2B
U10 data on the U6 IC output lines is written or programmed into the
3B
13 4B
1 ~A/B
selected or addressed cell units of the EPROM.
15 ~G
4.4 VOLTAGE LEVEL SELECTION UNIT
1
project (a) the voltage level variation unit used during EPROM
C3 Programming Operation and (b) voltage level variation unit used
BUS2
STATUS during Chip Identification Operation Mode.
STATUS BUS (S0 - S3)
4.4.1 AT EPROM PROGRAMMING OPERATION
Fig. 4.2 Data Multiplexing Sub - Section The voltage level variation unit used During EPROM
The 74F157N multiplex IC is called 4–bit–wide 2–1 Multiplexer programming operation (particularly Read, Program and Verify
with the A/B select input as indicated on U10 in figure 4.2 Operation Mode) takes place at the VPP control input line of the
above. EPROM. This voltage variation at this input line is of three
If the 8–bit or a byte data is available on the output of the distinct and regulated steps. The steps are form 0.0V to 5.0V,
EPROM at line O0 to O7, this 8-bit or byte is read by the form 0.0V to 13.0V and finally from 5.0V to 13.0V. This
software algorithm in nibble mode or order i.e. 4-bit at a time. voltage variation takes place during programming operation such
To avoid bus contention or data contamination by the U6 register as the Read Mode, Programming or Write Mode and Verify
IC, its output lines is place at a High impedance state [High-Z]. Mode. The figure 4.5 below is the circuit that was used to
The software output zero logic (0) on the C3 line this makes achieve these three steps of voltage variations. The circuit is a
available on the STATUS BUS the lower nibble of the data on combination of many discrete circuit elements to form a module.
the output of the EPROM at O0 – O3 via the 1A-4A of the This module has the capability of generating all the
multiplexer. The software reads this nibble and stores it in an aforementioned voltage variation states at its single output line
integral variable.The software outputs a logic high (1) on the C3 bydigitally addressing the two input lines appropriately. The
line and just like before the high nibble is made available on the input line uses logic level voltages i.e. ideally 0.0 V and 5.0V
status bus line by connecting the 1B-4B input of the U10 (Zeros and Ones respectively) making the module to be
Multiplex to STATUS BUS. The software reads and stores the compatible with digital circuitry. Due to discrete circuit element
value in integral variable. Then the low nibble and the high used the module is optimized for high transition speed (the time
nibble are manipulated and merged to form its true 8-bit value as taken for the module to change from one voltage state to
before on the output of the EPROM.
State 0 0 0 High – Z
State 1 0 1 0
State 2 1 0 12
State 3 1 1 0
Table 4.3 Voltage Selection Function Table
5.0 CONLUSION
This Universal EPROM Programmer was designed to meet the Fig. 1: GUI Main Window
basic requirement of present day available EPROM
programmers. Each of the different hardwaresections where
simulated by Multisim 10 simulator and physically
implemented. Although it is not actually in the sense that not all
available EPROM that it can program, but all the EPROM chip
within 64kb of size. With this objective in mind we can conclude
that this project met all its required requirements.
6.0 ACKNOWLEDGEMENT
This paper is a part of a larger research collaboration effort. The
research implementation presented in the paper is part of the
Design of a Universal EPROM Programmer project, completed
and submitted as unpublished works at the Department of
Electronic Engineering, University Of Nigeria, Nsukka, in
February of 2010 by AgboChibuzo V, AsiegbuChiagozie P,
NnamaniUchenna H and OssaiOnyemechi L, . The project was
supervised by Nathan David.
Clocking Address
Sub- Sub- Data
System
System Sub-
G.U.I
C o n t ro l B u s L in e s
System
ZIF Socket
RT (EPROM)
Micro-
IJE
processor
Interface Data/Status Bus Line
2352
IJERTV2IS90700 www.ijert.org
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 2 Issue 9, September - 2013
RT
IJE
2353
IJERTV2IS90700 www.ijert.org