0% found this document useful (0 votes)
26 views22 pages

Embedded Systems Overview and Applications

This document provides an introduction to embedded systems. It discusses that embedded systems include microcontrollers configured to perform dedicated applications. It describes embedded systems as combining computer hardware and software to perform specific functions within larger systems. Some key characteristics of embedded systems are high speed, low power consumption, small size, high accuracy, adaptability, and reliability. Embedded systems are classified based on their functional and performance requirements into stand-alone, real-time, networked, and mobile embedded systems. The document provides examples to illustrate each category and outlines several application areas of embedded systems.

Uploaded by

sh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views22 pages

Embedded Systems Overview and Applications

This document provides an introduction to embedded systems. It discusses that embedded systems include microcontrollers configured to perform dedicated applications. It describes embedded systems as combining computer hardware and software to perform specific functions within larger systems. Some key characteristics of embedded systems are high speed, low power consumption, small size, high accuracy, adaptability, and reliability. Embedded systems are classified based on their functional and performance requirements into stand-alone, real-time, networked, and mobile embedded systems. The document provides examples to illustrate each category and outlines several application areas of embedded systems.

Uploaded by

sh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UNIT -I

Introduction to Embedded systems

INTRODUCTION:
An embedded system is an electronic system, which includes a single chip microcomputers
(Microcontrollers) like the ARM or Cortex or Stellaris LM3S1968.
It is configured to perform a specific dedicated application.
An embedded system is some combination of computer hardware and software, either fixed in
capability or programmable, that is designed for a specific function or for specific functions within
a larger system.
Here the microcomputer is embedded or hidden inside the system. Every embedded
microcomputer system accepts inputs, performs computations, and generates outputs and runs in

Ex: Cell phone, Digital camera, Microwave Oven, MP3 player, Portable digital assistant & automobile
antilock brake system Industrial machines, agricultural and process industry devices, automobiles, medical
equipment, household appliances, airplanes, vending machines and toys as well as mobile devices are all
possible locations for an embedded [Link].

Characteristics of an Embedded System: The important characteristics of an embedded system are

Speed (bytes/sec) : Should be high speed


Power (watts) : Low power dissipation
Size and weight : As far as possible small in size and low weight
Accuracy (% error) : Must be very accurate
Adaptability: High adaptability and accessibility.
Reliability: Must be reliable over a long period of time.

So, an embedded system must perform the operations at a high speed so that it can be readily used for
real time applications and its power consumption must be very low and the size of the system should be as
for as possible small and the readings must be accurate with minimum error. The system must be easily
adaptable for different situations.
CATEGORIES OF EMBEDDED SYSTEMS: Embedded systems can be classified into the following 4
categories based on their functional and performance requirements.
Embedded system

Functional
performance
Stand alone embedded systems small scale embedded system
Real time embedded system medium scale embedded s/m
a) Hard real time E.S
b) Soft Real time E.S
Networked embedded system large scale embedded system
Mobile embedded system .

Stand alone Embedded systems:


A stand-alone embedded system works by itself. It is a self-contained device which does not require
any host system like a computer. It takes either digital or analog inputs from its input ports, calibrates,
converts, and processes the data, and outputs the resulting data to its attached output device, which either
displays data, or controls and drives the attached devices.
EX: Temperature measurement systems, Video game consoles, MP3 players, digital cameras, and
microwave ovens are the examples for this category.

Real-time embedded systems:


An embedded system which gives the required output in a specified time or which strictly follows
the time deadlines for completion of a task is known as a Real time system. i.e. a Real Time system , in
addition to functional correctness, also satisfies the time constraints .

There are two types of Real time systems. (i) Soft real time system and (ii) Hard real time system.
Soft Real-Time system: A Real time system in which, the violation of time constraints will cause
only the degraded quality, but the system can continue to operate is known as a Soft real time
system. In soft real-time systems, the design focus is to offer a guaranteed bandwidth to each real-
time task and to distribute the resources to the tasks.
Ex: A Microwave Oven, washing machine, TV remote etc.
Hard Real-Time system: A Real time system in which, the violation of time constraints will cause
critical failure and loss of life or property damage or catastrophe is known as a Hard Real t ime
system.
These systems usually interact directly with physical hardware instead of through a human being .The
hardware and software of hard real-time systems must allow a worst case execution (WCET) analysis that
guarantees the execution be completed within a strict deadline. The chip selection and RTOS selection
become important factors for hard real-time system design.
Ex: Deadline in a missile control embedded system , Delayed alarm during a Gas leakage , car airbag
control system , A delayed response in pacemakers ,Failure in RADAR functioning etc.

Networked embedded systems:


The networked embedded systems are related to a network with network interfaces to access the
resources. The connected network can be a Local Area Network (LAN) or a Wide Area Network (WAN), or
the Internet. The connection can be either wired or wireless.
The networked embedded system is the fastest growing area in embedded systems applications. The
embedded web server is such a system where all embedded devices are connected to a web server and can
be accessed and controlled by any web browser.
Ex: A home security system is an example of a LAN networked embedded system where all sensors (e.g.
motion detectors, light sensors, or smoke sensors) are wired and running on the TCP/IP protocol.

Mobile Embedded systems:


The portable embedded devices like mobile and cellular phones, digital cameras, MP3 players, PDA
(Personal Digital Assistants) are the example for mobile embedded systems. The basic limitation of these
devices is the limitation of memory and other resources.

Based on the performance of the Microcontroller they are also classified into (i) Small scaled
embedded system (ii) Medium scaled embedded system and (iii) Large scaled embedded system.

Small scaled embedded system:


An embedded system supported by a single 8 16 bit Microcontroller with on-chip RAM and ROM
designed to perform simple tasks is a Small scale embedded system.

Medium scaled embedded system:


An embedded system supported by 16 32 bit Microcontroller /Microprocessor with external RAM
and ROM that can perform more complex operations is a Medium scale embedded system.

Large scaled embedded system:


An embedded system supported by 32-64 bit multiple chips which can perform distributed jobs is
considered as a Large scale embedded system.

Application Areas of Embedded Systems:


The embedded systems have a huge variety of application domains which varies from very low cost
to very high cost and from daily life consumer electronics to industry automation equipments, from
entertainment devices to academic equipments, and from medical instruments to aerospace and weapon
control systems. So, the embedded systems span all aspects of our modern life. The following table gives
the various applications of embedded systems.

Embedded System Application


Home Appliances Dishwasher, washing machine, microwave, Top-set box,
security system , HVAC system, DVD, answering machine,
garden sprinkler systems etc..
Office Automation Fax, copy machine, smart phone system, modern, scanner,
printers.
Security Face recognition, finger recognition, eye recognition, building
security system , airport security system, alarm system.
Academia Smart board, smart room, OCR, calculator, smart cord.
Instrumentation Signal generator, signal processor, power supplier,Process
instrumentation,
Telecommunication Router, hub, cellular phone, IP phone, web camera
Automobile Fuel injection controller, anti-locking brake system, air-bag
system, GPS, cruise control.
Entertainment P3, video game, Mind Storm, smart toy.
Aerospace Navigation system, automatic landing system, flight attitude
controller, space explorer, space robotics.
Industrial automation Assembly line, data collection system, monitoring systems on
pressure, voltage, current, temperature, hazard detecting
system, industrial robot.
Personal PDA, iPhone, palmtop, data organizer.
Medical CT scanner, ECG , EEG , EMG ,MRI, Glucose monitor,
blood pressure monitor, medical diagnostic device.
Banking & Finance ATM, smart vendor machine, cash register ,Share market
Miscellaneous: Elevators, tread mill, smart card, security door etc.

Overview of embedded systems architecture :


Every embedded system consists of customer-built hardware components supported by a Central
Processing Unit (CPU), which is the heart of a microprocessor (µP) or microcontroller (µC).
A microcontroller is an integrated chip which comes with built-in memory, I/O ports, timers, and
other components.
Most embedded systems are built on microcontrollers, which run faster than a custom-built system
with a microprocessor, because all components are integrated within a single chip.
Operating system plays an important role in most of the embedded systems. But all the embedded
systems do not use the operating system.
The systems with high end applications only use operating system. To use the operating system the
embedded system should have large memory capability.
So, this is not possible in low end applications like remote systems, digital cameras, MP3 players,
robot toys etc.
The architecture of an embedded system with OS can be denoted by layered structure as shown
below.
The OS will provide an interface between the hardware and application software.

In the case of embedded systems with OS, once the application software is loaded into memory it
will run the application without any host system.
Coming to the hardware details of the embedded system, it consists of the following important blocks.
CPU(Central Processing Unit)
RAM and ROM
I/O Devices
Communication Interfaces
Sensors etc. (Application specific circuitry)
This hardware architecture can be shown by the following block diagram.

Fig: hardware architecture of embedded system

Central Processing Unit:


A CPU is composed of an Arithmetic Logic Unit (ALU), a Control Unit (CU), and many internal
registers that are connected by buses.
The ALU performs all the mathematical operations (Add, Sub, Mul, Div), logical operations (AND,
OR), and shifting operations within CPU.
The timing and sequencing of all CPU operations are controlled by the CU, which is actually built of
many selection circuits including latches and decoders. The CU is responsible for directing the flow
of instruction and data within the CPU and continuously running program instructions step by step.
The CPU works in a cycle of fetching an instruction, decoding it, and executing it, known as the
fetch-decode-execute cycle.
For embedded system design, many factors impact the CPU selection, e.g., the maximum size
(number of bits) in a single operand for ALU (8, 16, 32, 64 bits), and CPU clock frequency for
timing tick control, i.e. the number of ticks (clock cycles) per second in measures of MHz
CPU contains the core and the other components which support the core to execute programs.
Peripherals are the components which communicate with other systems or physical world (Like
ports, ADC,DAC, Watch dog Timers etc.). The core is separated from other components by the
system bus.
The CPU in the embedded system may be a general purpose processor like a microcontroller or a
special purpose processor like a DSP (Digital signal processor). But any CPU consists of of an
Arithmetic Logic Unit (ALU), a Control Unit (CU), and many internal registers that are connected
by buses. The ALU performs all the mathematical operations (Add, Sub, Mul, Div), logical
operations (AND, OR), and shifting operations within CPU.

There are many internal registers in the CPU.

The accumulator (A) is a special data register that stores the result of ALU operations. It can also
be used as an operand. The Program Counter (PC) stores the memory location of the next instruction
to be executed. The Instruction Register (IR) stores the current machine instruction to be decoded
and executed.
The Data Buffer Registers store the data received from the memory or the data to be sent to memory.
The Data Buffer Registers are connected to the data bus.
The Address Register stores the memory location of the data to be accessed (get or set). The Address
Register is connected to the address bus.
In an embedded system, the CPU may never stop and run forever .The CPU works in a cycle of
fetching an instruction, decoding it, and executing it, known as the fetch-decode-execute cycle. The
cycle begins when an instruction is fetched from a memory location pointed to by the PC to the IR
via the data bus.
When data and code lie in different memory blocks, then the architecture is referred as Harvard
architecture. In case data and code lie in the same memory block, then the architecture is referred as Von
Neumann architecture.
Von Neumann Architecture:
The Von Neumann architecture was first proposed by a computer scientist John von Neumann. In
this architecture, one data path or bus exists for both instruction and data. As a result, the CPU does one
operation at a time. It either fetches an instruction from memory, or performs read/write operation on data.
So an instruction fetch and a data operation cannot occur simultaneously, sharing a common bus.
addressbus
CPU code &
program
databus memory

Von-Neumann architecture supports simple hardware. It allows the use of a single, sequential
memory. Today's processing speeds vastly outpace memory access times, and we employ a very fast but
small amount of memory (cache) local to the processor.

Harvard Architecture:
The Harvard architecture offers separate storage and signal buses for instructions and data. This
architecture has data storage entirely contained within the CPU, and there is no access to the instruction
storage as data. Computers have separate memory areas for program instructions and data using internal
data buses, allowing simultaneous access to both instructions and data.
Programs needed to be loaded by an operator; the processor could not boot itself. In a Harvard
architecture, there is no need to make the two memories share properties.

Von-Neumann Architecture vs Harvard Architecture:

PROGRAM CPU CODE


MEMORY MEMORY

The following points distinguish the Von Neumann Architecture from the Harvard Architecture.
Von-Neumann Architecture Harvard Architecture
Single memory to be shared by both code and data. Separate memories for code and data.
Processor needs to fetch code in a separate clock Single clock cycle is sufficient, as
cycle and data in another clock cycle. So it separate buses are used to access code
requires two clock cycles. and data.
Higher speed, thus less time consuming. Slower in speed, thus more time-
consuming.
Simple in design. Complex in design.

CISC and RISC:


CISC is a Complex Instruction Set Computer. It is a computer that can address a large number of
instructions.
In the early 1980s, computer designers recommended that computers should use fewer instructions
with simple constructs so that they can be executed much faster within the CPU without having to
use memory. Such computers are classified as Reduced Instruction Set Computer or RISC.

CISC vs RISC:

CISC RISC
Larger set of instructions. Easy to program Smaller set of Instructions. Difficult to
program.
Simpler design of compiler, considering Complex design of compiler.
larger set of instructions.
Many addressing modes causing complex Few addressing modes, fix instruction
instruction formats. format.
Instruction length is variable. Instruction length varies.
Higher clock cycles per second. Low clock cycle per second.
Emphasis is on hardware. Emphasis is on software.
Control unit implements large instruction set Each instruction is to be executed by
using micro-program unit. hardware.
Slower execution, as instructions are to be Faster execution, as each instruction is to be
read from memory and decoded by the executed by hardware.
decoder unit.
Pipelining is not possible. Pipelining of instructions is possible,
considering single clock cycle.
Mainly used for real time applications.
servers.

Memory:
Embedded system memory can be either on-chip or off-chip.
On chip memory access is much fast than off-chip memory, but the size of on-chip memory is much
smaller than the size of off-chip memory.
Usually, it takes at least two I/O ports as external address lines plus a few control lines such as
R/W and ALE control lines to enable the extended memory. Generally the data is stored in RAM
and the program is stored in ROM.
The ROM, EPROM, and Flash memory are all read-only type memories often used to store code in
an embedded system.
The embedded system code does not change after the code is loaded into memory.
The ROM is programmed at the factory and cannot be changed over time.
The newer microcontrollers come with EPROM or Flash instead of ROM.
Most microcontroller development kits come with EPROM as well.
EPROM and Flash memory are easier to rewrite than ROM. EPROM is an Erasable Programmable
ROM in which the contents can be field programmed by a special burner and can be erased by a UV
light bulb.
The size of EPROM ranges up to 32kb in most embedded systems.
Flash memory is an Electrically EPROM which can be programmed from software so that the
-program it.
It is much quicker and easier to re-write Flash than other types of EPROM.
When the power is on, the first instruction in ROM is loaded into the PC and then the CPU fetches
the instruction from the location in the ROM pointed to by the PC and stores it in the IR to start the
continuous CPU fetch and execution cycle. The PC is advanced to the address of the next
instruction depending on the length of the current instruction or the destination of the Jump
instruction.
The memory is divided into Data Memory and Code Memory.
Most of data is stored in Random Access Memory (RAM) and code is stored in Read Only Memory
(ROM).
This is due to the RAM constraint of the embedded system and the memory organization.
The RAM is readable and writable, faster access and more expensive volatile storage, which can be
used to store either data or code.
Once the power is turned off, all information stored in the RAM will be lost.
The RAM chip can be SRAM (static) or DRAM (dynamic) depending on the manufacturer. SRAM
is faster than DRAM, but is more expensive.

I/O Ports:
The I/O ports are used to connect input and output devices. The common input devices for an
embedded system include keypads, switches, buttons, knobs, and all kinds of sensors (light,
temperature, pressure, etc).
The output devices include Light Emitting Diodes (LED), Liquid Crystal Displays (LCD), printers,
alarms, actuators, etc. Some devices support both input and output, such as communication
interfaces including Network Interface Cards (NIC), modems, and mobile phones.

Address Lines

Data Lines
µp Memory

Control Lines

Interface 26

In parallel I/O have two types of interfacing


1. Memory mapped I/O
2. I/O mapped I/O
Memory Mapped IO IO Mapped IO

IO is treated as IO is treated IO.


memory.
8- bit addressing.
16-bit addressing.
Less Decoder Hardware.
More Decoder
Can address 28=256
Hardware.
locations.
Can address 216=64k Whole memory address
locations.
space is available.
Less memory is
available.
38
Communication Interfaces:
To transfer the data or to interact with other devices, the embedded devices are provided the various
communication interfaces like RS232, RS422, RS485 ,USB, SPI(Serial Peripheral Interface ) ,SCI
(Serial Communication Interface) ,Ethernet etc.

Application Specific Circuitry:


The embedded system sometimes receives the input from a sensor or actuator. In such situations
certain signal conditioning circuitry is needed. This hardware circuitry may contain ADC, Op-amps,
DAC etc. Such circuitry will interact with the embedded system to give correct output.
ADC & DAC:
Many embedded system application need to deal with non-digital external signals such as electronic
voltage, music or voice, temperature, pressures, and many other signals in the analog form.
The digital computer does not understand these data unless they are converted to digital formats.
The ADC is responsible for converting analog values to binary digits.
The DAC is responsible for outputting analog signals for automation controls such as DC motor or
HVDC furnace control.
In addition to these peripherals, an embedded system may also have sensors, Display modules like LCD or
Touch screen panels, Debug ports certain communication peripherals like I 2C, SPI, Ethernet, CAN, USB for
high speed data transmission. Now a days various sensors are also becoming an important part in the design
of real time embedded systems. Sensors like temperature sensors, light sensors, PIR sensors, gas sensors are
widely used in application specific circuitry.

Address bus and data bus:


According to computer architecture, a bus is defined as a system that transfers data between
hardware components of a computer or between two separate computers.

Initially, buses were made up using electrical wires, but now the term bus is used more broadly to
identify any physical subsystem that provides equal functionality as the earlier electrical buses.

Computer buses can be parallel or serial and can be connected as multidrop, daisy chain or by
switched hubs.

System bus is a single bus that helps all major components of a computer to communicate with each
other.

It is made up of an address bus, data bus and a control bus. The data bus carries the data to be
stored, while address bus carries the location to where it should be stored.

Address Bus
Address bus is a part of the computer system bus that is dedicated for specifying a physical address.

When the computer processor needs to read or write from or to the memory, it uses the address bus
to specify the physical address of the individual memory block it needs to access (the actual data is
sent along the data bus).

More correctly, when the processor wants to write some data to the memory, it will assert the write
signal, set the write address on the address bus and put the data on to the data bus.

Similarly, when the processor wants to read some data residing in the memory, it will assert the read
signal and set the read address on the address bus.

After receiving this signal, the memory controller will get the data from the specific memory block
(after checking the address bus to get the read address) and then it will place the data of the memory
block on to the data bus.

The size of the memory that can be addressed by the system determines the width of the data bus
and vice versa. For example, if the width of the address bus is 32 bits, the system can address 232 memory
blocks (that is equal to 4GB memory space, given that one block holds 1 byte of data).

Data Bus
A data bus simply carries data. Internal buses carry information within the processor, while external
buses carry data between the processor and the memory.

Typically, the same data bus is used for both read/write operations. When it is a write operation, the
processor will put the data (to be written) on to the data bus.

When it is the read operation, the memory controller will get the data from the specific memory
block and put it in to the data bus.

What is the difference between Address Bus and Data Bus?


Data bus is bidirectional, while address bus is unidirectional. That means data travels in both
directions but the addresses will travel in only one direction.

The reason for this is that unlike the data, the address is always specified by the processor. The
width of the data bus is determined by the size of the individual memory block, while the width of
the address bus is determined by the size of the memory that should be addressed by the system.

Power supply:
Most of the embedded systems now days work on battery operated supplies.
Because low power dissipation is always required. Hence the systems are designed to work with
batteries.

Clock:
The clock is used to control the clocking requirement of the CPU for executing instructions and the
configuration of timers. For ex: the 8051 clock cycle is (1/12)10-6 second (1/12µs) because the
clock frequency is 12MHz. A simple 8051 instruction takes 12 cycles (1ms) to complete. Of course,
some multi-cycle instructions take more clock cycles.
A timer is a real-time clock for real-time programming. Every timer comes with a counter which can
be configured by programs to count the incoming pulses. When the counter overflows (resets to
zero) it will fire a timeout interrupt that triggers predefined actions. Many time delays can be
generated by timers. For example ,a timer counter configured to 24,000 will trigger the timeout
signal in 24000x 1/12µs = 2ms.
In addition to time delay generation, the timer is also widely used in the real-time embedded system
to schedule multiple tasks in multitasking programming. The watchdog timer is a special timing
device that resets the system after a preset time delay in case of system anomaly. The watchdog
starts up automatically after the system power up.
One need to reboot the PC now and then due to various faults caused by hardware or software. An
embedded system cannot be rebooted manually, because it has been embedded into its system. That
is why many microcontrollers come with an on-chip watchdog timer which can be configured just
like the counter in the regular timer. After a system gets stuck (power supply voltage out of range or
regular timer does not issue timeout after reaching zero count) the watchdog eventually will restart
the system to bring the system back to a normal operational condition.

Application Specific software:


It sits above the O.S. The application software is developed according to the features of the
development tools available in the OS.
These development tools provide the function calls to access the services of the OS. These function
calls include, creating a task ,to read the data from the port and write the data to the memory etc.
The various function calls provided by an operating system are
i. To create ,suspend and delete tasks.
ii. To do task scheduling to providing real time environment.
iii. To create inter task communication and achieve the synchronization between tasks.
iv. To access the I/O devices.
v. To access the communication protocol stack .
The designer develops the application software based on these function calls.

Recent trends in Embedded systems : With the fast developments in semiconductor industry and
VLSI technology ,one can find tremendous changes in the embedded system design in terms of processor
speed , power , communication interfaces including network capabilities and software developments like
operating systems and programming languages etc.
Processor speed and Power : With the advancements in processor technology ,the embedded
systems are now days designed with 16,32 bit processors which can work in real time environment.
These processors are able to perform high speed signal processing activities which resulted in the
development of high definition communication devices like 3G mobiles [Link] the recent
developments in VLSI technology has paved the way for low power battery operated devices which
are very handy and have high longevity. Also , the present day embedded systems are provided
with higher memory capabilities ,so that most of them are based on tiny operating systems like
android etc.
Communication interfaces : Most of the present day embedded systems are aimed at internet based
applications. So,the communication interfaces like Ethernet, USB, wireless LAN [Link] become
very common resources in almost all the embedded systems. The developments in memory
technologies also helped in porting the TCP/IP protocol stack and the HTTP server software on to
the embedded systems. Such embedded systems can provide a link between any two devices
anywhere in the globe.
Operating systems : With recent software developments ,there is a considerable growth in the
availability of operating systems for embedded systems. Mainly new operating systems are
developed which can be used in real time applications. There are both commercial RTOSes like Vx
Works , QNX,WIN-CE and open source RTOSes like RTLINUX etc. The Android OS in mobiles
has revolutionized the embedded industry.
Programming Languages : There is also a remarkable development in the programming languages.
Languages like C++, Java etc. are now widely used in embedded application programming. For
example by having the Java virtual machine in a mobile phones ,one can download Java applets
from a server and can be executed on your mobile.
In addition to these developments, now a days we also find new devices like ASICs and FPGAs in the
embedded system market. These new hardware devices are popular as programmable devices and
reconfigurable devices.

Msp430 introduction:
The MSP430 was introduced in the late 1990s. It is a particularly straightforward 16-bit processor
with a von Neumann architecture, designed for low-power applications.

Both the address and data buses are 16 bits wide. The registers in the CPU are also all 16 bits wide
and can be used interchangeably for either data or addresses.

This makes the MSP430 simpler than an 8-bit processor with 16-bit addresses. Such a processor
must use its general-purpose registers in pairs for addresses or provide separate, wider registers.

- and 16-bit processors.

The 16- -bit processor. On the other hand, it can


address only 216 =64KB of memory.

local variables, parameters passed to subroutines, and either addresses or data.

thmetic directly on
values in main memory.

Microcontrollers typically spend much of their time on such operations. The MSP430 is the simplest
microcontroller in Texas Instrumentations.

Several features make the MSP430 suitable for low-power and portable applications:
Features of MSP430:
It is extremely easy to put the device into a low-power mode. No special instruction is needed.
The mode is controlled by bits in the status register. There are several low-power modes, depending
on how much of the device should remain active and how quickly it should return to full-speed
operation.
There is a wide choice of clocks. Typically, a low-frequency watch crystal runs continuously at
32KHz and is used to wake the device periodically. The CPU is clocked by an internal, digitally
controlled oscillator (DCO), which restarts in less than 1us in the latest devices.
Therefore the MSP430 can wake from a standby mode rapidly, perform its tasks, and return to a
low-power mode.
A wide range of peripherals is available, many of which can run autonomously without the CPU for
most of the time.
Many portable devices include liquid crystal displays, which the MSP430 can drive directly.
Some MSP430 devices are classed as application-
specialized analog hardware for various types of measurement.

Ultra-low-power (ULP) architecture and flexible clock system extend battery life
Low power consumption:
o Retention,
o
o 250 A /MIPS at active operation.
Low operation voltage (from 1.8 V to 3.6 V).
o Zero-power Brown-Out Reset (BOR).
Enhanced libraries to benefit several applications such as capacitive touch, metering metrology,
low power design and debugging
Extensive interrupt capability relieves need for polling
Flexible and powerful processing capabilities:
Seven source-address modes
Four destination-address modes
Only 27 core instructions
Prioritized, nested interrupts
Large register file
Efficient table processing
Fast hex-to-decimal conversion
ARCHITECTURE OF MSP430:
The Inside View Functional Block Diagram Figure shows a block diagram of the F2013.

These are its main features: On the left is the CPU and its supporting hardware, including the clock
generator. The emulation, JTAG interface and Spy-Bi-Wire are used to communicate with a desktop
computer when downloading a program and for debugging.
The main blocks are linked by the memory address bus (MAB) and memory data bus (MDB).

Six blocks are shown for peripheral functions (there are many more in larger devices).
All MSP430s include input/output ports, Timer_A, and a watchdog timer, although the details differ.
The universal serial interface (USI) and sigma delta analog-to-digital converter (SD16_A) are
particular features of this device.
The brownout protection comes into action if the supply voltage drops to a dangerous level. Most
devices include this but not some of the MSP430x1xx family.

The supply connection is VCC. For many years, the standard for logic was VCC =+5V but most
devices now work from lower voltages and a range of 1.8
memory if VCC < 2.2V and the maximum clock frequency of 16MHz is available only if VCC

-effect
transistor, while the C stands for the collector of a bipolar junction transistor, a quite different
device.
The MSP430, like most modern integrated circuits, is built using complementary metal oxide
-effect transistors. I doubt if it contains any bipolar junction
transistors except possibly in some of the analog peripherals.
There is only one pair of address and data buses, as expected with a von Neumann architecture.

memory map next.

Clock Generator:
Clocks for microcontrollers used to be simple. Usually a crystal with a frequency of a few MHz
would be connected to two pins.
It would drive the CPU directly and was typically divided down by a factor of 2 or 4 for the main
bus.
nce and low power mean that most modern
microcontrollers have much more complicated clocks, often with two or more sources.
In many applications the MCU spends most of its time in a low-power mode until some event
occurs, when it must wake up and handle the event rapidly. It is often necessary to keep track of real
time, either so that the MCU can wake periodically (every second or minute, for instance) or to time-
stamp external events.
eded:
1. Afast clock to drive the CPU, which can be started and stopped rapidly to conserve energy but
usually need not be particularly accurate.
2. Aslow clock that runs continuously to monitor real time, which must therefore use little power
and may need to be accurate.

frequency by using three internal clocks, which can be derived from up to four sources. These are the
internal clocks, which are the same in all devices:
Master clock, MCLK, is used by the CPU and a few peripherals.
Subsystem master clock, SMCLK, is distributed to peripherals.
Auxiliary clock, ACLK, is also distributed to peripherals. Typically SMCLK runs at the same
frequency as MCLK, both in the megahertz range. ACLK is often derived from a watch crystal and
therefore runs at a much lower frequency. Most peripherals can select their clock from either
SMCLK or ACLK.
ACLK comes from a low-frequency crystal oscillator, typically at 32KHz.
Both MCLK and SMCLK are supplied by an internal digitally controlled oscillator (DCO), which
runs at about 0.8MHz in the MSP430x1xx and 1.1MHz in the MSP430F2xx.

Execution of a program usually proceeds predictably, but there are two classes of exception to this rule:
interrupts and resets:
Interrupts: Usually generated by hardware (although they can be initiated by software) and often indicate
that an event has occurred that needs an urgent response. Apacket of data might have been received, for
instance, and needs to be processed before the next packet arrives. The processor stops what it was doing,
stores enough information (the contents of the program counter and status register) for it to resume later on
and executes an interrupt service routine (ISR). It returns to its previous activity when the ISR has been
[Link] an ISR is something like a subroutine called by hardware (at an unpredictable time) rather
than software. Asecond use of interrupts, which is particularly important in the MSP430, is to wake the
processor from a low-power state.
Resets: Again usually generated by hardware, either when power is applied or when something catastrophic
has happened and normal operation cannot continue. This can happen accidentally if the watchdog timer has
not been disabled, which is easy to forget. Areset causes the device to (re)start from a well-
Pin out diagram of MSP430:
Typical pins can be co
when the voltage on the pin changes. This is useful to awaken a system that has entered a low-power mode
while it waits for input from a (slow) human. Pins usually have further functions as well as described in the
Pin-

The pin-out shows which interior functions are connected to each pin of the package. There are
several diagrams for each device, corresponding to the different packages in which it is produced. The
F2013 is available in a traditional 14-pin plastic dual-in-line package (PDIP).
VCC and VSS are the supply voltage and ground for the whole device (the analog and digital
supplies are separate in the 16-pin package).

P1.0 P1.7, P2.6, and P2.7 are for digital input and output, grouped into ports P1 and P2.

TACLK, TA0, and TA1 are associated with Timer_A; TACLK can be used as the clock input to the
timer, while TA0 and TA1 can be either inputs or outputs. These can be used on several pins
because of the importance of the timer.

-to-digital converter. It has four differential


channels, each of which has negative and positive inputs.

VREF is the reference voltage for the converter.

a clock to external components or for diagnostic purposes.

SCLK, SDO, and SCLare used for the universal serial interface, which communicates with external
devices using the serial peripheral interface (SPI) or inter-integrated circuit (I2C) bus.

XIN and XOUT are the connections for a crystal, which can be used to provide an accurate, stable
clock frequency.

RST is an active low reset signal. Active low means that it remains high near VCC for normal
operation and is brought low near VSS to reset the [Link] notations to show the active low
nature are _RST and /RST.

NMI is the nonmaskable interrupt input, which allows an external signal to interrupt the normal
operation of the program.

TCK, TMS, TCLK, TDI, TDO, and TEST form the full JTAG interface, used to program and debug
the device.

SBWTDIO and SBWTCK provide the Spy-Bi-Wire interface, an alternative to the usual JTAG
connection that saves pins.

A less common feature of the MSP430 is that some functions are available at several pins rather than
a single one.

Common questions

Powered by AI

A standalone embedded system operates independently without the need for a host computer, taking inputs and producing outputs directly through its own ports, as seen in devices like digital cameras and microwave ovens. In contrast, a networked embedded system connects through network interfaces to either a LAN, WAN, or the Internet, allowing it to access and share resources across a network, exemplified by a home security system where devices are interconnected and accessible via a web server .

The MSP430 microcontroller is exceptionally suited for low-power applications due to its ultra-low-power architecture, featuring several low-power modes controlled by the status register for varying degrees of operational readiness. It employs a flexible clock system with a low-frequency watch crystal and a digitally controlled oscillator for minimal wake-up time, allowing it to execute tasks quickly and return to low-power standby, thus conserving battery life efficiently .

The architecture of embedded systems varies with scale: small-scale systems rely on 8-16 bit microcontrollers with integrated RAM and ROM designed for simple tasks, medium-scale systems use 16-32 bit microprocessors with external memory for more complex operations, and large-scale systems employ 32-64 bit multicore or multiprocessor setups capable of distributed processing, suitable for applications requiring high-performance computation .

In embedded systems, the address bus specifies the physical address for data read/write operations, essentially directing where data should be stored or retrieved from, while the data bus carries the actual data to or from memory. The address bus is unidirectional, conveying memory locations from the processor to memory, whereas the data bus is bidirectional, enabling data to move between the CPU and other components, facilitating memory operations .

ASICs (Application-Specific Integrated Circuits) and FPGAs (Field-Programmable Gate Arrays) enhance embedded systems by offering tailored hardware solutions for application-specific needs. FPGAs provide flexibility with reconfigurable designs, suitable for prototyping and manufacturing in dynamic environments while ASICs offer optimized performance and efficiency for specific tasks, making them ideal for contexts where high-volume, defined functionality is required .

Soft real-time systems are designed with the flexibility to allow deadline lapses to affect only performance degradation without critical failures, suitable for applications like microwave ovens or TV remotes where precise timing is not critical. Hard real-time systems, however, require strict adherence to deadlines due to potentially severe consequences, including possible loss of life or property damage, as seen in systems like missile control or airbag deployment, where delays can lead to catastrophic outcomes .

Sensors like temperature, light, PIR, and gas sensors enhance the functionality of real-time embedded systems by providing crucial environmental data for processing. This data allows for better decision-making and control in applications such as temperature regulation or gas leakage detection, improving safety and performance efficiency. These sensors are integrated into circuits to respond swiftly to environmental changes, which is critical for real-time applications .

Power consumption is critical in portable embedded system design to ensure extended battery life and operational efficiency. Components like the power supply must support low voltage operations while remaining effective within constrained spaces. The system’s architecture is often optimized for minimal energy use, employing techniques like dynamic power scaling and multiple low-power modes, crucial for devices such as smartphones or handheld medical monitors where longevity between charges significantly impacts user experience and usability .

The selection of a chip and RTOS for hard real-time systems hinges on their ability to meet strict deadline requirements. The chip must support worst-case execution time (WCET) analysis and provide sufficient processing power to interact directly with hardware components. The RTOS needs to offer precise timing mechanisms and resource management capabilities critical to avoiding critical failures, as timing accuracy is paramount in systems like airbag deployment or missile guidance .

Integrating an OS into a high-end embedded system often requires significant memory resources and processing capabilities, differentiating these systems from low-end ones lacking such capacity. Challenges include ensuring the OS can manage the complex interactions between various components, maintaining real-time task scheduling, and providing robust interfaces between hardware and software, obstacles typically absent in simpler, resource-constrained low-end systems like remote controls or digital cameras .

You might also like