Microcontroller Notes Week 2.1
Microcontroller Notes Week 2.1
Volatile. This is memory that only works as long as it is powered. It loses its stored value
when power is removed, but can be used as memory for temporary data storage. Generally,
this type of memory uses simple semiconductor technology and is easier to write to from an
electrical point of view. For historical reasons it has commonly been called RAM (Random
Access Memory). As lightly more descriptive name is simply ‘data memory’.
Non-volatile. This is memory that retains its stored value even when power is removed. On a
desktop computer this function is achieved primarily by the hard disk, a huge non-volatile
store of data. In an embedded system it is achieved using non-volatile semiconductor
memory. Generally, this type of memory has been more difficult to write to electrically, for
example in terms of time or power taken, or complexity of the writing process. Non-volatile
memory is used for holding the computer program and for historical reasons has commonly
been called ROM (Read-Only Memory). A more descriptive name is ‘program memory’.
Types of RAM
Types of ROM
Masked ROM
A masked ROM is manufactured to our specification and cannot be changed. We must be
very sure that the information is correct before it is made. The initial cost is necessarily high
due to the expense of the tooling required. It is only worthwhile if at least a few thousand
identical chips are required.
The ROM is useful for low volume production because the initial costs are much lower than
the masked ROM but you do have to program them yourself.
They can be erased and reprogrammed about 700 times before they become increasingly
reluctant to erase and their life is over. Once programmed, the data is safe for about seven
years. For long term storage, it is best to reload them or, better still, use a masked ROM if
available.
The reprogramming can be done while installed in the microprocessor-based system. It does
not need a separate programmer. Their disadvantage is that they are slow to program and have
a limited number of reprogramming cycles.