UNIT - II
UNIT - II
FPGA/ASIC/DSP/SoC
Microprocessor/controller Embedded
Firmware
Memory
Communication Interface
System
I/p Ports Core O/p Ports
(Sensors)
(Actuators)
Other supporting
Integrated Circuits &
subsystems
Embedded System
Real World 1
The Typical Embedded System
The core of the embedded system falls into any one of the following
categories.
General Purpose Processor or GPP is a processor designed for general computational tasks
GPPs are produced in large volumes and targeting the general market. Due to the high volume
production, the per unit cost for a chip is low compared to ASIC or other specific ICs
A typical general purpose processor contains an Arithmetic and Logic Unit (ALU) and Control Unit
(CU)
Application Specific Instruction Set processors (ASIPs) are processors with architecture and
instruction set optimized to specific domain/application requirements like Network processing,
Automotive, Telecom, media applications, digital signal processing, control applications etc.
ASIPs fill the architectural spectrum between General Purpose Processors and Application Specific
Integrated Circuits (ASICs)
The need for an ASIP arises when the traditional general purpose processor are unable to meet the
increasing application needs
Some Microcontrollers (like Automotive AVR, USB AVR from Atmel), System on Chips, Digital
Signal Processors etc are examples of Application Specific Instruction Set Processors (ASIPs)
ASIPs incorporate a processor and on-chip peripherals, demanded by the application requirement,
program and data memory
3
The Typical Embedded System
Microprocessor
A silicon chip representing a Central Processing Unit (CPU), which is capable
of performing arithmetic as well as logical operations according to a pre-defined
set of Instructions, which is specific to the manufacturer
In general the CPU contains the Arithmetic and Logic Unit (ALU), Control Unit
and Working registers
Microprocessor is a dependant unit and it requires the combination of other
hardware like Memory, Timer Unit, and Interrupt Controller etc for proper
functioning.
ntel claims the credit for developing the first Microprocessor unit Intel 4004, a 4
bit processor which was released in Nov 1971
4
The Typical Embedded System
Microcontroller
A highly integrated silicon chip containing a CPU, scratch pad RAM, Special
and General purpose Register Arrays, On Chip ROM/FLASH memory for
program storage, Timer and Interrupt control units and dedicated I/O ports
Microcontrollers can be considered as a super set of Microprocessors
Microcontroller can be general purpose (like Intel 8051, designed for generic
applications and domains) or application specific (Like Automotive AVR from
Atmel Corporation. Designed specifically for automotive applications)
Since a microcontroller contains all the necessary functional blocks for
independent working, they found greater place in the embedded domain in place
of microprocessors
Microcontrollers are cheap, cost effective and are readily available in the market
Texas Instruments TMS 1000 is considered as the world’s first microcontroller
5
The Typical Embedded System
Microprocessor Vs Microcontroller
Microprocessor Microcontroller
A silicon chip representing a Central A microcontroller is a highly integrated chip that
Processing Unit (CPU), which is capable of contains a CPU, scratch pad RAM, Special and
performing arithmetic as well as logical General purpose Register Arrays, On Chip
operations according to a pre-defined set of ROM/FLASH memory for program storage, Timer
Instructions and Interrupt control units and dedicated I/O ports
It is a dependent unit. It requires the It is a self contained unit and it doesn’t require
combination of other chips like Timers, external Interrupt Controller, Timer, UART etc for its
Program and data memory chips, Interrupt functioning
controllers etc for functioning
Most of the time general purpose in design Mostly application oriented or domain specific
and operation
Doesn’t contain a built in I/O port. The I/O Most of the processors contain multiple built-in I/O
Port functionality needs to be implemented ports which can be operated as a single 8 or 16 or 32
with the help of external Programmable bit Port or as individual port pins
Peripheral Interface Chips like 8255
Targeted for high end market where Targeted for embedded market where performance is
performance is important not so critical (At present this demarcation is invalid)
Limited power saving options compared to Includes lot of power saving features
microcontrollers
6
The Typical Embedded System
Digital Signal Processors (DSPs)
Powerful special purpose 8/16/32 bit microprocessors designed specifically to meet the
computational demands and power constraints of today's embedded audio, video, and
communications applications
Digital Signal Processors are 2 to 3 times faster than the general purpose
microprocessors in signal processing applications
DSPs implement algorithms in hardware which speeds up the execution whereas general
purpose processors implement the algorithm in firmware and the speed of execution
depends primarily on the clock for the processors
DSP can be viewed as a microchip designed for performing high speed computational
operations for ‘addition’, ‘subtraction’, ‘multiplication’ and ‘division’
A typical Digital Signal Processor incorporates the following key units
Program Memory
Data Memory
Computational Engine
I/O Unit
Audio video signal processing, telecommunication and multimedia applications are
typical examples where DSP is employed 7
The Typical Embedded System
RISC V/s CISC Processors/Controllers
RISC CISC
Lesser no. of instructions Greater no. of Instructions
Instruction Pipelining and increased Generally no instruction pipelining feature
execution speed
Orthogonal Instruction Set (Allows each Non Orthogonal Instruction Set (All instructions are
instruction to operate on any register and use not allowed to operate on any register and use any
any addressing mode) addressing mode. It is instruction specific)
Operations are performed on registers only, Operations are performed on registers or memory
the only memory operations are load and depending on the instruction
store
Large number of registers are available Limited no. of general purpose registers
Programmer needs to write more code to Instructions are like macros in C language. A
execute a task since the instructions are programmer can achieve the desired functionality
simpler ones with a single instruction which in turn provides the
effect of using more simpler single instructions in
RISC
Single, Fixed length Instructions Variable length Instructions
Less Silicon usage and pin count More silicon usage since more additional decoder
logic is required to implement the complex
instruction decoding.
8
With Harvard Architecture Can be Harvard or Von-Neumann Architecture
The Typical Embedded System
Harvard V/s Von-Neumann Processor/Controller Architecture
The terms Harvard and Von-Neumann refers to the processor architecture design.
Microprocessors/controllers based on the Von-Neumann architecture shares a single
common bus for fetching both instructions and data. Program instructions and data are
stored in a common main memory
Microprocessors/controllers based on the Harvard architecture will have separate data
bus and instruction bus. This allows the data transfer and program fetching to occur
simultaneously on both buses
With Harvard architecture, the data memory can be read and written while the program
memory is being accessed. These separated data memory and code memory buses allow
one instruction to execute while the next instruction is fetched (“Pre-fetching”)
Program
CPU Data Memory
Memory
10
The Typical Embedded System
Big-endian V/s Little-endian processors
Endianness specifies the order in which the data is stored in the memory by
processor operations in a multi byte system (Processors whose word size is
greater than one byte). Suppose the word length is two byte then data can be
stored in memory in two different ways
Higher order of data byte at the higher memory and lower order of data byte at
location just below the higher memory
Lower order of data byte at the higher memory and higher order of data byte at
location just below the higher memory
Little-endian means the lower-order byte of the data is stored in memory at the
lowest address, and the higher-order byte at the highest address. (The little end
comes first)
Big-endian means the higher-order byte of the data is stored in memory at the
lowest address, and the lower-order byte at the highest address. (The big end
comes first.)
11
The Typical Embedded System
Big-endian V/s Little-endian processors
Little-endian Operation
Big-endian Operation
12
The Typical Embedded System
Load Store Operation & Instruction Pipelining
The RISC processor instruction set is orthogonal and it operates on registers. The
memory access related operations are performed by the special instructions load
and store. If the operand is specified as memory location, the content of it is
loaded to a register using the load instruction. The instruction store stores data
from a specified register to a specified memory location
R1 R2 R3
1 3 3 1
load R1, x
load R2, y 2
x 00 add R3, R1, R2 3
y 7F ALU 3
store R3, z 4
z 23
13
The Typical Embedded System
Instruction Pipelining
The conventional instruction execution by the processor follows the fetch-decode-execute
sequence
The ‘fetch’ part fetches the instruction from program memory or code memory and the
decode part decodes the instruction to generate the necessary control signals
The execute stage reads the operands, perform ALU operations and stores the result. In
conventional program execution, the fetch and decode operations are performed in sequence
During the decode operation the memory address bus is available and if it possible to
effectively utilize it for an instruction fetch, the processing speed can be increased
In its simplest form instruction pipelining refers to the overlapped execution of instructions
17
The Typical Embedded System
Commercial off the Shelf Component (COTS)
A Commercial off-the-shelf (COTS) product is one which is used ‘as-is’
COTS products are designed in such a way to provide easy integration and
interoperability with existing system components
Typical examples for the COTS hardware unit are Remote Controlled Toy Car
control unit including the RF Circuitry part, High performance, high frequency
microwave electronics (2 to 200 GHz), High bandwidth analog-to-digital
converters, Devices and components for operation at very high temperatures,
Electro-optic IR imaging arrays, UV/IR Detectors etc
A COTS component in turn contains a General Purpose Processor (GPP) or
Application Specific Instruction Set Processor (ASIP) or Application Specific
Integrated Chip (ASIC)/Application Specific Standard Product (ASSP) or
Programmable Logic Device (PLD)
The major advantage of using COTS is that they are readily available in the
market, cheap and a developer can cut down his/her development time to a
great extend
18
The Typical Embedded System
Memory
Memory is an important part of an embedded system. The memory used in embedded
system can be either Program Storage Memory (ROM) or Data memory (RAM)
Certain Embedded processors/controllers contain built in program memory and data
memory and this memory is known as on-chip memory
19
The Typical Embedded System
Memory – Program Storage Memory
Stores the program instructions
Retains its contents even after the power to it is turned off. It is generally
known as Non volatile storage memory
Depending on the fabrication, erasing and programming techniques they are
classified into
20
The Typical Embedded System
23
The Typical Embedded System
24
The Typical Embedded System
25
The Typical Embedded System
Read/Write
Memory (RAM)
26
The Typical Embedded System
Memory – RAM – Static RAM (SRAM)
Static RAM stores data in the form of Voltage. They are made up of flip-flops
In typical implementation, an SRAM cell (bit) is realized using 6 transistors (or
6 MOSFETs). Four of the transistors are used for building the latch (flip-flop)
part of the memory cell and 2 for controlling the access.
Static RAM is the fastest form of RAM available. SRAM is fast in operation
due to its resistive networking and switching capabilities
Q5 Q6
Q2 Q4
Vcc
Word Line
SRAM cell implementation 27
The Typical Embedded System
Memory – RAM – Dynamic RAM (DRAM)
Dynamic RAM stores data in the form of charge. They are made up of MOS
transistor gates
The advantages of DRAM are its high density and low cost compared to
SRAM
The disadvantage is that since the information is stored as charge it gets leaked
off with time and to prevent this they need to be refreshed periodically
Special circuits called DRAM controllers are used for the refreshing operation.
The refresh operation is done periodically in milliseconds interval
Bit Line B
Word Line
+
-
29
The Typical Embedded System
30
The Typical Embedded System
Sensors & Actuators
Sensor:
A transducer device which converts energy from one form to another for any
measurement or control purpose. Sensors acts as input device
Eg. Hall Effect Sensor which measures the distance between the cushion and
magnet in the Smart Running shoes from adidas
Actuator:
A form of transducer device (mechanical or electrical) which converts signals to
corresponding physical action (motion). Actuator acts as an output device
Eg. Micro motor actuator which adjusts the position of the cushioning element in
the Smart Running shoes from adidas
31
The Typical Embedded System
32
The Typical Embedded System
R
presence of power conditions like ‘Device ON’, ‘Battery
low’ or ‘Charging of battery’ for a battery operated
handheld embedded devices
LED is a p-n junction diode and it contains an anode and a
cathode. For proper functioning of the LED, the anode of it GND
should be connected to +ve terminal of the supply voltage
and cathode to the –ve terminal of supply voltage
The current flowing through the LED must limited to a
value below the maximum current that it can conduct. A
resister is used in series between the power supply and the
resistor to limit the current through the LED 33
The Typical Embedded System
Based on the configuration of the 7 – segment LED unit, the LED segment
anode or cathode is connected to the Port of the processor/controller in the
order ‘A’ segment to the Least significant port Pin and DP segment to the
most significant Port Pin.
The current flow through each of the LED segments should be limited to
the maximum value supported by the LED display unit
The typical value for the current falls within the range of 20mA
The current through each segment can be limited by connecting a current
limiting resistor to the anode or cathode of each segment
Anode Common Cathode LED Display
DP G F E D C B A
DP G F E D C B A
Common Anode LED Display Cathode 35
The Typical Embedded System
Vcc
GND
M
stepper motor is controlled by changing the direction of current C
flow. Current in one direction flows through one coil and in the
B D
opposite direction flows through the other coil. It is easy to shift
the direction of rotation by just switching the terminals to which GND
the coils are connected
38
The Typical Embedded System
A C B D
GND
N
GND
M
M
39
The Typical Embedded System
Full Step:
In the full step mode both the phases are energized simultaneously. The coils A,
B, C and D are energized in the order
Wave Step:
only one phase is energized at a time and each coils of the phase are energized
alternatively. The coils A, B, C and D are energized in the order
41
The Typical Embedded System
Half Step:
Half step uses the combination of wave and full step. It has the highest torque and
stability. The coils A, B, C and D are energized in the order
The rotation of the stepper motor can be reversed by reversing the order in
42
which the coil is energized
The Typical Embedded System
Depending on the current and voltage requirements, special driving circuits are
required to interface the stepper motor with microcontroller/processors.
Stepper motor driving ICs like ULN2803 or simple transistor based driving
circuit can be used for interfacing stepper motors with processor/controller
Port Pins A
M
Driver IC C
Microcontroller
ULN2803 B D
Vcc
GND Vcc
43
The Typical Embedded System
The I/O Subsystem – I/O Devices – Relay
An electro mechanical device which acts as dynamic path selectors for signals and
power
The ‘Relay’ unit contains a relay coil made up of insulated wire on a metal core and a
metal armature with one or more contacts.
‘Relay’ works on electromagnetic principle. When a voltage is applied to the relay coil,
current flows through the coil, which in turn generates a magnetic field. The magnetic
field attracts the armature core and moves the contact point. The movement of the
contact point changes the power/signal flow path
Relay Coil
Relay Coil
Relay Coil
The Relay is normally controlled using a relay driver circuit connected to the
port pin of the processor/controller
A transistor can be used as the relay driver. The transistor can be selected
depending on the relay driving current requirements
Vcc
Freewheeling Diode
Relay Unit
45
The Typical Embedded System
47
The Typical Embedded System
4.7K
4.7K
4.7K
4.7K
Row 0
To Microcontroller/processor Port
Row 1
Row 2
Row 3
Column 1
Column 0
Column 3
Column 2
48
To Microcontroller/processor Port
The Typical Embedded System
Programmable Peripheral Interface (PPI) devices are used for extending the
I/O capabilities of processors/controllers
8255A is a popular PPI device for 8 bit processors/controllers
8255A supports 24 I/O pins ad these I/O pins can be grouped as either three
8-bit parallel ports (Port A, Port B and Port C) or two 8 bit parallel ports (Port
A and Port B) with Port C in any one of the following configuration
As 8 individual I/O pins
Two 4bit Ports namely Port CUPPER (CU) and Port CLOWER (CL)
The Configuration of ports is done through the Control Register of 8255A
D7 D6 D5 D4 D3 D2 D1 D0
Control Register 49
The Typical Embedded System
The I/O Subsystem – I/O Devices – Programmable Peripheral Interface (PPI)
Bit Description
Port C Lower (CL) I/O mode selector
D0 D0 = 1; Sets CL as Input Port
D0 = 0; Sets CL as Output Port
Port B I/o mode selector
D1 D1 = 1; Sets Port B as Input Port
D1 = 0; Sets Port B as Output Port
Mode Selector for Port C lower and Port B
D2 D2 = 0; Mode 0 – Port B functions as 8bit I/O Port. Port C Lower
functions as 4 bit Port.
D2 = 1; Mode 1 – Handshake Mode. Port B uses 3 bits of
Port C as handshake signals
Port C Upper (CU) I/o mode selector
D3 D3 = 1; Sets CU as Input Port
D3 = 0; Sets CU as Output Port
Port A I/o mode selector
D4 D4 = 1; Sets Port A as Input Port
D4 = 0; Sets Port A as Output Port
D5, D6 Mode Selector for Port C upper and Port A
D6 D5 = 00; Mode 0 – Simple I/O mode
D6 D5 = 01; Mode 1 – Handshake Mode. Port A uses 3 bits of
Port C as handshake signals
D6 D5 = 1X; Mode 2. X can be 0 or 1 – Port A functions as Bi-
directional Port
D7 Control/Data mode selector for Port C
D7 = 1; I/O mode.
D7 = 0; Bit Set/Reset (BSR) mode. Functions as the control/status lines for Port A and B. The bits of Port C 50
can be set or reset just as if they were output ports.
The Typical Embedded System
Processor/
82C55A
Controller Data Bus D0….D7 D0….D7
Data Bus Port
Pins 34 to 27
Latch
A0 Pin 9
(Eg: 74LS373) PA0….PA7
A1 Pin 8
Port A
ALE
A2….A7 PB0….PB7
Port B
Higher Order
Address Bus Address Bus Address
(A8….A15) CS\ Pin 6
decoder PC0….PC7
Port C
RD\ RD\ Pin 5
WR\ WR\ Pin 36
RESET OUT RESET Pin 35
51
The Typical Embedded System
Communication Interface
Communication interface is essential for communicating with various subsystems of the
embedded system and with the external world
For an embedded product, the communication interface can be viewed in two different
perspectives; namely; Device/board level communication interface (Onboard Communication
Interface) and Product level communication interface (External Communication Interface)
Embedded product is a combination of different types of components (chips/devices)
arranged on a Printed Circuit Board (PCB). The communication channel which interconnects
the various components within an embedded product is referred as Device/board level
communication interface (Onboard Communication Interface)
Serial interfaces like I2C, SPI, UART, 1-Wire etc and Parallel bus interface are examples of
‘Onboard Communication Interface’
The ‘Product level communication interface’ (External Communication Interface) is
responsible for data transfer between the embedded system and other devices or modules
The external communication interface can be either wired media or wireless media and it can
be a serial or parallel interface. Infrared (IR), Bluetooth (BT), Wireless LAN (Wi-Fi), Radio
Frequency waves (RF), GPRS etc are examples for wireless communication interface
RS-232C/RS-422/RS 485, USB, Ethernet (TCP-IP), IEEE 1394 port, Parallel port, CF-II Slot,
SDIO, PCMCIA etc are examples for wired interfaces 52
The Typical Embedded System
On-board Communication Interface - I2C
Inter Integrated Circuit Bus (I2C - Pronounced ‘I square C’) is a synchronous bi-directional half
duplex (one-directional communication at a given point of time) two wire serial interface bus
The concept of I2C bus was developed by ‘Philips Semiconductors’ in the early 1980’s. The
original intention of I2C was to provide an easy way of connection between a
microprocessor/microcontroller system and the peripheral chips in Television sets
The I2C bus is comprised of two bus lines, namely; Serial Clock – SCL and Serial Data – SDA.
SCL line is responsible for generating synchronization clock pulses and SDA is responsible for
transmitting the serial data across devices.
I2C bus is a shared bus system to which many number of I2C devices can be connected. Devices
connected to the I2C bus can act as either ‘Master’ device or ‘Slave’ device
The ‘Master’ device is responsible for controlling the communication by initiating/terminating
data transfer, sending data and generating necessary synchronization clock pulses
‘Slave’ devices wait for the commands from the master and respond upon receiving the
commands
‘Master’ and ‘Slave’ devices can act as either transmitter or receiver
Regardless whether a master is acting as transmitter or receiver, the synchronization clock signal
is generated by the ‘Master’ device only
I2C supports multi masters on the same bus
53
The Typical Embedded System
On-board Communication Interface - I2C
SDA
2.2K
Port Pins SCL
Slave 1
SCL I2C Device
Master SDA (Eg: Serial
(Microprocessor/ EEPROM)
Controller)
SCL Slave 2
SDA I2C Device
I2C Bus
54
The Typical Embedded System
On-board Communication Interface - I2C
The sequence of operation for communicating with an I2C slave device is:
1. Master device pulls the clock line (SCL) of the bus to ‘HIGH’
2. Master device pulls the data line (SDA) ‘LOW’, when the SCL line is at logic ‘HIGH’ (This is the ‘Start’
condition for data transfer)
3. Master sends the address (7 bit or 10 bit wide) of the ‘Slave’ device to which it wants to communicate, over the
SDA line. Clock pulses are generated at the SCL line for synchronizing the bit reception by the slave device.
The MSB of the data is always transmitted first. The data in the bus is valid during the ‘HIGH’ period of the
clock signal
4. Master sends the Read or Write bit (Bit value = 1 Read Operation; Bit value = 0 Write Operation) according to
the requirement
5. Master waits for the acknowledgement bit from the slave device whose address is sent on the bus along with the
Read/Write operation command. Slave devices connected to the bus compares the address received with the
address assigned to them
6. The Slave device with the address requested by the master device responds by sending an acknowledge bit (Bit
value =1) over the SDA line
7. Upon receiving the acknowledge bit, master sends the 8bit data to the slave device over SDA line, if the
requested operation is ‘Write to device’. If the requested operation is ‘Read from device’, the slave device sends
data to the master over the SDA line
8. Master waits for the acknowledgement bit from the device upon byte transfer complete for a write operation and
sends an acknowledge bit to the slave device for a read operation
9. Master terminates the transfer by pulling the SDA line ‘HIGH’ when the clock line SCL is at logic ‘HIGH’
(Indicating the ‘STOP’ condition) 55
The Typical Embedded System
Master Out Slave In (MOSI): Signal line carrying the data from master to slave device.
It is also known as Slave Input/Slave Data In (SI/SDI)
Master In Slave Out (MISO): Signal line carrying the data from slave to master device.
It is also known as Slave Output (SO/SDO)
Serial Clock (SCLK): Signal line carrying the clock signals
Slave Select (SS): Signal line for slave device select. It is an active low
signal
56
The Typical Embedded System
MISO
SCL
MOSI MOSI Slave 1
SCL SPI Device
Master
MISO (Eg: Serial
(Microprocessor/
SS\ EEPROM)
Controller)
SS1\
SS2\
MOSI
Slave 2
SCL
SPI Device
MISO
(Eg: LCD)
SS\
SPI Bus 57
The Typical Embedded System
TXD TXD
UART UART
RXD RXD
60
The Typical Embedded System
Vcc
4.7K
DQ Slave 1
Port Pin
1-Wire Device
(Eg: DS2760 Battery
GND
monitor IC )
Master
(Microprocessor/
Controller) DQ Slave 2
1-Wire Device
(Eg: DS2431 1024
GND GND
Bit EEPROM )
62
The Typical Embedded System
65
The Typical Embedded System
D0 to Data Bus
Dx-1 Peripheral Device
RD\ RD\ (Eg: ADC)
WR\ WR\
Host Control Signals CS\
(Microprocessor/
Controller) Chip Select
6 9 14 25
DB-25
DB-9 67
The Typical Embedded System
External Communication Interface – RS-232 C & RS-485
Pin No:
Pin Name (For DB-9 Description
Connector)
TXD 3 Transmit Pin. Used for Transmitting Serial Data
RXD 2 Receive Pin. Used for Receiving serial Data
RTS 7 Request to send.
CTS 8 Clear To Send
DSR 6 Data Set ready
GND 5 Signal Ground
DCD 1 Data Carrier Detect
DTR 4 Data Terminal Ready
RI 9 Ring Indicator
68
The Typical Embedded System
External Communication Interface – RS-232 C & RS-485
RS-232 is a point-to-point communication interface and the devices involved in RS-232
communication are called ‘Data Terminal Equipment (DTE)’ and ‘Data Communication
Equipment (DCE)’
If no data flow control is required, only TXD and RXD signal lines and ground line (GND) are
required for data transmission and reception. The RXD pin of DCE should be connected to the
TXD pin of DTE and vice versa for proper data transmission.
If hardware data flow control is required for serial transmission, various control signal lines of
the RS-232 connection are used appropriately. The control signals are implemented mainly for
modem communication and some of them may be irrelevant for other type of devices
The Request To Send (RTS) and Clear To Send (CTS) signals co-ordinate the communication
between DTE and DCE. Whenever the DTE has a data to send, it activates the RTS line and if the
DCE is ready to accept the data, it activates the CTS line
The Data Terminal Ready (DTR) signal is activated by DTE when it is ready to accept data. The
Data Set Ready (DSR) is activated by DCE when it is ready for establishing a communication
link. DTR should be in the activated state before the activation of DSR
The Data Carrier Detect (DCD) is used by the DCE to indicate the DTE that a good signal is
being received
Ring Indicator (RI) is a modem specific signal line for indicating an incoming call on the
telephone line
69
The Typical Embedded System
External Communication Interface – RS-232 C & RS-485
As per the EIA standard RS-232 C supports baudrates up to 20Kbps (Upper limit 19.2Kbps) The
commonly used baudrates by devices are 300bps, 1200bps, 2400bps, 9600bps, 11.52Kbps and
19.2Kbps
The maximum operating distance supported in RS-232 communication is 50 feet at the highest
supported baudrate.
Embedded devices contain a UART for serial communication and they generate signal levels
conforming to TTL/CMOS logic. A level translator IC like MAX 232 from Maxim Dallas
semiconductor is used for converting the signal lines from the UART to RS-232 signal lines for
communication. On the receiving side the received data is converted back to digital logic level by
a converter IC. Converter chips contain converters for both transmitter and receiver
RS-232 uses single ended data transfer and supports only point-to-point communication and not
suitable for multi-drop communication
RS-422 is another serial interface standard from EIA for differential data communication. It
supports data rates up to 100Kbps and distance up to 400 ft
RS-422 supports multi-drop communication with one transmitter device and receiver devices up
to 10
RS-485 is the enhanced version of RS-422 and it supports multi-drop communication with up to
32 transmitting devices (drivers) and 32 receiving devices on the bus. The communication
between devices in the bus makes use of the ‘addressing’ mechanism to identify slave devices
70
The Typical Embedded System
External Communication Interface – Universal Serial Bus (USB)
75
The Typical Embedded System
The IEEE 1394 connector contains two differential data transfer lines
namely A and B
The differential lines of A are connected to B (TPA+ to TPB+ and TPA- to
TPB-) and vice versa
Unlike USB interface (Except USB OTG), IEEE 1394 doesn’t require a host
for communicating between devices. Example, a scanner can be directly
connected to a printer for printing
The data rate supported by 1394 is far higher than the one supported by
USB2.0 interface
1394 is a popular communication interface for connecting embedded devices
like ‘Digital Camera’, ‘Camcorder’, ‘Scanners’ with desktop Computers for
data transfer and storage
76
The Typical Embedded System
External Communication Interface – Infrared (IrDA)
A serial, half duplex, line of sight based wireless technology for data communication
between devices
Infrared communication technique makes use of Infrared waves of the electromagnetic
spectrum for transmitting the data
IrDA supports point-point and point-to-multipoint communication, provided all devices
involved in the communication are within the line of sight
The typical communication range for IrDA lies in the range 10cm to 1 m
IR supports data rates ranging from 9600bits/second to 16Mbps. Depending on the
speed of data transmission IR is classified into Serial IR (SIR), Medium IR (MIR), Fast
IR (FIR), Very Fast IR (VFIR) and Ultra Fast IR (UFIR)
SIR supports transmission rates ranging from 9600bps to 115.2kbps. MIR supports data
rates of 0.576Mbps and 1.152Mbps. FIR supports data rates up to 4Mbps. VFIR is
designed to support high data rates up to 16Mbps. The UFIR specs are under
development and it is targeting a data rate up to 100Mbps
IrDA communication involves a transmitter unit for transmitting the data over IR and a
receiver for receiving the data. Infrared Light Emitting Diode (LED) is used as the IR
source for transmitter and at the receiving end a photodiode is used as the receiver
77
The Typical Embedded System
External Communication Interface – Bluetooth
Low cost, low power, short range wireless technology for data and voice communication
Bluetooth operates at 2.4GHz of the Radio Frequency spectrum and uses the Frequency Hopping
Spread Spectrum (FHSS) technique for communication.
Bluetooth supports a theoretical maximum data rate of up to 1Mbps and a range of approximately
30 feet for data communication
Bluetooth communication has two essential parts; a physical link part and a protocol part. The
physical link is responsible for the physical transmission of data between devices supporting
Bluetooth communication and protocol part is responsible for defining the rules of communication
The physical link works on the Wireless principle making use of RF waves for communication
Bluetooth enabled devices essentially contain a Bluetooth wireless radio for the transmission and
reception of data
The rules governing the Bluetooth communication is implemented in the ‘Bluetooth protocol
stack’. The Bluetooth communication IC holds the stack
Each Bluetooth device will have a 48 bit unique identification number. Bluetooth communication
follows packet based data transfer
Bluetooth supports point-to-point (device to device) and point-to-multipoint (device to multiple
device broadcasting) wireless communication. The point-to-point communication follows the
master-slave relationship. A Bluetooth device can function as either master or slave
A network formed with one Bluetooth device as master and more than one device as slaves is
78
known as Piconet
The Typical Embedded System
External Communication Interface – Wi-Fi
The popular wireless communication technique for networked communication of devices
Wi-Fi follows the IEEE 802.11 standard
Wi-Fi is intended for network communication and it supports Internet Protocol (IP) based
communication
Wi-Fi based communications require an intermediate agent called Wi-Fi router/Wireless Access
point to manage the communications
The Wi-Fi router is responsible for restricting the access to a network, assigning IP address to
devices on the network, routing data packets to the intended devices on the network
Wi-Fi enabled devices contain a wireless adaptor for transmitting and receiving data in the form
of radio signals through an antenna
Wi-Fi operates at 2.4GHZ or 5GHZ of radio spectrum and they co-exist with other ISM band
devices like Bluetooth
A Wi-Fi network is identified with a Service Set Identifier (SSID). A Wi-Fi device can connect
to a network by selecting the SSID of the network and by providing the credentials if the
network is security enabled
Wi-Fi networks implements different security mechanisms for authentication and data transfer
Wireless Equivalency Protocol (WEP), Wireless Protected Access (WPA) etc are some of the
security mechanisms supported by Wi-Fi networks in data communication
79
The Typical Embedded System
External Communication Interface – Wi-Fi
Wi-Fi Router
Device 1
Device 2 Device 3
80
The Typical Embedded System
External Communication Interface – ZigBee
Low power, low cost, wireless network communication protocol based on the IEEE
802.15.4-2006 standard
ZigBee is targeted for low power, low data rate and secure applications for Wireless
Personal Area Networking (WPAN)
The ZigBee specifications support a robust mesh network containing multiple nodes.
This networking strategy makes the network reliable by permitting messages to travel
through a number of different paths to get from one node to another.
ZigBee operates worldwide at the unlicensed bands of Radio spectrum, mainly at
2.400 to 2.484 GHz, 902 to 928 MHz and 868.0 to 868.6 MHz
ZigBee Supports an operating distance of up to 100 meters and a data rate of 20 to
250Kbps
ZigBee is primarily targeting application areas like Home & Industrial Automation,
Energy Management, Home control/security, Medical/Patient tracking, Logistics &
Asset tracking and sensor networks & active RFID
Automatic Meter Reading (AMR), smoke and detectors, wireless telemetry, HVAC
control, heating control, Lighting controls, Environmental controls, etc are examples
for applications which can make use of the ZigBee technology 81
The Typical Embedded System