You are on page 1of 21

ABSTRACT

A microcontroller is sometimes described as a "computer on a chip" because it


contains all the features of a full computer including central processor, in-built clock
circuitry, ROM, RAM, input and output ports with special features such as serial
communication, analogue-to-digital conversion and, more recently, signal processing.

The smallest microcontroller has only eight pins but some having 68 pins are also
being marketed. In the last five years, the prices of microcontrollers have dropped by
80% and are now one of the most cost-effective components in industry. Being software-
driven, microcontrollers greatly simplify the design of sophisticated instrumentation and
control circuitry.

The microcontrollers are able to effect precise calculations sometimes needed for
feedback in control systems and now form the basis of all intelligent embedded systems
such as those required in television and VCR remote controls, microwave ovens, washing
machines, etc. More than ten times as many microcontrollers than microprocessors are
manufactured and sold in the world in spite of the high profile that the latter enjoys
because of the personal computer market.

In Zimbabwe, extensive research is being carried out to use microcontrollers to


aid the cost recovery of domestic and commercial solar installations as part of the rural
electrification programme, and now a day’s microcontroller low cost and readily
available for the hobbyists.
CHAPTER PARTICULARS PAGENO

ABSTRACT v

1 INTRODUCTION

1.1 DEFINITION 1

1.2 LITERATURE SURVEY 2

1.3 ORGANIZATION REPORT 4

2 EXISTING 8

2.1 EMBEDDED DESIGN

2.2 HIGHER INTEGRATION

2.3 LARGE VOLUMES

2.4 PROGRAMMING

ENVIRONMENTS 2.5 INTERRUPT

LATENCY

2.6 HISTORY

3 CONCLUSION

REFERENCES
CHAPTER-1

INTRODUCTION

A microcontroller (also MCU or µC) is a computer-on-a-chip. It is a type of


microprocessor emphasizing high integration, low power consumption, self-sufficiency
and cost-effectiveness, in contrast to a general-purpose microprocessor (the kind used in
a PC). In addition to the usual arithmetic and logic elements of a general purpose
microprocessor, the microcontroller typically integrates additional elements such as read-
write memory for data storage, read-only memory, such as flash for code storage,
EEPROM for permanent data storage, peripheral devices, and input/output interfaces. At
clock speeds of as little as a few MHz or even lower, microcontrollers often operate at
very low speed compared to modern day microprocessors, but this is adequate for typical
applications. They consume relatively little power (milliwatts), and will generally have
the ability to sleep while waiting for an interesting peripheral event such as a button press
to wake them up again to do something. Power consumption while sleeping may be just
nanowatts, making them ideal for low power and long lasting battery applications.

Microcontrollers are frequently 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, cost, and power consumption compared to a
design using a separate microprocessor, memory, and input/output devices,
microcontrollers make it economical to electronically control many more processes.

The integrated circuit from an Intel 8742, an 8-bit microcontroller that includes a CPU
running at 12 MHz, 128 bytes of RAM, 2048 bytes of EPROM, and I/O in the same chip.
1.1Definition

A microcontroller (also MCU or µC) is a computer-on-a-chip. It is a type of


microprocessor emphasizing high integration, low power consumption, self-sufficiency
and cost-effectiveness,
2.1 Embedded design

The majority of computer systems in use today are embedded in other machinery, such as
telephones, clocks, appliances, and vehicles. An embedded system may have minimal
requirements for memory and program length. Input and output devices may be discrete
switches, relays, or solenoids. An embedded controller may lack any human-readable
interface devices at all. For example, embedded systems usually don't have keyboards,
screens, disks, printers, or other recognizable I/O devices of a personal computer.
Microcontrollers may control electric motors, relays or voltages, and may read switches,
variable resistors or other electronic devices.

2.1.1 Embedded systems

A router, an example of an embedded system. Labelled parts include a microprocessor


(4), RAM (6), and flash memory (7).
An embedded system is a special-purpose computer system designed to perform one or a
few dedicated functions[1], often with real-time computing constraints. It is usually
embedded as part of a complete device including hardware and mechanical parts. In
contrast, a general-purpose computer, such as a personal computer, can do many different
tasks depending on programming. Embedded systems have become very important today
as they control many of the common devices we use.

Since the embedded system is dedicated to specific tasks, design engineers can optimize
it, reducing the size and cost of the product, or increasing the reliability and performance.
Some embedded systems are mass-produced, benefiting from economies of scale.

Physically, embedded systems range from portable devices such as digital watches and
MP3 players, to large stationary installations like traffic lights, factory controllers, or the
systems controlling nuclear power plants. Complexity varies from low, with a single
microcontroller chip, to very high with multiple units, peripherals and networks mounted
inside a large chassis or enclosure.

In general, "embedded system" is not an exactly defined term, as many systems have
some element of programmability. For example, Handheld computers share some
elements with embedded systems — such as the operating systems and microprocessors
which power them — but are not truly embedded systems, because they allow different
applications to be loaded and peripherals to be connected.

2.1.2Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit


(CPU) on a single integrated circuit (IC). [1] The first microprocessors emerged in the
early 1970s and were used for electronic calculators, using BCD arithmetics on 4-bit
words. Other embedded uses of 4 and 8-bit microprocessors, such as terminals, printers,
various kinds of automation etc, followed rather quickly. Affordable 8-bit
microprocessors with 16-bit addressing also led to the first general purpose
microcomputers in the mid-1970s.

Processors were for a long period constructed out of small and medium-scale ICs
containing the equivalent of a few to a few hundred transistors. The integration of the
whole CPU onto a single VLSI chip therefore greatly reduced the cost of processing
capacity. From their humble beginnings, continued increases in microprocessor capacity
has rendered other forms of computers almost completely obsolete (see history of
computing hardware), with one or more microprocessor as processing element in
everything from the smallest embedded systems and handheld devices to the largest
mainframes and super computers.

Since the early 1970s, the increase in processing capacity of evolving microprocessors
has been known to generally follow Moore's Law. It suggests that the complexity of an
integrated circuit, with respect to minimum component cost, doubles every 18 months. In
the late 1990s, heat generation (TDP), due to current leakage and other factors, emerged
as a leading developmental constraint[2].

2.1.3 Random access memory

Example of writable but volatile random access memory: Synchronous Dynamic RAM
modules, primarily used as main memory in personal computers, workstations, and
servers.
Random access memory (usually known by its acronym, RAM) is a type of computer
data storage. Today it takes the form of integrated circuits that allow the stored data to be
accessed in any order, i.e. at random. The word random thus refers to the fact that any
piece of data can be returned in a constant time, regardless of its physical location and
whether or not it is related to the previous piece of data.[1]

This contrasts with storage mechanisms such as tapes, magnetic discs and optical discs,
which rely on the physical movement of the recording medium or a reading head. In these
devices, the movement takes longer than the data transfer, and the retrieval time varies
depending on the physical location of the next item.

The word RAM is mostly associated with volatile types of memory (such as DRAM
memory modules), where the information is lost after the power is switched off.
However, many other types of memory are RAM as well (i.e. Random Access Memory),
including most types of ROM and a kind of flash memory called NOR-Flash.

2.1.4 Flash memory

A USB flash drive. The chip on the left is the flash memory. The microcontroller is on
the right.

Flash memory is non-volatile computer memory that can be electrically erased and
reprogrammed. It is a technology that is primarily used in memory cards and USB flash
drives (thumb drives, handy drive, memory stick, flash stick, jump drive) for general
storage and transfer of data between computers and other digital products. It is a specific
type of EEPROM (Electrically Erasable Programmable Read-Only Memory) that is
erased and programmed in large blocks; in early flash the entire chip had to be erased at
once. Flash memory costs far less than byte-programmable EEPROM and therefore has
become the dominant technology wherever a significant amount of non-volatile, solid-
state storage is needed. Examples of applications include PDAs (personal digital
assistants) and laptop computers, digital audio players, digital cameras and mobile
phones. It has also gained popularity in the game console market, where it is often used
instead of EEPROMs or battery-powered SRAM for game save data.

Flash memory is non-volatile, which means that it does not need power to maintain the
information stored in the chip. In addition, flash memory offers fast read access times
(although not as fast as volatile DRAM memory used for main memory in PCs) and
better kinetic shock resistance than hard disks. These characteristics explain the
popularity of flash memory in portable devices. Another feature of flash memory is that
when packaged in a "memory card", it is enormously durable, being able to withstand
intense pressure, extremes of temperature, and immersion in water.

Although technically a type of EEPROM, the term "EEPROM" is generally used to refer
specifically to non-flash EEPROM which is erasable in small blocks, typically bytes.
Because erase cycles are slow, the large block sizes used in flash memory erasing give it
a significant speed advantage over old-style EEPROM when writing large amounts of
data.

2.2 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, commonly with the following features:

central processing unit - ranging from small and simple 4-bit 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 such as serial ports (UARTs)

other serial communications interfaces like I²C, Serial Peripheral Interface and Controller
Area Network for system interconnect

peripherals such as timers, event counters, PWM generators, and watchdog

volatile memory (RAM) for data storage

ROM, EPROM, [EEPROM] or Flash memory for program and operating parameter
storage

clock generator - often an oscillator for a quartz timing crystal, resonator or RC circuit

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
PCB 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 systems since their
introduction in the 1970s.

Some microcontrollers use a Harvard architecture: 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 that would provide that commonly-
required function.

Microcontrollers typically do not have a math coprocessor, so multiplication and division


are carried out using a standard library, or the faster and more compact Horner method.

2.3 Large Volumes

About 55% of all CPUs sold in the world are 8-bit microcontrollers. Over 2 billion 8-bit
microcontrollers were sold in 1997. [1]

Another 10% are of all CPUs sold in the world are more specialized digital signal
processors (DSPs). [2]
Microcontrollers take the largest share of sales in the wider microprocessor market. Over
50% are "simple" controllers, and another 20% are more specialized digital signal
processors (DSPs)[citation needed]. A typical home in a developed country is likely to have only
one or two general-purpose microprocessors but somewhere between one and two dozen
microcontrollers. A typical mid range automobile has as many as 50 or more
microcontrollers. They can also be found in almost any electrical device: washing
machines, microwave ovens, telephones etc.

A PIC 18F8720 microcontroller in an 80-pin TQFP package.

Manufacturers have often produced special versions of their microcontrollers in order to


help the hardware and software development of the target system. These have included
EPROM 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.

An economical option for intermediate levels of production (usually a few score to a few
thousand parts) is a one-time programmable (OTP) microcontroller. This uses the same
die as the UV EPROM version of the part, and is programmed on the same equipment,
but the package does not include the expensive quartz window required to admit UV light
on to the chip.

Other versions may be available where the ROM is accessed as an external device rather
than as internal memory. A simple EPROM programmer, rather than a more complex and
expensive microcontroller programmer, may then be used, however there is a potential
loss of functionality through pin outs being tied up with external memory addressing
rather than for general input/output. These kind of devices usually carry a higher cost but
if the target production quantities are small, certainly in the case of a hobbyist, they can
be the most economical option compared with the set up charges involved in mask
programmed devices.

A more rarely encountered development microcontroller is the "piggy back" version. This
device has no internal ROM memory; instead pin outs on the top of the microcontroller
form a socket into which a standard EPROM program memory device may be installed.
The benefit of this approach is the release of microcontroller pins for input and output use
rather than program memory. These kinds of devices are normally expensive and are
impractical for anything but the development phase of a project or very small production
quantities.

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


the firmware 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 a large number of systems will be made (say, several thousand), the cost of a
mask-programmed memory is amortized over all products sold. A simpler integrated
circuit process is used, and the contents of the read-only memory are set in the last step of
chip manufacture instead of after assembly and test. However, mask-programmed parts
cannot be updated in the field. If product firmware updates are still contemplated, a
socket may be used to hold the controller which can then be replaced by a service
technician, if required.

2.4 Programming Environments

Microcontrollers were originally programmed only in assembly language, but various


high-level programming languages 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. Compilers
for general purpose languages will typically have some restrictions as well as
enhancements to better support the unique characteristics of microcontrollers.

Interpreter firmware is also available for some microcontrollers. The Intel 8052 and Zilog
Z8 were available with BASIC very early on, and BASIC is more recently used in the
BASIC Stamp MCUs.

Some microcontrollers have environments to aid developing certain types of applications,


e.g. Analog Device's Blackfin processors with the LabVIEW environment and its
programming language "G".

Simulators are available for some microcontrollers, such as in Microchip's MPLAB


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 integrated with on-chip debug circuitry accessed by In-circuit


emulator via JTAG enables a programmer to debug the software of an embedded system
with a debugger.

2.5 Interrupt Latency

In contrast to general-purpose computers, microcontrollers used in embedded systems


often seek to minimize interrupt latency 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.

2.6 History

The first microcontroller was the Intel 8048, released in 1976.

The popularity of microcontrollers increased when EEPROM memory was incorporated


to replace one time programmable PROM memory. With EEPROM, the development
cycle of programming, testing and erasing a part could be repeated many times with the
same part until the firmware was debugged and ready for production use.

List of common microcontrollers

This is a list of common microcontrollers listed by brand.

• AMCC
• ALTERA
• FREESCALE SEMICONDUCTOR
• INTEL

AMCC

Until May 2004, these µCs were developed and marketed by IBM, whose 4xx family was
sold to Applied Micro Circuits Corporation.

403 PowerPC CPU


PPC 403GCX

405 PowerPC CPU

PPC 405EP , PPC 405GP/CR , PPC 405GPr ,PPC NPe405H/L .

440 PowerPC Book-E CPU

PPC 440GP ,PPC 440GX, PPC 440EP/EPx/GRx ,PPC 440SP/SPe

Altera

Nios II 32-bit configurable soft microprocessor

Nios 16-bit configurable soft processor

Freescale Semiconductor

Until 2004, these µCs were developed and marketed by Motorola, whose semiconductor
division was spun-off to establish Freescale.

8-bit

68HC05 (CPU05), 68HC08 (CPU08), 68HC11 (CPU11)

16-bit

68HC12 (CPU12) , 68HC16 (CPU16) , Freescale DSP56800 (DSPcontroller)

32-bit

Freescale 683XX, MPC500

MPC 860 (PowerQUICC)


MPC 8240/8250 (PowerQUICC II)

MPC 8540/8555/8560 (PowerQUICC III)

Intel

8-bit

MCS-48 (8048 family – also incl. 8035, 8038, 8039, 8040, 8X42, 8X49, 8050; X=0 or 7)

MCS-51 (8051 family – also incl. 8X31, 8X32, 8X52; X=0, 3, or 7)

8xC251

16-bit

MCS-96 (8096 family – also incl. 8061)

Intel MCS 296

Microchip Technology

8 and 16-bit microcontrollers with 12 to 24-bit instructions

ability to include DSP function

12-bit instruction PIC

14-bit instruction PIC

PIC16F84

16-bit instruction PIC , 32-bit instruction PIC


7. Development platforms for hobbyists

For almost every manufacturer of bare microcontrollers, there are various companies
repacking its products into more hobbyist-friendly packages. Their product is often an
MCU preloaded with a BASIC or similar interpreter, soldered onto a board with the same
footprint as a Dual Inline Pin package for convenient prototyping, and possibly a few
external components such as a power regulator and clock source. PICmicros seem to be
very popular here, possibly due to good static protection. More powerful examples (e.g.
faster execution, more RAM and code space) are based on Atmel AVR or Hitachi chips
and now ARM.

7.1 Arduino

Arduino is an open-source physical computing platform based on a simple input/output


board and a development environment that implements the Processing/Wiring language.
Arduino can be used to develop stand-alone interactive objects or can be connected to
software on your computer (e.g. Flash, Processing, MaxMSP). The boards can be
assembled by hand or purchased preassembled; the open-source IDE can be downloaded
for free. Arduino uses an ATmega8 or ATmega168 microcontroller from Atmel's Atmel
AVR series.

7.2 Platforms from Parallax, Inc.

Parallax produce the BASIC Stamp. These are Microchip PIC microcontrollers
programmed with an interpreter that processes a program stored in an external EEPROM.
Several different modules are available of varying processing speeds, RAM, and
EEPROM sizes. The BASIC Stamp is used by Parallax as a platform for introductory
programming and robotic kits.

SX-Key is Parallax's development tool for the SX line of microcontrollers, supporting


every SX chip commercially available. Using free SX-Key software (Assembly
language), or the SX/B Compiler (BASIC-style language) from Parallax, the SX-Key
programming tool can program SX chips in-system and perform in-circuit source-level
debugging.

The Propeller is a multi-core microcontroller developed by Parallax, Inc. The currently


released version features eight 32 bit cores, each operating independently at 80MHz, and
32 I/O pins. Most instructions require 4 clock cycles, so each core runs at 20 MIPS. Hub
instructions, used to access the 8192 32 bit words of system memory and to communicate
between cores, require between 7 and 22 clock cycles. There are also 512 32 bit words of
memory on each core, which can be used to avoid using the slower system memory
instructions. It can be programmed both in assembly language and a custom interpreted
language named SPIN.

7.3 PICAXE

This PICAXE range of controllers from Revolution Education Limited [1] are also based
upon Microchip PICs and programmed with a BASIC interpreter. Using internal
EEPROM or Flash to store the user's program, they deliver a single-chip solution and are
quite inexpensive. A PICAXE programmer is simply a serial plug plus two resistors, and
complete development software, comprehensive documentation and application notes are
all available free of charge.

The BASIC-like programming language is almost identical to that used by Parallax's


Basic Stamp 1 (BS1) but has been enhanced to support on-chip hardware and additional
functionality. In common with the BS1 programming language, the PICAXE has support
only for a limited number of variables, but allows access to internal RAM for storage
which helps overcome that limitation.

The 5.0.X versions of the Visual IDE (the Programming Editor) introduced 'enhanced
compilers' that support block-structured programming constructs plus conditional
compilation and other directives.
Initially targeted at the UK educational sector, use of the PICAXE has spread to
hobbyists and semi-professionals, and it can also be found inside some commercial
products.

7.4 A-WIT Technologies, Inc.


A-WIT Technologies, Inc.[2] has a microcontroller module named the C STAMP, along
with support boards, kits, and software tools and infrastructure. The C STAMP is
designed around a PIC microcontroller, and is programmed in a very user friendly subset
of the standard C language called WC that is easy and powerful, because it relies on A-
WIT's supplied software infrastructure. This microcontroller module is very affordable,
and it has 48 pins, 35 KiB of memory, and runs at 40 MHz. The C STAMP also has a
vast array of accessories and components, which are supported by A-WIT's software
interfaces that enables seamless connectivity. This, in turn, enhances the ease of complete
system development.

7.5 Comfile Technology Inc.


Comfile Technology Inc.[3] produces a series of microcontrollers branded as CUBLOC
and CuTOUCH, using the Atmel ATmega128 processor. They are very price
competitive, being aimed at industrial applications, and include features such as Ladder
Logic in addition to BASIC, a 80 kB program memory, and hardware pulse width
modulation. Their focus is on developing industrial controllers which are fast, easy-to-
use, and versatile. Comfile Technology's CuTOUCH is a visual Touch-screen controller
that can be programmed in BASIC and Ladder Logic.
CHAPTER-3

CONCLUSION

Conclusion
WBANs promise inexpensive, unobtrusive, and unsupervised ambulatory monitoring during
normal daily activities for prolonged periods of time. To make this technology ubiquitous and
affordable, a number of challenging issues should be resolved, such as system design,
configuration and customization, seamless integration, standardization, further utilization of
common off-the-shelf components, security and privacy, and social issues.

You might also like