Page 13 - Embedded Microprocessor Systems Real World Design
P. 13
Of course, there are exceptions to this general description, which we will get to
eventually, but this definition will serve us for now.
An embedded microprocessor system usually contains the following com-
ponents:
A microprocessor
RAM (random access memory)
Nonvolatile storage: erasable programmable read-only memory (EPROM), read-
only memory (ROM), flash memory, battery-backed RAM, and so on
1/0 (some means to monitor or control the real world)
If you have seen textbooks describing general computer systems, this description
fits those as well. The difference is in the details. A general-purpose computer, such
as the one this book was written on, may have many megabytes of RAM, whereas
an embedded system may have less than 256 bytes (that is bytes, not megabytes) of
RAM. Your PC at home or at the office may have a lOGB IDE hard drive with DOS,
Windows, and several other applications.
An embedded system usually contains its entire program in a few thousand bytes
of EPROM. The most important difference between the two is the application. Your
home personal computer (PC) runs a word processor, then you switch over to the
money management program to balance your checkbook, then to the spreadsheet
to work on the family budget, then back to the word processor. The embedded
system does just a limited number of tasks, such as making sure your toast does not
burn or timing the cook cycle in your microwave.
Why would anyone want to use a microprocessor? The main reasons are:
Cost. The cost of developing firmware for an embedded system can be very high,
but it is a nonrecurring expense, only spent once to develop the product. The actual
cost of the finished product can be very low. On the other hand, the product cost
of a system such as a microwave oven controller, if implemented in discrete hard-
ware, can be very high by comparison.
Flexibility. Say a typical microwave oven manufacturer gets a contract from a very
large discount store for microwave ovens, but the contract specifies certain
changes in the way the user controls the device. In a hardware-based system, the
control electronics would need to be redesigned. In a microprocessor-based
system, the only change may be a few lines of code.
Programmability. You may want to program a robotic arm to paint car doors
one day and trunk lids the next. An embedded microcontroller permits you to
have the same hardware perform different tasks. Of course, this also could be
implemented in discrete hardware but at much higher cost.
Adaptability. A system may need to adapt to its environment or to a user’s needs.
A typical example of this is an automobile’s “smart” automatic transmission,
which remembers your driving patterns and adjusts its shift points for optimum
xii Introductim