Page 170 - Programming Microcontrollers in C
P. 170
Microcontroller Memory 155
Their packages, however, have no windows to allow erasure of the
program once it is put in place. These devices cost somewhat more
than masked ROM, but they are sufficiently less expensive than the
EPROM parts to allow economic production of rather small quanti
ties. They do have the disadvantage that, once programmed, they can
never be used for a different program.
Electrically Erasable Programmable Read-Only Memory (EEPROM)
EEPROM is a technology that uses a memory cell similar to the
standard EPROM cell. These cells are somewhat larger than the stan
dard EPROM, and are therefore more expensive. It is possible to
erase an EEPROM electrically without the high-energy ultraviolet
light. EEPROM requires a high voltage in programming and erasing
the memory. Some microcontrollers have EEPROM that can be pro
grammed without an externally applied high voltage. This
programming is accomplished by the use of an onboard charge pump
to generate the programming voltage. Such charge pumps are not
capable of delivering much current, so the amount of EEPROM that
can be programmed from an onboard system is usually limited to a
maximum of 512 bytes. This EEPROM is used for the storage of
information gathered after the microcontroller has been placed into
a system. This memory is not often used for the storage of program.
The smaller block of EEPROM can be programmed with the use
of the onboard charge pump, and can be programmed “on the fly”
during the normal execution of program. Devices with EEPROM are
moderately expensive because EEPROM requires the largest silicon
area of any memory technology.
Other Memory Considerations
Not all microcontrollers have enough onboard memory to suf
fice in some jobs. In these cases, an expanded bus part can be used.
Expanded bus parts allow the programmer to access memory that is
external to the microcontroller. None of the small microcontrollers
currently provide for expanded bus operation. The larger
microcontrollers—large 8-bit, 16-bit, or 32-bit—provide expanded
bus. In some instances, they provide no onboard memory at all. As
we will see later, pins on a microcontroller are at a premium. An
expanded bus operation means that some of the component pins must