Microprocessors and microcontrollers are widely used in embedded system products. An embedded system is controlled by its own internal microprocessor (or microcontroller) as opposed to an external controller. Typically. in an embedded system, the microcontroller's ROM is burned with a purpose for specific functions needed for the system. A printer is an example Of an embedded system because the processor inside it performs one task only; namely, getting the data and printing it. Contrast this with a Pentium-based PC (or any x86 PC), which can be used for any number of applications Such as word processor, print server, bank teller terminal, video game player, network server, or Internet terminal. A PC can also load and run software for a variety Of applications. Of course. the reason a PC can perform myriad tasks is that it has RAM memory and an operating system that loads the application software into RAM and lets the CPU run it. In an embedded system, typically only one application software is burned into ROM. An x86 PC contains or is connected to various embedded products such as the keyboard, print- er, modem, disk controller, sound card, CD-ROM driver, mouse, and so on. Each one of these peripherals has a microcontroller inside it that performs only one task. For example, inside every mouse a microcontroller performs the task of finding the mouse 's position and sending it to the PC.
x86 PC embedded applications
Although microcontrollers are
the preferred choice for many embedded systems, sometimes a microcontroller is
inadequate for the task. For this reason, in recent years many manufacturers of
general-purpose microprocessors such as Intel, Freescale Semiconductor (formerly
Motorola), and AMD (Advanced Micro Devices, Inc.) have targeted their
microprocessors for the high end of the embedded market. Intel and AMD push
their x86 processors for both the embedded and desktop PC markets. In the early
1990s, Apple computer began using the PowerPC microprocessors (604, 603, 620,
etc.) in place of the 680x0 for the Macintosh. In 2007 Apple switched to the
x86 CPU for use in the Mac computers. The PowerPC microprocessor is a joint
venture between IBM and Freescale, and is targeted for the high end of the
embedded market. It must be noted that when a company targets a general-purpose
microprocessor for the embedded market it optimizes the processor used for
embedded systems. For this reason these processors are often called high-end embedded
processors. Another chip widely used in the high end of the embedded system
design is the ARM (Advanced RISC Machine) microprocessor. Very Often the terms
embedded processor and microcontroller ae used inter-changeably.
One ofthe most critical needs of an embedded
system is to decrease power consumption and space. This can be achieved by
integrating more functions into the CPU chip. All the embedded processors based
on the x86 and PowerPC 6xx have low power consumption in addition to some forms
of I/O, COM port, and ROM, all on a single chip. In high-performance embedded
processors. the trend is to integrate more and more functions on the CPU chip
and let the designer decide which features to use. This trend is invading PC
system design as well. Normally,in designing the PC motherboard we need a CPU
plus a chipset containing I/O, a cache controller, aFlash ROM containing BIOS,
and finally a secondary cache memory. New designs are emerging in industry. For
example, many companies have a chip that contains the entire CPU and all the
supporting logic and memory,except for DRAM. In other words, we have the entire
computer on a single chip.
Currently, because Of Linux and Windows
standardization, many embed- ded systems use x86 PCs. In many cases, using x86
PCs for the high-end embed- ded applications not only saves money but also
shortens development time because a vast library of software already exists for
the Linux and Windows platforms. The fact that Windows and Linux are widely
used and well-understood platforms means that developing a Windows-based or
Linux-based embedded product reduces the cost and shortens the development time
considerably
Choosing a microcontroller
There are five major 8-bit microcontrollers. They are: Freescale Semiconductor's (formerly Motorola) 68HC08/68HCl 1, Intel's 8051, Atmel's AVR, Zilog's Z8, and PIC from Microchip Technology. Each of the above micro- controllers has a unique instruction set and register set; therefore, they are not compatible with each Other. Programs written for one will not run on the others. There are also 16-bit and 32-bit microcontrollers made by various chip makers. WIth all these different microcontrollers, what criteria do designers consider in choosing one? Three criteria in choosing microcontrollers arc as follows: (l) meeting the computing needs of the task at hand efficiently and cost effectively; (2) availability Of software and hardware development tools such as compilers, assemblers, debuggers, and emulators; and (3) wide availability and reliable sources of the microcontroller. Next, we elaborate on each Of the above criteria.
· Speed. What is the highest speed that the microcontroller supports?
· Packaging. Does it come in a DIP (dual inline package) or a QFP (quad flat package), or some other packaging format? This is important in terms of space, assembling, and prototyping the end product.
· Power consumption. This is especially critical for battery-powered products.
· The amount Of RAM and ROM on the chip.
· The number of I/O pins and the timer on the chip.
· Ease of upgrade to higher-performance or lower-power-consumption Versions.
· Cost per unit. This is important in tenns of the final cost of the product inwhich a microcontroller is used. For example, some microcontrollers cost 50 cents per unit when purchased 100,000 units at a time.