25-01-2011, 01:33 PM
[attachment=8431]
HARI BABU YADAV
UNDERGUIDNESSPROF. RAJENDRA SINGH KUSHWAH
Course overview
Tentative contents:
Introduction to Embedded Computing
Embedded System Hardware
Embedded Computing Platform
Programming Embedded Systems
Embedded System Development
6. Case Study and Assignments for Designing a Complete System
Evaluation criteria:
Term papers / Seminars/ Projects : 40% (20% will be clubbed with end term marks and 20% will contribute as Teacher's Assessment)
Mid Term (written): 20%
End Term (written): 40%
What is an Embedded System
An Embedded System is a microprocessor based system that is embedded as a subsystem, in a larger system (which may or may not be a computer system).
Essential Components
Microprocessor / DSP
Sensors
Converters (A-D and D-A)
Actuators
Memory (On-chip and Off chip)
Communication path with the interacting environment
Essential Considerations
Response Time -- Real Time Systems
Area
Cost
Portability
Low Power (Battery Life)
Fault Tolerance
Design Issues(Hardware-Software Co-design)
System Specification
Functions, Real Time Constraints, Cost and Power Constraints
Hardware Software Partitioning
Hardware Synthesis
Software Synthesis and Code Generation
Simulation
Implementation
ES, MS and RTS
All embedded systems are microprocessor based systems, but all microprocessor based systems may not be amenable to embedding (Area, Power, Cost, Payload parameters).
Most of the embedded systems have real time constraints, but there may be ES which are not hard RTS (for example off line Palm tops)
There may be RTS which are not embedded (e.g. Separate Process Control Computers in a network)
Embedded Systems are not GPS; they are designed for dedicated applications with specific interfaces with the sphere of control
General Characteristics of Embedded Systems
Perform a single task
Usually not general purpose
Increasingly high performance and real time constrained
Power, cost and reliability are important considerations
HW-SW systems
Software is used for more features and flexibility
Hardware (processors, ASICs, memory etc. are used for performance and security
ASIPs and ASICs form a significant component
Adv: customization lower power, cost and enhanced performance
Disadv: higher development effort (debuggers, compilers etc.) and larger time to market
Classification of Embedded Systems
Distributed and Non distributed
Reactive and Transformational
Control dominated and Data dominated
Application Specific Characteristics
Application is known before the system is designed
System is however made programmable for
Feature upgrades
Product differentiation
Often application development occurs in parallel to system development
Hw-Sw partitioning should be as delayed as possible
For upgrades design reuse is an important criterion
IP reuse, object oriented development
DSP Characteristics
Signals are increasingly being represented digitally as a sequence of samples
ADCs are moving closer to signals; RFs are also treated digitally
Typical DSP processing includes:
Filtering, DFT, DCT etc.
Speech and image: Compression, decompression, encryption, decryption etc.
Modems: Equalization, noise and echo cancellation, better SNR
Communication channel: encoding, decoding, equalization etc.
Distributed Characteristics
Components may be physically distributed
Communicating processes on multiple processors
Dedicated hw connected through communicating channels
Often economical
4 x 8 Bit controllers may be cheaper than a 32 bit microcontroller
Multiple processors can perform multiple time critical tasks
Better logistics – devices being controlled may be physically distributed
Design Metrics
Unit cost – the $ cost for each unit excluding development cost
NRE cost: $ cost for design and development
Size: The physical space reqd. – determined by bytes of sw, number of gates and transistors in hw
Performance: execution time or throughput of the system
Power: lifetime of battery, cooling provisions
Flexibility: ability to change functionality without heavy NRE cost
Time to market = Time to prototype + Time to refine + Time to produce in bulk
Correctness: Test and Validation
Safety:
Often these metrics are contradictory – hence calls for optimization
Processor choice, partitioning decisions, compilation knowledge
Requires expertise in hw and sw both
Major Subtasks of Embedded System Design
Modeling the system to be designed and constraints
Experimenting with different algorithms and their preliminary evaluation
Factoring the task into smaller subtasks and modeling their interaction
Refinement
HW-SW partitioning
Allocating the tasks into hw, sw running on custom hw or general purpose hw
Scheduling – allocation of time steps for several modules sharing the same resource
Implementation: Actual hw binding and sw code generation
Simulation and Validation
Iterate if necessary
What is Co-design?
Traditional design
SW and HW partitioning done at an early stage and development henceforth proceeds independently
CAD tools are focussed towards hardware synthesis
For embedded systems we need several components
DSPs, microprocessors, network and bus interface etc.
HW-SW codesign allow hw and sw design to proceed in parallel with interactions and feedback between the two processes
Evaluation of trade offs and performance yields ultimate result
CAD for Embedded Systems
Co-design: Joint optimization of hw and sw to optimize design metrics
Co-synthesis: Synthesizes designs from formal specifications
Rapid prototyping and design space exploration
Many of the tasks are interrelated
Intermediate evaluation is not easy as a later decision in one path affects the other
A Mix of Disciplines
Application Domain (Signal processing, control …)
Software Engg. ( Design Process plays an important role)
Programming Language
Compilers and Operating System
Architecture – Processor and IO techniques
Parallel and Distributed Computing
Real Time Systems
Importance of Embedded Softwareand Embedded Processors
“... the New York Times has
estimated that the average
American comes into contact with about 60 micro-processors every day....” [Camposano, 1996]
Latest top-level BMWs
contain over 100 micro-
processors
[Personal communication]
Views on embedded System
It is estimated that each year embedded software is written five times as much as 'regular' software
The vast majority of CPU-chips produced world-wide today are used in the embedded market ... ; only a small portion of CPU's is applied in PC's
... the number of software-constructors of Embedded Systems will rise from 2 million in 1994 to 10 million in 2010;... the number of constructors employed by software-producers 'merely' rises from 0.6 million to 1.1 million.
Some problems
How can we capture the required behaviour of complex systems ?
How do we validate specifications?
How do we translate specifications efficiently into implementation?
Do software engineers ever consider electrical power?
How can we check that we meet real-time constraints?
How do we validate embedded real-time software? (large volumes of data, testing may be safety-critical)