Embedded System In Industrial View
Accel IT Academy, Chennai.
Agenda
Embedded Systems
Domains of Embedded Systems
Building Blocks of Embedded Systems through an application
Embedded Systems
What is an Embedded System?
• It is the combination of hardware and software for some control
specific application
• Forms a component of a larger system
• Expected to function with minimal human intervention
• Is a real time system
Do we need Embedded Systems?
The world needs SYSTEMS
• Predictability - Should respond in a predictable way to unpredictable
situations
• Fault Tolerant - Should continue operations despite the presence of
hardware and/or software faults
• Safety - Should avoid physical or economic damage to person &
property
Embedded Systems -
Building Blocks
Micro Processors / Micro Controllers.
Advance C / Embedded C / Assembly Programming.
Bus Standards.
PCB Design.
RTOS.
Networking.
Device Drivers.
Micro Processors / Micro Controllers.
A microprocessor is a general purpose central processing unit of
a digital computer
– A chip on a computer
E.G. Intel 8086, Intel 80186 , etc
A micro controller is a true computer on a chip
– A computer on a chip.
E.G intel 8051, PIC 16F873
Micro Processor versus Micro Controller
ALU ALU T/C I/O
ACC. I/O
ACC.
REG. INT.
REGISTERS UART
ROM
PC SP PC SP
INT. INT
CLK INT CLK RAM
MICROPROCESSOR MICRO CONTROLLER
Micro Processor versus Micro Controller
• Microprocessor
– general purpose CPU
– a chip in a computer
– Are built on Von Neumann architecture.
e.g. Intel x86/ Motorola 680x0 families
• Micro-Controller
– true computer on a chip.
– Are built on Harvard architecture.
e.g. Intel 8051, 80196/ Motorola 68HCxx families
Controller & Processor
Application
– processor is for simple system design
– controller is for special purpose complex system design
Speed
– processor is used when speed of operation of system is not
critical
– controller is used when speed is important
Advance C / Embedded C / Assembly Programming.
Compiler versus Cross Compiler
Native Compiler
Native compiler is a program which converts a high
level programming language to machine understandable format
with respect to the target processor available in the system box.
Cross Compiler
Cross compiler is a program which converts a high
level programming language to machine understandable format
with respect to the target processor selected in the cross
compiler software.
Assembly language programming
Advantage
Assembly Language programming is the efficient programming
language for accessing the hardware.
The assembly language op codes directly work on the target
machine so it is faster in operation
Disadvantage
Tough to understand and Program.
Advance C
Ways of accessing the hardware through C
Using runtime library functions, getch( ).
Using ROM-BIOS functions.
Using DOS functions.
Directly programming the hardware
Advance C
Direct reference to the hardware
One must have a detailed knowledge of the hardware one is
trying to program.
Program written for one hardware in one computer may not be
portable to another computer
Use of runtime library functions
They work very slowly when compared to others.
They are limited to what the function is designed to do
Advance C
WHY ROM-BIOS and DOS
The most important reason for using ROM-BIOS and DOS
are they are available in system memory once the system is on.
ROM-BIOS functions performs some basic fundamental
operation with the peripherals like reading data and writing data.
DOS is used for these basic functions and enhanced to
make a particular process more efficient.
Embedded C
Why Embedded C ?
Easy control of multilevel functions
Modularity
Easy maintenance
Reusable codes
Portable
Minimal hardware knowledge required
Bus Standards
Bus standard provides a easy way of communication
mechanism between the chips in the computer.
It reduces the number of control lines extended between the
chips so electro magnetic induction is greatly reduced in the
circuit
Speed of data transmission between the chips is greatly
increased. E.G 3.4 MBPS in I2c bus operating in high speed
mode.
E.G
I2c, PCI, USB, EISA etc
PCB Design.
PCB design is a technique of position hundreds of components
and thousands of tracks into an intricate design that meets a
whole host of physical and electrical requirements.
PCB design gives the basic thumb rule for placing the
components and routing an effective path between the
components within a small place.
It must also be remembered that PCB traces have resistance,
inductance, and capacitance, just like your circuit does.
Real Time Systems
Real Time Systems
• Systems that respond in a predictable way to unpredictable
external stimuli
• Computer system with timing constraints
• RTS depends upon
logical correctness of computation
time at which result is produced
In RTS “ a late answer is a wrong answer”
Real Time Systems - Types
• Hard real time - Systems with Hard Deadlines
– no Critical Deadlines can be missed
E.g. Control Systems of Aircraft,Atomic Reactors
Soft real time - Timing Constraints a little tolerable
– occasional misses are permitted
– the average response time for an event should be within a
specified time
E.g. Weather Monitors, Vending Machines
Preemptive Kernel Versus Non preemptive Kernel
Preemptive Kernel
System response is faster.
Highest Priority task gets the CPU time for execution.
Non Preemptive Kernel
System response time is slower than preemptive.
Currently executing task gets the CPU time for execution.
C/OS-II
High performance
Deterministic
ROMable
Scalable
Portable to different processors
Low cost
Real Time Systems - Critical Users
Automobile Industry
Instrumentation & Control Engineering Industry
Defence Organization
Aerospace Industry
Medical Equipment Industry
Nuclear Plants
TCP/IP
Introduction to Network
Computer network mean an a interconnection between the
collection of autonomous computers.
Two computers are said to be interconnected if they are able to
exchange information.
Network goals are
– resource sharing
– high reliability
– powerful communication medium
TCP/IP Internet layering model
TCP/IP software is organized into four conceptual layers that
build on a fifth layer of hardware.
Conceptual Layer
Objects passes between layers
Application Messages or streams
Transport Transport Protocol packets
Internet IP Datagrams
Network Interface Network-Specific Frames
Hardware
A quick look at TCP/IP Networking
Application Network
layer
Application
either ?
Transport
layer TCP UDP
Internet
Internet
layer
layer IP ARP
RARP
Network Token ring
Access layer Ethernet
Physical network
A quick look at TCP/IP Networking
Programs can access the network through either TCP or UDP,
depending on program requirements.
– TCP is a connection-oriented protocol.
– UDP is a connectionless protocol
Then the data segment passes to the internet level, where the IP
protocol provides logical addressing .
Then the IP datagram enter the network access layer.
DEVICE DRIVERS
Device Drivers
•
.
A set of functions that manipulates a hardware device
KEYBOARD CPU
DRIVER
KEY BOARD with
FOR
OS A OS A
History of WDM
Introduced after Windows 95 launch
First available in Windows 98
Now available in Windows 2000
Is present on Windows ME with enhancements from Windows 98
Environment
Portable - binary and source compatible
Configurable - Avoid direct references to device or system
characteristics
Preemptible and interruptible
More than one application will use the driver
Hot-pluggable buses
Device Drivers - Application
DEVICE DRIVERS
FOR
STANDARD &
CUSTOM
DEVICES
WISH YOU ALL A GREAT CAREER IN
EMBEDDED SYSTEMS