EMBEDDED SYSTEM DESIGN/ EEE18R423
Presented By
[Link] Kumar
Asst. Prof./EEE
KalasalingamAcademy of Research & Education
COURSE OUTCOMES
Design the embedded process for simple
application(CO1)
Describe the processor and component
interfacing(CO2)
Understand the network protocols(CO3)
Analyze the different scheduling
algorithm(CO4)
Design simple product using system design
technology(CO5)
2
UNIT I (Design the embedded process for simple
application -CO1)
• Embedded computers, characteristics of embedded computing
1 applications
• Challenges in embedded computing system design
2
• Embedded system design process
3
• Formalism for system design , structural description ,behavioral
4 description
• Design example: model train controller
5
3
EMBEDDED SYSTEM
Definition: An Embedded System is one that has
computer hardware with software embedded in it as
one of its important components. Its software embeds in
ROM (Read Only
Memory). It does not need
secondary memories as in
a computer
SOFTWARE PROGRAM
HARDWARE #include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4,
3, 2);
void setup()
{
[Link](16, 2);
[Link]("hello, world!");
}
void loop()
{
[Link](0, 1);
[Link](millis() / 1000);
}
4
Embedded Computers
output Analog
Input Analog
CPU
Memory
Embedded
computer
5
COMPONENTS OF EMBEDDED SYSTEM
It has Hardware
Processor, Timers, Interrupt controller, I/O Devices, Memories, Ports, etc.
It has main Application Software
Which may perform concurrently the series of tasks or multiple tasks.
It has Real Time Operating System (RTOS)
RTOS defines the way the system work. Which supervise the application software. It
sets the rules during the execution of the application program. A small scale embedded
system may not need an RTOS.
6
EMBEDDED SYSTEM HARDWARE
7
EMBEDDED SYSTEM CONSTRAINTS
An embedded system is software designed to keep in view three
constraints:
Available system memory
Available processor speed
The need to limit the power dissipation
When running the system continuously in cycles of wait for events, run, stop and
wakeup.
8
CLASSIFICATIONS OF EMBEDDED SYSTEM
Small Scale Embedded System
8 ,16 bit Microcontroller, Little HW & SW
Medium Scale Embedded System
Single or few 16 or 32 bit Microcontrollers or
DSP or RISC Computer, RTOS,
Sophisticated Embedded System
Which may need scalable processor or
configurable processor and programming
logic arrays.
9
PROCESSOR
A Processor is the heart of the Embedded
System.
For an embedded system designer
knowledge of microprocessor and
microcontroller is a must.
Two Essential Units: Operations
Control Unit (CU), Fetch
Execution Unit (EU) Execute
10
VARIOUS PROCESSOR
1. General Purpose processor (GPP)
Microprocessor
Microcontroller
Embedded Processor(ARM 7, INTEL i960,
AMD 29050.)
Digital signal Processor(TMS320Cxx, SHARC,
Motorola 5600xx)
2. Application Specific System
Processor (ASSP)
IIM7100, W3100A
3. Multi Processor System using
11
GPPs
Von Neumann Vs. Harvard
Von Neumann Harvard
12
RISC vs. CISC
Complex Instruction Set Computer (CISC):
Many Addressing Modes;
Many Operations.
Reduced Instruction Set Computer (RISC):
Load/Store;
Pipelinable Instructions.
13
MICROPROCESSOR Vs MICROCONTROLLER
MICROPROCESSOR MICROCONTROLLER
It includes functional blocks of
The functional blocks are ALU, registers,
microprocessors & in addition has timer,
timing & control units
parallel i/o, RAM, EPROM, ADC & DAC
Bit handling instruction is less, One or two
Many type of bit handling instruction
type only
Rapid movements of code and data Rapid movements of code and data
between external memory & MP within MC
It is used for designing general purpose They are used for designing
digital computers system application specific dedicated systems
14
Automotive Embedded systems
Today’s high-end automobile may have 100 microprocessors:
4-bit microcontroller checks seat belt;
microcontrollers run dashboard devices;
16/32-bit microprocessor controls engine.
BMW 850i brake and stability control system
Anti-lock brake system (ABS): pumps brakes to reduce skidding.
Automatic stability control (ASC+T): controls engine to improve stability.
ABS and ASC+T communicate.
ABS was introduced first---needed to interface to existing ABS module.
15
BMW 850i, brake and stability control system
sensor sensor
brake brake
hydraulic
ABS
pump
brake brake
sensor sensor
16
Embedded system design flow
17
Real Time System
Hard or soft?
18
Arduino board
Open Source electronic prototyping platform based on flexible easy to
use hardware and software.
19
AVR Architecture
Features
28-pin AVR Microcontroller
Flash Program Memory: 32 kbytes
EEPROM Data Memory: 1 kbytes
SRAM Data Memory: 2 kbytes
I/O Pins: 23
Timers: Two 8-bit / One 16-bit
A/D Converter: 10-bit Six Channel
PWM: Six Channels
RTC: Yes with Separate Oscillator
MSSP: SPI and I²C Master and Slave Support
USART: Yes
External Oscillator: up to 20MHz 20
Getting Started
Check out: [Link]
1. Download & install the Arduino environment (IDE) (not
needed in lab)
2. Connect the board to your computer via the USB cable
3. If needed, install the drivers (not needed in lab)
4. Launch the Arduino IDE
5. Select your board
6. Select your serial port
7. Open the blink example
8. Upload the program
21
Try It: Connect the USB Cable
[Link]/blog/bionicarduino
Arduino IDE
See: [Link] for more information
Select Serial Port and Board
Status Messages
[Link]/blog/bionicarduino
[Link]/blog/bionicarduino
Add an External LED to pin 13
• File > Examples > Digital > Blink
• LED’s have polarity
– Negative indicated by flat side of the housing and a short
leg
[Link]
A Little Bit About Programming
• Code is case sensitive
• Statements are
commands and must end
with a semi-colon
• Comments follow a // or
begin with /* and end
with */
• loop and setup
Our First Program
Terminology
Digital I/0
pinMode(pin, mode)
Sets pin to either INPUT or OUTPUT
digitalRead(pin)
Reads HIGH or LOW from a pin
digitalWrite(pin, value)
Writes HIGH or LOW to a pin
Electronic stuff
Output pins can provide 40 mA of current
Writing HIGH to an input pin installs a 20KΩ pullup
Arduino Timing
• delay(ms)
– Pauses for a few milliseconds
• delayMicroseconds(us)
– Pauses for a few microseconds
• More commands: [Link]/en/Reference/HomePage
Digital? Analog?
• Digital has two values: on and off
• Analog has many (infinite) values
• Computers don’t really do analog, they quantize
• Remember the 6 analog input pins---here’s how they work
[Link]/blog/bionicarduino
Putting It Together
• Complete the sketch (program)
below.
• What output will be generated by this
program?
• What if the schematic were
changed?
[Link]/learn/arduino
Arduino IDE
• [Link]()
- e.g., [Link](9600)
• [Link]() or [Link]()
- e.g., [Link](value)
• [Link]()
• [Link]()
• [Link]()
• [Link]()
35
See: [Link] for more information
Default LED Blinking
void setup() {
// put your setup code here, to
run once:
}
void loop() {
// put your main code here, to
run repeatedly:
}
36
In-class Exercise 1: Digital IO
Use a push-button to turn ON/Off LED
37
APPLICATIONS
Embedded Inside:
Automotive systems
Airplanes
Toys
Medical Devices
Furniture
Billions of units
38
Example- Car
39
Example- Car
40
Other Example- Car
41
APPLICATIONS
•Household appliances:
Microwave ovens, Television, DVD
Players & Recorders
•Audio players
•Integrated systems in aircrafts and missiles
•Cellular telephones
•Electric and Electronic Motor controllers
•Engine controllers in automobiles
•Calculators, Medical equipments
•Videogames, Digital musical instruments,
etc.
42
List of the Embedded companies
1. Intel Robert Bosch engineering and business solutions limited
2. IBM Honeywell India
3. Philips L&T InfoTech
4. Motorola EMC corporation India
5. LG Electronics Renault Nissan Automotive India Private Limited
6. Texas Instruments Siemens
7. VOLVO HCL Technologies
8. Freescale Wipro Technologies
[Link] Cisco Systems India Pvt Ltd
43
Thank you for your attention ! Any Questions?
44
Feedback form
Contact us:
[Link] kumar
(9486090641)- kali.12eee@[Link]
[Link]
(9600893226)-kumark86@[Link]
[Link]
45