Science Fair Project Encyclopedia
A microcontroller is a computer-on-a-chip optimised to control devices. It is a type of microprocessor emphasizing self-sufficiency and cost-effectiveness, in contrast to a general-purpose microprocessor, the kind used in a PC. A typical microcontroller contains all the memory and I/O interfaces needed, whereas a general purpose microprocessor requires additional chips to provide these necessary functions.
Microcontrollers are a component in many kinds of electronic equipment (see embedded system). They are the vast majority of all processor chips sold. Over 50% are "simple" controllers, and another 20% are more specialized digital signal processors (DSPs). A typical home in the Western world is likely to have only one or two general-purpose microprocessors but somewhere between one and two dozen microcontrollers. They can be found in almost any electrical device, washing machines, microwave ovens, telephones etc.
Most microcontrollers today are based on the von Neumann architecture, which clearly defined the four basic components required for an embedded system. These include a CPU core, memory for the program (ROM or Flash memory), memory for data (RAM), one or more timers (customisable ones and watchdog timers), as well as I/O lines to communicate with external peripherals and complementary resources — all this in a single integrated circuit. A microcontroller differs from a general-purpose CPU chip because the former generally is quite easy to make into a working computer, with a minimum of external support chips. The idea is that the microcontroller will be placed in the device to control, hooked up to power and any information it needs, and that's that.
A traditional microprocessor won't allow you to do this. It requires all of these tasks to be handled by other chips. For example, some number of RAM memory chips must be added. The amount of memory provided is more flexible in the traditional approach, but at least a few external memory chips must be provided, and additionally requires that many connections must be made to pass the data back and forth to them.
For instance, a typical microcontroller will have a built in clock generator and a small amount of RAM and ROM (or EPROM or EEPROM), meaning that to make it work, all that is needed is some control software and a timing crystal. Microcontrollers will also usually have a variety of input/output devices, such as analog-to-digital converters, timers, UARTs or specialised serial communications interfaces like I²C, Serial Peripheral Interface and Controller Area Network. Often these integrated devices can be controlled by specialised processor instructions.
Microcontrollers trade away speed and flexibility to gain ease of equipment design and low cost. There's only so much room on the chip to include functionality, so for every I/O device or memory increase the microcontroller includes, some other circuitry has to be removed. Finally, it must be mentioned that some microcontroller architectures are available from many different vendors in so many varieties that they could rightly belong to a category of their own. Chief among these are the 8051 and Z80 derivatives.
- Atmel AT91 series (ARM THUMB architecture)
- AT90 series – AVR (Atmel Norway design)
- Atmel AT89 series (Intel 8051/MCS51 architecture)
- CY8C2xxxx (PSoC )
- 68HC05 (CPU05)
- 68HC08 (CPU08)
- 68HC11 (CPU11)
- Motorola 683XX (CPU32)
- MPC 860 (PowerQUICC)
- MPC 8240/8250 (PowerQUICC II)
- MPC 8540/8555/8560 (PowerQUICC III)
- ST 62
- ST 7
- [[Ubicom's SX-28 is an 8 bit, 28 pin microcontroller which has unusually high speed, large memory resources, and a high degree of flexibily. Some users have referred to it as the PIC in steroids. While Ubison has a limited variety of microcontrollers to choose from, the high speed and additional resources allow the programmer to create 'virtual devices' as required. Refer to Parallax's Web site for information as they are the main distributor.]]
- In-circuit emulator (ICE)
- Contiki a small open source, yet fully featured, operating system developed for use on a number of smallish systems ranging from 8-bit computers to embedded microcontrollers
- Microcontrollers Discussion Groups
- An open source RTOS with projects for many microcontrollers
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details