All Topics  
Microcontroller

 
Microcontroller

   Email Print
   Bookmark   Link






 

Microcontroller



 
 
A microcontroller (also MCU or µC) is a small computer on a single integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
 consisting of a relatively simple CPU combined with support functions such as a crystal oscillator
Crystal oscillator

A crystal oscillator is an electronic circuit that uses the mechanical resonance of a vibrating crystal of Piezoelectricity#Materials to create an electrical signal with a very precise frequency....
, timers, watchdog, serial and analog I/O etc. Program memory in the form of NOR flash or OTP
OTP

OTP may mean:* Outdoor Therapeutic Program: see articles on wilderness therapy and adventure therapy* One-time programmable, a type of programmable read-only memory in electronics...
 ROM
Rom

ROM, Rom, or rom is an abbreviation and name that may refer to:...
 is also often included on chip, as well as a, typically small, read/write memory.

Thus, in contrast to the microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s used in personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
s and other high perfomance applications, simplicity is emphasized.






Discussion
Ask a question about 'Microcontroller'
Start a new discussion about 'Microcontroller'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A microcontroller (also MCU or µC) is a small computer on a single integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
 consisting of a relatively simple CPU combined with support functions such as a crystal oscillator
Crystal oscillator

A crystal oscillator is an electronic circuit that uses the mechanical resonance of a vibrating crystal of Piezoelectricity#Materials to create an electrical signal with a very precise frequency....
, timers, watchdog, serial and analog I/O etc. Program memory in the form of NOR flash or OTP
OTP

OTP may mean:* Outdoor Therapeutic Program: see articles on wilderness therapy and adventure therapy* One-time programmable, a type of programmable read-only memory in electronics...
 ROM
Rom

ROM, Rom, or rom is an abbreviation and name that may refer to:...
 is also often included on chip, as well as a, typically small, read/write memory.

Thus, in contrast to the microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s used in personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
s and other high perfomance applications, simplicity is emphasized. Some microcontrollers may operate at clock frequencies as low as 32KHz, as this is adequate for many typical applications, enabling low power consumption (milliwatts or microwatts). They will generally have the ability to retain functionality while waiting for an event such as a button press or other interrupt; power consumption while sleeping (CPU clock and most peripherals off) may be just nanowatts, making many of them well suited for long lasting battery applications.

Microcontrollers are used in automatically controlled products and devices, such as automobile engine control systems, remote controls, office machines, appliances, power tools, and toys. By reducing the size and cost compared to a design that uses a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to digitally control even more devices and processes.

Embedded design

The majority of computer systems in use today are embedded in other machinery, such as automobiles, telephones, appliances, and peripherals for computer systems. These are called embedded system
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
s. While some embedded systems are very sophisticated, many have minimal requirements for memory and program length, with no operating system, and low software complexity. Typical input and output devices include switches, relay
Relay

A relay is an electrical switch that opens and closes under the control of another electrical circuit. In the original form, the switch is operated by an magnet to open or close one or many sets of contacts....
s, solenoid
Solenoid

A solenoid is a three-dimensional coil. In physics, the term solenoid refers to a loop of wire, often wrapped around a metallic core, which produces a magnetic field when an electric current is passed through it....
s, LEDs, small or custom LCD displays, radio frequency devices, and sensors for data such as temperature, humidity, light level etc. Embedded systems usually have no keyboard, screen, disks, printers, or other recognizable I/O devices of a personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
, and may lack human interaction devices of any kind.

Interrupts

It is mandatory that microcontrollers provide real time
Real-time computing

In computer science, real-time computing is the study of Computer hardware and computer software systems that are subject to a "real-time constraint"?i.e., operational deadlines from event to system response....
 response to events in the embedded system they are controlling. When certain events occur, an interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
 system can signal the processor to suspend processing the current instruction sequence and to begin an interrupt service routine (ISR). The ISR will perform any processing required based on the source of the interrupt before returning to the original instruction sequence. Possible interrupt sources are device dependent, and often include events such as an internal timer overflow, completing an analog to digital conversion, a logic level change on an input such as from a button being pressed, and data received on a communication link. Where power consumption is important as in battery operated devices, interrupts may also wake a microcontroller from a low power sleep state where the processor is halted until required to do something by a peripheral event.

Programs

Microcontroller programs must fit in the available on-chip program memory, since it would be costly to provide a system with external, expandable, memory. Compilers and assembly language are used to turn high-level language programs into a compact machine code
Machine code

Machine code or machine language is a system of instructions and data executed directly by a computer's central processing unit. Machine code may be regarded as a primitive programming language or as the lowest-level representation of a compiled and/or assembly language computer program....
 for storage in the microcontroller's memory. Depending on the device, the program memory may be permanent, read-only memory that can only be programmed at the factory, or program memory may be field-alterable flash or erasable read-only memory.

Other microcontroller features

Since embedded processors are usually used to control devices, they sometimes need to accept input from the device they are controlling. This is the purpose of the analog to digital converter. Since processors are built to interpret and process digital data, i.e. 1s and 0s, they won't be able to do anything with the analog signals that may be being sent to it by a device. So the analog to digital converter is used to convert the incoming data into a form that the processor can recognize. There is also a digital to analog converter that allows the processor to send data to the device it is controlling.

In addition to the converters, many embedded microprocessors include a variety of timers as well. One of the most common types of timers is the Programmable Interval Timer
Programmable Interval Timer

In computing, a Programmable Interval Timer is a counter which triggers an interrupt when it reaches the programmed count....
, or PIT for short. A PIT just counts down from some value to zero. Once it reaches zero, it sends an interrupt to the processor indicating that it has finished counting. This is useful for devices such as thermostats, which periodically test the temperature around them to see if they need to turn the air conditioner on, the heater on, etc.

Time Processing Unit
Time Processor Unit

Time Processor Unit The time processor unit has some of the characteristics of a processor. It is used specifically for tasks involving high rate input signals or generating such....
 or TPU for short. Is essentially just another timer, but more sophisticated. In addition to counting down, the TPU can detect input events, generate output events, and other useful operations.

Dedicated Pulse Width Modulation
Pulse-width modulation

Pulse-width modulation of a Signalling or Power source involves the modulation of its duty cycle, to either convey information over a communications channel or control the amount of power sent to a load....
 (PWM) block makes it possible for the CPU to control power converters
Switched-mode power supply

A switched-mode power supply is an electronic power supply unit that incorporates a switching regulator. While a linear regulator maintains the desired output voltage by dissipating excess power in a pass power transistor, the Switched-mode power supply switches a power transistor between saturation and cutoff with a variable duty cycl...
, resistive
Electrical resistance

The electrical resistance of an object is a measure of its opposition to the passage of a steady electrical current. An object of uniform cross section will have a resistance proportional to its length and inversely proportional to its cross-sectional area, and proportional to the resistivity of the material....
 loads, motors
Electric motor

An electric motor uses electrical energy to produce mechanical energy, nearly always by the interaction of magnetic fields and current-carrying conductors....
, etc., without using lots of CPU resources in tight timer loops
Control flow

In computer science control flow refers to the order in which the individual statement , Instruction or function calls of an imperative programming or functional programming computer program are execution or evaluated....
.

Universal Asynchronous Receiver/Transmitter
Universal asynchronous receiver/transmitter

A universal asynchronous receiver/transmitter is a type of "asynchronous receiver/transmitter", a piece of computer hardware that translates data between Parallel communication and Serial communication forms....
 (UART) block makes it possible to receive and transmit data over a serial line with very little load on the CPU.

For those wanting ethernet
Ethernet

Ethernet is a family of Data frame-based computer networking technologies for local area networks . The name comes from the physical concept of the Luminiferous aether....
 one can use an external chip like Crystal Semiconductor CS8900A, Realtek RTL8019, or Microchip ENC 28J60. All of them allow easy interfacing with low pin count.

Higher integration

In contrast to general-purpose CPUs, microcontrollers may not implement an external address or data bus as they integrate RAM and non-volatile memory on the same chip as the CPU. Using fewer pins, the chip can be placed in a much smaller, cheaper package.

Integrating the memory and other peripherals on a single chip and testing them as a unit increases the cost of that chip, but often results in decreased net cost of the embedded system as a whole. Even if the cost of a CPU that has integrated peripherals is slightly more than the cost of a CPU + external peripherals, having fewer chips typically allows a smaller and cheaper circuit board, and reduces the labor required to assemble and test the circuit board.

A microcontroller is a single integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
, commonly with the following features:
  • central processing unit
    Central processing unit

    A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
     - ranging from small and simple 4-bit
    Bit

    A bit is a binary numeral system numerical digit, taking a value of either 0 or 1. Binary digits are a basic unit of information Computer data storage and transmission in digital computing and digital information theory....
     processors to complex 32- or 64-bit processors
  • discrete input and output bits, allowing control or detection of the logic state of an individual package pin
  • serial input/output
    Input/output

    In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
     such as serial port
    Serial port

    In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time ....
    s (UARTs)
  • other serial communications
    Serial communications

    In telecommunication and computer science, serial communication is the process of sending data one bit at one time, sequentially, over a communication channel or computer bus....
     interfaces
    Network interface

    In telecommunications and computer networking, a network interface is one of:#The point of interconnection between a User computer terminal and a private or public computer network....
     like I²C
    I²C

    I?C isa multi-master bus serial communications computer bus invented by Philips that is used to attach low-speed peripherals to a motherboard, embedded system, or cellphone....
    , Serial Peripheral Interface and Controller Area Network
    Controller Area Network

    Controller?area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer....
     for system interconnect
  • peripheral
    Peripheral

    A peripheral is a device attached to a host computer behind the chipset whose primary functionality is dependent upon the host, and can therefore be considered as expanding the hosts capabilities, while not forming part of the system's core computer architecture....
    s such as timer
    Timer

    A timer is a specialized type of clock. A timer can be used to control the sequence of an event or process. Whereas a stopwatch counts upwards from zero for measuring elapsed time, a timer counts down from a specified time interval, like an hourglass....
    s, event counters, PWM generators
    Pulse-width modulation

    Pulse-width modulation of a Signalling or Power source involves the modulation of its duty cycle, to either convey information over a communications channel or control the amount of power sent to a load....
    , and watchdog
    Watchdog timer

    A watchdog timer is a computer hardware timing device that triggers a system Reset if the main computer program, due to some fault condition, such as a hang , neglects to regularly service the watchdog ....
  • volatile memory (RAM
    Ram

    Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
    ) for data storage
  • ROM
    Read-only memory

    Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
    , EPROM
    EPROM

    An EPROM, or Erasable Programmable Read Only Memory, is a type of memory integrated circuit that retains its data when its power supply is switched off....
    , EEPROM
    EEPROM

    EEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration....
     or Flash memory
    Flash memory

    Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
     for program
    Computer program

    Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
     and operating parameter storage
  • clock generator
    Clock generator

    A clock generator is a circuit that produces a timing signal for use in synchronizing a circuit's operation. The signal can range from a simple symmetrical square wave to more complex arrangements....
     - often an oscillator for a quartz timing crystal, resonator or RC circuit
    RC circuit

    A 'resistor?capacitor circuit' , or 'RC filter' or 'RC network', is an electric circuit composed of resistors and capacitors driven by a voltage source or current source....
  • many include analog-to-digital converters
  • in-circuit programming and debugging support


This integration drastically reduces the number of chips and the amount of wiring and circuit board
Printed circuit board

A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using Conductor pathways, or signal traces, industrial etchinged from copper sheets laminated onto a non-conductive substrate....
 space that would be needed to produce equivalent systems using separate chips. Furthermore, and on low pin count devices in particular, each pin may interface to several internal peripherals, with the pin function selected by software. This allows a part to be used in a wider variety of applications than if pins had dedicated functions. Microcontrollers have proved to be highly popular in embedded system
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
s since their introduction in the 1970s.

Some microcontrollers use a Harvard architecture
Harvard architecture

The Harvard architecture is a computer architecture with physically separate computer storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape and data in electro-mechanical counters ....
: separate memory buses for instructions and data, allowing accesses to take place concurrently. Where a Harvard architecture is used, instruction words for the processor may be a different bit size than the length of internal memory and registers; for example: 12-bit instructions used with 8-bit data registers.

The decision of which peripheral to integrate is often difficult. The microcontroller vendors often trade operating frequencies and system design flexibility against time-to-market requirements from their customers and overall lower system cost. Manufacturers have to balance the need to minimize the chip size against additional functionality.

Microcontroller architectures vary widely. Some designs include general-purpose microprocessor cores, with one or more ROM, RAM, or I/O functions integrated onto the package. Other designs are purpose built for control applications. A microcontroller instruction set usually has many instructions intended for bit-wise operations to make control programs more compact. For example, a general purpose processor might require several instructions to test a bit in a register and branch if the bit is set, where a microcontroller could have a single instruction to provide that commonly-required function.

Microcontrollers typically do not have a math coprocessor, so fixed point
Fixed-point arithmetic

In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point . Fixed-point number representation can be compared to the more complicated floating point number representation....
 or floating point
Floating point

In computing, floating point describes a system for numerical representation in which a String of digits represents a rational number.The term floating point refers to the fact that the radix point can "float": that is, it can be placed anywhere relative to the Significant figures of the number....
 arithmetic are performed by program code.

Volumes

About 55% of all CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
s sold in the world are 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 microcontrollers and microprocessors. According to Semico, Over 4 billion
1000000000 (number)

1,000,000,000 is the natural number following 999,999,999 and preceding 1,000,000,001.In scientific notation, it is written as 109....
 8-bit microcontrollers were sold in 2006.

A typical home in a developed country
Developed country

The term developed country is used to describe countries that have a high level of development according to some criteria. Which criteria, and which countries are classified as being developed, is a contentious issue and there is fierce debate about this....
 is likely to have only four general-purpose microprocessors but around three dozen microcontrollers. A typical mid range automobile
Automobile

An automobile or motor car is a wheeled motor vehicle for transportation passengers, which also carries its own car engine or motor. Most definitions of the term specify that automobiles are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels, and to be constructed principally f...
 has as many as 30 or more microcontrollers. They can also be found in any electrical device
Tool

A broad definition of a tool is an entity used to interface between two or more domains that facilitates more effective action of one domain upon the other....
: washing machine
Washing machine

A washing machine, or washer, is a machine designed to clean laundry, such as clothing, towels and Bed sheets. The term is mostly applied only to machines that use water as the primary cleaning solution, as opposed to dry cleaning or even ultrasonic cleaners....
s, microwave oven
Microwave oven

A microwave oven, or a microwave, is a kitchen appliance that cookings or heats food by dielectric heating. This is accomplished by using microwave radiation to heat water and other dipole within the food....
s, telephone
Telephone

The telephone is a telecommunications device that is used to transmitter and receive electronically or digitally encoded sound between two or more people conversing....
s etc.
Pic18f8720
Manufacturers have often produced special versions of their microcontrollers in order to help the hardware and software development
Software development

Software development is the set of activities that results in software products. Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products....
 of the target system. Originally these included EPROM
EPROM

An EPROM, or Erasable Programmable Read Only Memory, is a type of memory integrated circuit that retains its data when its power supply is switched off....
 versions that have a "window" on the top of the device through which program memory can be erased by ultra violet light, ready for reprogramming after a programming ("burn") and test cycle. Since 1998, EPROM versions are rare and have been replaced by EEPROM
EEPROM

EEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration....
 and flash
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
, which are easier to use (can be erased electronically) and cheaper to manufacture.

Other versions may be available where the ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 is accessed as an external device rather than as internal memory, however these are becoming increasingly rare due to the widespread availability of cheap microcontroller programmers.

The use of field-programmable devices on a microcontroller may allow field update of the firmware
Firmware

Firmware is a term sometimes used to denote the fixed, usually rather small, programs that internally control various electronic devices. Typical examples range from end user products such as remote controls or calculators, via computer parts and devices like harddisks, keyboard s, TFT screens or memory cards, all the way to scientific instr...
 or permit late factory revisions to products that have been assembled but not yet shipped. Programmable memory also reduces the lead time required for deployment of a new product.

Where hundreds of thousands of identical devices are required, using parts programmed at the time of manufacture can be an economical option. These 'Mask Programmed
Mask ROM

Mask ROM refers to a kind of Read-only memory whose contents are programmed by the integrated circuit manufacturer . The terminology "mask" comes from Semiconductor device fabrication, where regions of the chip are Photomask during the process of photolithography....
' parts have the program laid down in the same way as the logic of the chip, at the same time.

Programming environments

Microcontrollers were originally programmed only in assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
, but various high-level programming language
High-level programming language

In computing, a high-level programming language is a programming language with strong Abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or more Porting across platforms....
s are now also in common use to target microcontrollers. These languages are either designed specially for the purpose, or versions of general purpose languages such as the C programming language
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
. Compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
s for general purpose languages will typically have some restrictions as well as enhancements to better support the unique characteristics of microcontrollers. Some microcontrollers have environments to aid developing certain types of applications. Microcontroller vendors often make tools freely available to make it easier to adopt their hardware.

Many microcontrollers are so quirky that they effectively require their own non-standard dialects of C, such as SDCC for the 8051
Small Device C Compiler

The Small Device C Compiler is an open source, partially Retargetable compiler C compiler for microcontrollers. It is distributed under the GNU General Public License....
, which prevent using standard tools (such as code libraries or static analysis tools) even for code unrelated to hardware features. Interpreters are often used to hide such low level quirks.

Interpreter
Interpreter (computing)

In computer science, an interpreter normally means a computer program that execution , i.e. performs, instructions written in a programming language....
 firmware is also available for some microcontrollers. For example, BASIC on the early microcontrollers Intel 8052; BASIC and FORTH on the Zilog Z8
Zilog Z8

The Zilog Z8 is a microcontroller architecture, originally introduced in 1979, which today also includes the eZ8 Encore!, eZ8 Encore! XP, and eZ8 Encore! MC families....
as well as some modern devices. Typically these interpreters support interactive programming
Interactive programming

Interactive programming is the procedure of writing parts of a program while it is already active. This focuses on the program text as the main User interface for a running process, rather than an Interactive computing, where the program is designed in development cycles and used thereafter ....
.

Simulators
Logic simulation

Logic simulation is the use of a computer program to simulate the operation of a digital circuit. Logic simulation is the primary tool used for verifying the logical correctness of a hardware design....
 are available for some microcontrollers, such as in Microchip's MPLAB
MPLAB

MPLAB Integrated Development Environment is a free, integrated GNU Compiler Collection-based toolset for the development of embedded applications employing Microchip Technology PIC and dsPIC microcontrollers....
 environment. These allow a developer to analyse what the behaviour of the microcontroller and their program should be if they were using the actual part. A simulator will show the internal processor state and also that of the outputs, as well as allowing input signals to be generated. While on the one hand most simulators will be limited from being unable to simulate much other hardware in a system, they can exercise conditions that may otherwise be hard to reproduce at will in the physical implementation, and can be the quickest way to debug and analyse problems.

Recent microcontrollers are often integrated with on-chip debug circuitry that when accessed by an In-circuit emulator
In-circuit emulator

An in-circuit emulator is a hardware device used to debugger the software of an embedded system. It is usually in the form of bond-out processor which has many internal signals brought out for the purpose of debugging....
 via JTAG
JTAG

Joint Test Action Group is the common name used for the Institute of Electrical and Electronics Engineers 1149.1 standard entitled Standard Test Access Port and Boundary-Scan Architecture for test access ports used for testing printed circuit boards using boundary scan....
, allow debugging of the firmware with a debugger
Debugger

A debugger is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an Instruction Set Simulator, a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be much slower than executing the code directly on...
.

Types of microcontrollers


As of 2008 there are several common architectures:

  • MSP430
    TI MSP430

    The MSP430 is a microcontroller family from Texas Instruments. Built around a 16-bit CPU, the MSP430 is designed for low cost, low power consumption embedded applications....
     (16-bit)
  • CF (32-bit)
  • ARM
    ARM architecture

    The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
  • MIPS
    MIPS architecture

    MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
     (32-bit PIC32)
  • S08
    Freescale S08

    The 9S08 is a 8-bit microcontroller family originally from Motorola, now produced by Freescale Semiconductor, descended from the Motorola 6800 microprocessor....
  • AVR
    Atmel AVR

    The AVR is a Modified Harvard architecture 8-bit Reduced instruction set computer single chip microcontroller which was developed by Atmel in 1996....
  • PIC
    PIC microcontroller

    PIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division....
     (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24)
  • V850
    V850

    The NEC Electronics Corporation V850 is a 32-bit embedded RISC microcontroller originally developed and manufactured by NEC Corporation, succeeded by V850 variants named V850ES, V850E, and V850E2 which run uClinux....
  • PowerPC
    PowerPC

    PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
     ISE
  • PSoC (Programmable System-on-Chip)
    PSoC

    PSoC is a family of Mixed-signal integrated circuit arrays made by Cypress Semiconductor, featuring a microcontroller and configurable integrated analog and digital peripherals....


Others typically are used in very narrow range of applications or are more like processors than microcontrollers.

Interrupt latency

In contrast to general-purpose computers, microcontrollers used in embedded systems often seek to minimize interrupt latency
Interrupt latency

In real-time operating systems, interrupt latency is the time between the generation of an interrupt by a device and the servicing of the device which generated the interrupt....
 over instruction throughput.

When an electronic device causes an interrupt, the intermediate results, the registers, have to be saved before the software responsible for handling the interrupt can run, and then must be put back after it is finished. If there are more registers, this saving and restoring process takes more time, increasing the latency.

Low-latency MCUs generally have relatively few registers in their central processing units, or they have "shadow registers", a duplicate register set that is only used by the interrupt software.

History

The first single chip microprocessor was the 4 bit Intel 4004
Intel 4004

The Intel 4004 is a 4-bit central processing unit released by Intel Corporation in 1971. The 4004 is the first complete CPU on one chip, the first commercially available microprocessor, a feat made possible by the use of the new silicon gate technology allowing the integration of a higher number of transistors and a faster speed than was pos...
 released in 1971, with other
Intel 8008

The Intel 8008 was an early byte-oriented microprocessor designed and manufactured by Intel and introduced in April 1972. Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation to implement an instruction set designed for their Datapoint 2200 programmable terminal....
 more capable processors available over the next several years.

These however all required external chip(s) to implement a working system, raising total system cost, and making it impossible to economically computerise appliances.

The first computer system on a chip optimised for control applications - microcontroller was the Intel 8048
Intel 8048

The Intel 8048 microcontroller , Intel's first microcontroller, was used in the Magnavox Odyssey? video game console, the Korg Trident series, Roland Jupiter-4 and Roland ProMars analog synthesizers, and in the original IBM PC keyboard....
 released in 1975, with both RAM and ROM on the same chip. This chip went on to be found in over a billion PC keyboards, and numerous applications.

Most microcontrollers at this time had two variants. One had an erasable EEPROM
EEPROM

EEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration....
 program memory, which was significantly more expensive than the PROM
Programmable read-only memory

A programmable read-only memory or field programmable read-only memory is a form of digital memory where the setting of each bit is locked by a Fuse or antifuse....
 variant which was only programmable once.

In 1993, the introduction of EEPROM
EEPROM

EEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration....
 memory allowed microcontrollers (beginning with the Microchip PIC16x84
PIC16x84

The PIC16C84 and PIC16F84 are microcontrollers in the PIC microcontroller family of controllers, produced by Microchip Technology....
) ) to be electrically erased quickly without an expensive package as required for EPROM
EPROM

An EPROM, or Erasable Programmable Read Only Memory, is a type of memory integrated circuit that retains its data when its power supply is switched off....
, allowing both rapid prototyping, and In System Programming.

The same year, Atmel introduced the first microcontroller using Flash memory
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
. .

Other companies rapidly followed suit, with both memory types.

Cost has plummeted over time, with the cheapest microcontrollers being available for well under $0.25 in 2009 , and 32 bit microcontrollers under $5.

Nowadays microcontrollers are low cost and readily available for hobby
Hobby

A hobby is a leisure recreational pursuit....
ists, with large online communities around certain processors.

See also

  • Atmel AVR
    Atmel AVR

    The AVR is a Modified Harvard architecture 8-bit Reduced instruction set computer single chip microcontroller which was developed by Atmel in 1996....
  • Cypress Semiconductor
    Cypress Semiconductor

    Cypress Semiconductor Corporation is a Silicon Valley-based semiconductor design and manufacturing company founded by T. J. Rodgers and others from Advanced Micro Devices....
  • BASIC Stamp
    BASIC Stamp

    The BASIC Stamp is a microcontroller with a small, specialized BASIC programming language interpreter built into read-only memory. It is made by Parallax, Inc....
  • Contiki
    Contiki

    Contiki is a small, open source, highly porting, Computer multitasking computer operating system developed for use on a number of memory-constrained networked systems ranging from 8-bit computers to embedded systems on microcontrollers, including Wireless sensor network motes....
  • Energy Micro - EFM32
  • In-circuit emulator
    In-circuit emulator

    An in-circuit emulator is a hardware device used to debugger the software of an embedded system. It is usually in the form of bond-out processor which has many internal signals brought out for the purpose of debugging....
  • List of common microcontrollers
    List of common microcontrollers

    This is a list of common microcontrollers listed by brand....
  • Microarchitecture
    Microarchitecture

    In computer engineering, microarchitecture is a description of the electrical circuitry of a computer, central processing unit, or digital signal processor that is sufficient for completely describing the operation of the hardware....
  • Microbotics
    Microbotics

    Microbotics is the field of miniature robotics, in particular mobile robots with characteristic dimensions less than 1 mm. The term can also be used for robots capable of handling micrometer size components....
  • PIC microcontroller
    PIC microcontroller

    PIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division....
    s
  • Picotux
    Picotux

    Picotux is the smallest computer running Linux in the world. There are several different kinds of picotux available, but the main one is the picotux 100....
  • Programmable logic controller
    Programmable logic controller

    A programmable logic controller or programmable controller is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, control of amusement rides, or control of lighting fixtures....
  • PSoC
    PSoC

    PSoC is a family of Mixed-signal integrated circuit arrays made by Cypress Semiconductor, featuring a microcontroller and configurable integrated analog and digital peripherals....
  • MSP430
    TI MSP430

    The MSP430 is a microcontroller family from Texas Instruments. Built around a 16-bit CPU, the MSP430 is designed for low cost, low power consumption embedded applications....


External links


  • magazine