2. What is general purpose
system?
• A computer system that can do many
functionalities depending on
• Available hardware
• Installed programs
Examples
• PCs
• Laptops
• Servers
3. What is an Embedded systems ?
• An embedded system is a special-purpose
computer system designed to perform a
dedicated function
• A combination of hardware and software
which together form a component of a larger
machine.
5. Essential Components
• Microprocessor / Microcontroller
• Sensors
• Converters (A-D and D-A)
• Actuators
• Memory (On-chip and Off chip)
• Communication path with the interacting
environment
5
7. CPU
General-
Purpose
Micro-
processor
RAM ROM I/O Port Timer
Serial
COM
Port
Data Bus
Address Bus
General-Purpose Microprocessor System
• CPU for Computers
• No RAM, ROM, I/O on CPU chip itself
• Example--Intel’s x86: 8086,8088,80386,80486,
Pentium
Many chips on mother board
General-purpose Microprocessor
10. Microprocessor
• CPU is stand-alone, RAM, ROM,
I/O, timer are separate
• designer can decide on the
amount of ROM, RAM and I/O
ports.
• expensive
• general-purpose
• Ex. 8085,8086 mp, Motorola 6800,
Intel’s 8086, etc.
Microcontroller
• CPU, RAM, ROM, I/O and timer
are all on a single chip
• fix amount of on-chip ROM,
RAM, I/O ports
• for applications in which cost,
power and space are critical
• single-purpose
• Ex. 8051, PIC mc, Motorola
MC’s, Phillips, etc.
Microprocessor v/s Microcontroller
12. CISC Vs RISC
CISC
• hardware complexity is
high
• multi clock complex
instructions
• Small codes sizes
• Transistors used for
storing complex
instructions
• pipelining is not possible
due to uneven process
time
RISC
• hardware complexity is low
• Single clock Reduced
instructions only
•Low cycles/sec
• Spends more transistors on
memory registers
• instructions execute in a
uniform amount of time (i.e. one
clock), pipelining is possible.2444
25. Characteristics of Embedded
Systems - Dependability
• Reliability: R(t) = probability of system working
correctly provided that it was working at t=0
• Maintainability: M(d) = probability of system
working correctly d time units after error occurred.
• Availability: probability of system working at time t
• Safety: no harm to be caused
• Security: confidential and authentic communication
26. Characteristics of Embedded
Systems-Efficiency
• Energy efficient
• Code-size efficient (especially for systems on a chip)
• Run-time efficient
• Weight efficient
• Cost efficient
• Dedicated user interface (no mouse, keyboard and
screen).
27. Characteristics of Embedded Systems
• Many ES must meet real-time constraints:
• A real-time system must react to stimuli from
the controlled object (or the operator) within
the time interval.
– For real-time systems, right answers arriving too
early or too late are wrong.
– An embedded system can be a
• Hard real-time system
• Soft real-time system
28. Hard real-time system
• In hard real-time systems the tasks should be run
in on time , time is major constraints.
• The response time requirements of hard real-
time systems are in the order of milliseconds or
less and can result in a catastrophe if not met.
• Examples for hard real-time systems is
– Missile
– Industrial Automation
– Automobiles
– video transmission, each picture frame and audio
must be transferred at fixed rate
29. Soft real-time system
• The response time requirements of soft real-time
systems are higher and not very stringent.
• The soft real-time systems will slow down their
response time if the load is very high
• Examples are
– DVD Player
– Mobile phones
– digital cameras
– playing robots
30. Comparison
General Purpose Computing
• Few applications that are
known at design-time.
• Not programmable by end
user.
• Fixed run-time requirements
(additional computing power
not useful).
• Criteria:
– cost
– power consumption
• Broad class of applications.
• Programmable by end user.
• Faster is better.
• Criteria:
– Cost
– average speed
Embedded Systems
31. Features of Embedded system
• Embedded Systems are the modern compacted
devices with multifunction capabilities.
• An embedded system performs pre-defined tasks,
unlike a general-purpose personal computer.
• An embedded system is a programmed hardware
device. A programmable hardware chip is the
platform and it is programmed with particular
applications.
• Embedded systems are not always standalone
devices. Many embedded systems consist of small,
computerized parts within a larger device that
serves a more general purpose.
32. Features of Embedded system
• The program instructions written for embedded
systems are referred to as firmware,
• The program stored in read-only memory or
Flash memory chips.
• They run with limited computer hardware
resources: little memory, small or non-existent
keyboard and/or screen.
34. development process of BASIC
embedded System
1. Requirements (application)
2. Select microcontroller and H/W
3. Design hardware for your application
4. Write software
5.Write your HEX code to microcontroller
6. Test your proto type product
7. You start your product production
35. Requirements
• Gather an informal description from the
customers known as requirements.
• After getting enough information to begin
designing the system architecture.
• Consumers of embedded systems are usually not
embedded system designers.
• Example consider for designing washing machine
– Less power
– High efficiency
36. Select microcontroller
• Select suitable microcontroller for required
system design.
• Select special purpose processors if needed for
the system like DSP processor
• We can classified like
– 8 bit microcontroller
– 16 bit microcontroller
– 32 bit microcontroller
37. 8 bit microcontroller
• It can perform 8 bit arithmetic and logical
operations.
• Examples
– 8051
– PIC16XX
• MB90890 Manufactured by Fujitsu .
• It performs all 16-bit Data operations
16 bit microcontroller
46. Assembler
• It is a software that converts assembly
language program to Machine language
program understandable by microprocessor
MOV A,#CR
CALL PUTCHAR
MOV A,#LF
CALL PUTCHAR
RET
:10002600750B00750C00750D00750E007513FFD26B
:1000360083D284D282C287C286C285C281C200C2EE
:1000460001C202C203C204C205C206C20775140079
Assembly
program
Machine
Codes
47. C cross Compiler
• It is a software that converts High level
language program [ written in C ] to Machine
language program understandable by
microprocessor
C program Machine Codes
main()
{ unsigned int d;
int_reg(); int_var();
for(d=0; d < 50000 ;d++)
{ LCD_PORT=0; }
init_lcd();
TR0=1;
uputs(0,0,15, "Conveyer System
"); 0,15," Version 1.0 ");
P0=0;
P2=0;
:10002600750B00750C00750D00750E007513FFD26
:1000360083D284D282C287C286C285C281C200C2
:1000460001C202C203C204C205C206C2077514007
49. What is Real-Time Operating System
(RTOS)?
• real-time operating system (RTOS) is an operating
system that guarantees to perform certain
operation (task) within a specified time constraint.
• Software that manages the time of a
microprocessor, microcontroller, or a digital signal
processor
51. Types of RTOS
• Hard Real-time RTOS
– This type operating systems used in hard real-time
embedded systems
– Examples are
• LynxOS
• OSE
• QNX
• RTLinux
• VxWorks
• Windows CE
52. Types of RTOS
• Soft real-time operating system
– This type of operating systems used in soft real-time
embedded systems
– Examples are
• uCOS-II
• Android
• embOS
• Symbian OS
53. Flash programmer
• Flash programmer used to
transfer the binary image
from personal computer to
embedded systems.
• Separate software are used
for this purpose
• Examples are
– Flash magic
– Philips flash utility
– Win pic
– Tiny bootloader
PC
Embedded
system
Programmer
RS232
54. Test prototype product
• Multi meter
• Oscilloscope
• Logic Analyzer
• Terminal Emulation software
• Simulators & Emulators
55. Features of PIC16F887A
• RISC architecture
– Only 35 instructions to learn
– All single-cycle instructions except branches
• Operating frequency 0-20 MHz
• Precision internal oscillator
– Factory calibrated
• Power supply voltage 5V
– Consumption: 220uA (4MHz), 11uA (32 KHz) 50nA
(stand-by mode)
• Power-Saving Sleep Mode
56. Features Continue..
• Brown-out Reset (BOR) with software control
option
• 33 input/output pins
• 8K ROM memory in FLASH technology
– Chip can be reprogrammed up to 1,00,000 times
• In-Circuit Serial Programming Option
– Chip can be programmed even embedded in the target
device
• 256 bytes EEPROM memory
– Data can be written more than 1,0,00,000 times
• 368 bytes RAM memory
57. Features Continue..
• A/D converter:
– 14-channels
– 10-bit resolution
• 3 independent timers/counters
• Watch-dog timer
• Analogue comparator module with
– Two analogue comparators
– Fixed voltage reference (0.6V)
– Programmable on-chip voltage reference
• PWM output steering control
• Enhanced USART module
– Supports RS-485, RS-232 and LIN2.0
– Auto-Baud Detect
• Master Synchronous Serial Port (MSSP)
– supports SPI and I2C mode
59. Pin Description
• The most pins are multi-functional.
• The fifth pin specifies the following functions
– RA3 Port A third digital input/output
– AN3 Third analog input
– Vref+ Positive voltage reference
– C1IN+ Comparator C1positive input
• trick is often used because it makes the
microcontroller package more compact without
affecting its functionality.
• These various pin functions cannot be used
simultaneously, but can be changed at any point
during operation.
60. Central Processor Unit (CPU)
• The CPU is manufactured with RISC technology
• The CPU can recognizes only 35 simple
instructions (In order to program some other
microcontrollers it is necessary to know more
than 200 instructions by heart).
• The execution time is the same for all
instructions except two.
• The Jump and Branch instructions execution time
is 2 instruction cycles.
61. CPU Continues..
• if the microcontroller’s operating speed is
20MHz, execution time of each instruction will
be 200nS, i.e. the program will be executed at
the speed of 5 million instructions per second!
• This microcontroller has three types of
memory- ROM, RAM and EEPROM.
• ROM memory is used to permanently save the
program being executed.
• This is why it is often called “program
memory”.
62. ROM Memory
• The PIC16F887A has 8Kb of ROM (in total of
8192 locations).
• This ROM is made with FLASH technology
• Its contents can be changed by providing a
special programming voltage (13V).
• The program is stored to ICs using simple
electronic device called the Programmer.
64. EEPROM Memory
• Similar to program memory, the contents of
EEPROM is permanently saved, even the power
goes off.
• However, unlike ROM, the contents of the
EEPROM can be changed during operation of the
microcontroller.
• That is why this memory (256 locations) is a
perfect one for permanently saving results
created and used during the operation.
65. RAM Memory
• RAM Memory consists of two parts:
– general-purpose registers
– special-function registers (SFR).
• both groups of registers are cleared when power
goes off.
• Their functions do not have many things in
common.
66.
67. General-Purpose Registers
• General-Purpose registers are used for storing
temporary data and results created during
operation.
• It is necessary to specify the address of some
general purpose register and assign it a new
function.
68. SFR Registers
• Special-Function registers are also RAM memory
locations.
• their purpose is predetermined during
manufacturing process and cannot be changed.
• Since their bits are physically connected to particular
circuits on the chip.
• Any change of their contents directly affects the
operation of the microcontroller or some of its
circuits.
• For example, by changing the TRISA register, the
function of each port A pin can be changed in a way
it acts as input or output.
69. SFR Registers Continues..
• high-level programming language can use the list
of all registers with their exact addresses, it is
enough to specify the register’s name in order to
read or change its contents.
70. RAM Memory Banks
• The data memory is partitioned into four banks.
• Prior to accessing some register during program
writing (in order to read or change its contents),
it is necessary to select the bank which contains
that register.
• Two bits of the STATUS register are used for bank
selecting.
• the most commonly used SFRs have the same
address in all banks which enables them to be
easily accessed.
71.
72. STACK
• A part of the RAM used for the stack consists of eight
13-bit registers.
• Before the microcontroller starts to execute a
subroutine (CALL instruction) or when an interrupt
occurs, the address of first next instruction being
currently executed is pushed onto the stack, i.e. onto
one of its registers.
• In that way, upon subroutine or interrupt execution, the
microcontroller knows from where to continue regular
program execution.
• This address is cleared upon return to the main
program because there is no need to save it any longer
74. SFR Registers Continues..
• The special function registers can be classified
into two categories:
– Core (CPU) registers.
• control and monitor operation and processes in the central
processor.
– Peripheral SFRs
• control the operation of peripheral units (serial
communication module, A/D converter etc.).
75. STATUS Register
RP1 RP0 Active Bank
0 0 Bank0
0 1 Bank1
1 0 Bank2
1 1 Bank3
0 - Banks 2 and 3 are active (memory location 100h-1FFh)
•RP1,RP0 - Bits select register bank. They are used for direct addressing.
IRP - Bit selects register bank. It is used for
indirect addressing.
1 - Banks 0 and 1 are active (memory
location 00h-FFh)
0 - Banks 2 and 3 are active (memory
location 100h-1FFh)
RP1,RP0 - Bits select register bank. They
are used for direct addressing.