Module01a Intorduction and Models
Module01a Intorduction and Models
(ENEE759V-ENEE459V)
Course Overview
ENEE759V and ENEE459V
Course #: ENEE759V-ENEE459V
Course Title: Embedded Systems
Credits: 3
Time: Mondays 5:30pm to 8:15pm
Location: JMP 3201
Prerequisites:
ENEE140/150 or equivalent (C programming)
ENEE 350 or equivalent (Computer Organization)
Recommended as co-requisite: ENEE 244(Digital
Logic Design)
Basic Lecture Information
Instructor: Dr. George Zaki
Office: TBD
E-mail: [email protected]
Office Hours: email me to schedule
Background
Hardware-Software Co-Design
Hardware Design and Software Synthesis
Scheduling Heterogeneous Multiprocessor
Systems, Graphics Processing Units, and
Embedded Digital Processor.
Targeted application fields: digital signal
processing, Medical Images, Augmented Reality,
and wireless sensor networks.
Basic Lecture Information
Grader: Vivek Hemchandra
Email: [email protected]
Course Website
Textbooks:
E. Lee and S. Seshia, Introduction to Embedded
Systems, A Cyber-Physical Systems Approach, (2nd
Edition) (required)
Can be download online
P. A. Laplante and S. J. Ovaska, Real-Time Systems
Design and Analysis, (4th Edition) (required)
Required readings
Textbook.
Lecture handouts.
Other course handouts.
Lecture notes written on whiteboard.
Important Notes
https://www.youtube.com/watch?v=WHwuyeJTT
w8
Motivating Example 2: A Cyber-Physical
System
LIDAR RS232
URG-04LX 115 kbps
10 Hz ranges PC/104 WiFi
USB 2
Stereo Cam
Pentium M
480 Mbps
802.11g+
Firewire 1GB RAM, 1.8GHz 54 Mbps
Videre STOC
30 fps 320x240 480 Mbps RS232 Est. & control
GPS UART
Superstar II 19.2 kbps Stargate 1.0 WiFi
10 Hz
Intel PXA255
CF
UART 802.11b
64MB RAM, 400MHz 100 Mbps 5 Mbps
IMU 115 Kbps UART
3DMG-X1 UART Supervisor, GPS
Robostix
76 or 100 Hz 115 kbps
Atmega128
Low level control
Ranger I2 C PPM
SRF08 400 kbps 100 Hz
13 Hz Altitude Analog
Ranger Beacon
Mini-AE ESC & Motors
Timing/ Tracker/DTS Phoenix-25, Axi 2208/26
10-50 Hz Altitude Analog 1 Hz
2001 National Research Council
Report
Embedded Everywhere
Information technology (IT) is on the verge of another revolution.
Driven by the increasing capabilities and ever declining costs of
computing and communications devices, IT is being embedded into a
growing range of physical devices linked together through
networks and will become ever more pervasive as the component
technologies become smaller, faster, and cheaper... These networked
systems of embedded computers ... have the potential to change
radically the way people interact with their environment by linking
together a range of devices and sensors that will allow information to
be collected, shared, and processed in unprecedented ways. ... The
use of [these embedded computers] throughout society could well
dwarf previous milestones in the information revolution.
Why do we care? Some Market
Tidbits...
Specialized devices and appliances replacing PCs
variety of forms: set-top boxes, fixed-screen phones,
smart mobile phones, PDAs, NCs, etc.
In 1997, 96% of internet access devices sold in the US
were PCs, by 2004, shipments far exceeded PCs
2009 Tire Pressure Sensors: 60-70M/yr, Smart cards
100-200M/yr
Traditional Products
dependent on computation systems
Modern cars: ~100 processors running complex software
Instrumentation
E-Corner, Siemens (Soleil Synchrotron)
Factory automation
Power
generation and
distribution
Daimler-Chrysler
Military systems:
Courtesy of
Courtesy of Doug Schmidt General Electric Courtesy of Kuka Robotics Corp.
Practical Embedded Systems
Aerospace Industrial
Flight control Crane
Navigation Paper machine
Pilot interface Welding robot
Automotive Multimedia
Airbag deployment Console game
Antilock braking Home theater
Fuel injection Simulator
Self driving cars Medical
Household Intensive care monitor
Microwave oven Magnetic resonance imaging
Rice cooker Remote surgery
Washing machine
Embedded Automotive
https://blogs.nvidia.com/blog/2016/04/05/roborace/
Mars Exploration Rover of NASA
System
Input Space Output Space
.. Mapping Function ..
. .
Programming
Languages
Operating
Algorithms
Systems
Data Software
Structures Engineering
Real-Time
Systems
Operations Control
Research Theory
Queuing Systems
Theory Theory
Computer
Architecture
Technologies
Integrated Processors
Nearly free in production
A/D, D/A, Sampling
Interface Analog world to cheap computing
MEMS, NEMS, Opto-Devices
Miniature Direct Coupling to Real World
Batteries, Solar Cells, Vibration Scavenging,
Thermal Gradient Cell
Computation and Communication Power
Usual Misconceptions
always approximate.
(paraphrased)
Determinate Models
Signal Signal
Differential Equations
Combinations are Nondeterminate
Signal Signal
Schematic of a simple CPS:
Computation given in an
untimed, imperative language.
Physical plant modeled with
ODEs or DAEs
A Key Challenge:
Timing is not Part of Software
Semantics
Correct execution of a program in C, C#, Java,
Haskell, OCaml, etc. has nothing to do with how long
it takes to do anything. Nearly all our computation and
networking abstractions are built on this premise.
It needs to be a correctness
criterion.
Correctness criteria
We can safely
assert that line 8
does not execute
(In C, we need to
separately ensure that
no other thread or ISR
can overwrite the stack,
but in more modern We can develop absolute
languages, such
assurance is provided
confidence in the software, in that
by construction.) only a hardware failure is an excuse.
Its a
control Its a
system Protection software
PID Threshold detection system
u K p e K i e K d
de Fault
dt
LRU1
Energize
Supervisor
On/off FSM
Switch
Signal generator
LRU2
Cockpit Its a
Its a human- communicati
computer Thanks to Eelco Scholte, UTC
on network
interface
Model Of Computation
What is a MoC: a mathematical description that has a syntax and rules for
computation of the behavior described by the syntax (semantics). Used to
specify the semantics of computation and concurrency.
A MoC allows:
to capture unambiguously the required functionality.
verify correctness of the functional specification wrt properties
synthesize part of the specification
use different tools all understanding the same model
Why different models?
Need to capture different properties
Some models more powerful, so some problems may be undecidable.
Examples:
o Modeling physical phenomena ODEs
o Feedback control systems time-domain modeling
o Modeling modal behavior FSMs, hybrid automata
o Modeling sensors and actuators calibration, noise
o Modeling software concurrency, real-time models
o Modeling networks latencies, error rates, packet loss
Modeling of Continuous Dynamics
State machines
sequential decision logic
Synchronous/reactive concurrent composition
concurrent computation
composes well with state machines
Dataflow models
exploitable parallelism
well suited to signal processing
Discrete-event models
explicit about time
Time-driven
suitable for periodic, timed actions
Continuous-time models
models of physical dynamics
extended to hybrid systems to embrace computation
Key Concepts in Model-Based Design
Different Models
composed, often in
hierarchy
Must understand
how models relate
when combined
Sometimes multiple
views (models) of
same subsystem
Circuit and
Simulation model
of Component
Metrics / Models / Abstractions and
Systematic Analysis
To make progress, we need objective means to evaluate heterogeneous
collections of components, to test and validate correct operation and models
to abstract system complexity.
Models of Computation
Provide metrics on component and system performance
Time, Throughput, Power?
Abstract models as bounds on system behavior
Provable or at least Simulation bound on system correctness
Unfortunately no complete, encompassing, provable model exists
Lots of small provable sub-models: FSM, eFSM, SDL, Kahn Processes
Lots of encompassing but undecidable models: RT-FSM, General Modal Logic
In search of set of generally useful abstractions
Embedded Systems a bit like software compilers in Lisp/Fortran era
Problem: Implementation Gap
Discard
Discard
FromDevice(0)
DecIPTTL ToDevice(0)
IPVerify
FromDevice(1)
Discard
Discard
IPVerify
Natural
FromDevice(3) Discard
ToDevice(2)
DecIPTTL
Lookup
IPRoute
representation of DecIPTTL
Discard
ToDevice(3)
applications FromDevice(15)
IPVerify
Discard
DecIPTTL
Discard
ToDevice(15)
Discard
Implementation Gap
Low-level
programming
environment
Modeling, Design, Analysis
Design complexity
Performance
Time-to-market
Cost including Non Recurring Engineering
Others: power, signal integrity, testability, etc.
Assignment 1
Due June 6th
Install CCS and the Texas Instruments tools and
libraries required for project 3 and send a
progress report by Monday Feb 28th.