Discussion in 'Microcontrollers, Programming and IoT' started by carolwind, Mar 16, 2014.
When or where use EPROM?
When or where use EEPROM?
Welcome to this forum.
EPROM = Electrically Programmable Read Only Memory
EEPROM = Electrically Eraseable Programmable Read Only Memory
You see the difference, you know the application. Both can be electrically programmed, but only an EEPROM can be electrically erased (and, of course, re-programmed). You can uses this for example to store data that changes during the operating time of a device. Sampes:
- logging data
- error codes
EPROM = Erasable Programmable Read Only Memory
EEPROM = Electrically Erasable Programmable Read Only Memory
The difference is how they're erased, but this also implies something about how they're programmed.
I don't think EPROMs are used much anymore, except in older devices that used them back in the day.
For anything that needs to store data "on the fly", use an EEPROM. Most can be written to without requiring a high programming voltage, plus they can be erased and re-used without needing a UV eraser.
EPROMs and EEPROMs are types of PROMs - programmable read-only memories. PROMs store information as an array of bits (binary digits), each of which can be 1 or 0. They are normally grouped into sets of 8 or 16. The information may represent program instructions (a type of software known as firmware), data in various formats, files such as MP3 data streams, operating parameters such as calibration data and user options, and so on.
The information is accessed by suppling a binary address to the PROM. The PROM provides the information that has been stored at that address. This is called "reading". PROMs are called read-only because the information can be read quickly from any address, but they are also writeable, because the information has to be put into them somehow.
PROMs are non-volatile; that is, they retain their contents if power is removed. This is in contrast to RAM (random access memory) which loses its contents if power is lost (unless a backup battery is used). Data in PROMs is stored as isolated electric charges, which take a short time to generate. Therefore data cannot be written to a PROM as quickly as it can be read back. Writing data to a PROM is called "programming" or "burning" and is done in different ways depending on the type of PROM.
EPROMs are an old technology (they became popular in the 1970s and 1980s). They are normally programmed in one continuous operation by a "device programmer" - a unit with a ZIF (zero insertion force) socket into which the EPROM is inserted for programming, which generates the programming voltage (called VPP) that is needed to store the charges in the EPROM.
An EPROM is supplied blank by the manufacturer, then programmed for use in a circuit such as a computer motherboard. It can be erased by exposing it to ultraviolet light for about 20 minutes. The package has a glass window on top of it for this.
An EEPROM is electrically erasable, so it doesn't need an ultraviolet light, and it doesn't have a windowed package. Modern EEPROMs don't need a VPP voltage for programming. Erasing and reprogramming is quick, but not as quick as rewriting data in a RAM, but EEPROMs are non-volatile, like EPROMs.
Flash EEPROMs are a style of EEPROM that is used pretty much like an EPROM. They are programmed initially, and are normally only reprogrammed when installing a firmware upgrade, in a unit such as a smartphone or a digital TV decoder. The reprogramming operation takes some time, but can be done without opening up the unit. Flash EEPROMs (also called Flash ROMs) can also be used for data that is periodically updated by the user, such as MP3 data on portable music players and storage for installable applications on smartphones.
Serial EEPROMs are the other style of EEPROMs. They are compact devices (often supplied as 8-pin ICs) that are used to hold information that needs to be changed from time to time, but not extremely quickly, and which needs to be non-volatile, such as serial numbers, calibration values that are determined during manufacture, options (replacing the jumper settings used in older boards), user preferences, some types of firmware (e.g. Java bytecode), data logging information (stored over a period of time) and so on.