Embedded Control Systems
Lecture: MW 130-3PM 1311 EECS
Labs: 4342 EECS
Jeff Cook
jeffcook@eecs.umich.edu
Office: 4238 EECS
Zhaori Cong (Thursday 9:30)
zcong@umich.edu
Jeff Roder (Tuesday, Thursday 1:30)
roderjef@umich.edu
John Schmotzer (Monday 3:30,Wednesday 10:00)
jwschmo@umich.edu
Embedded Control Systems
• Background:
– University of Michigan and Ford Motor
Company, 2004
– Control theorists and computer scientists: why
do we have to hire one of each to develop
embedded controls?
– Teach a little computer engineering to control
theorists, and a little signal processing and
control to computer engineers
– Also taught at ETH (2008)
Outline
• Embedded systems and embedded control systems
• Laboratory description
– Freescale MPC5553 microcontroller
– Software development environment
– Haptic interface
• Lecture Topics
• Laboratory Exercises
What is an Embedded System?
• Technology containing a microprocessor as a
component
– cell phone
– PDA
– digital camera
• Constraints not found in desktop applications
– cost
– power
– memory
– interface
⇒ Embedded processor is often the performance and
cost limiting component!
What is an Embedded Control System?
• Technology containing a microprocessor as a
component used for control:
– Automobile
– Aircraft and UAV
– Active control of civil structures
– Manufacturing tools
– Household appliances
– Many others …
Characteristics of Embedded Control
Systems
• Interface with external environment
– sensors and actuators
• “Real time” critical
– performance and safety
– embedded software must execute in synchrony
with physical system
• Distributed control
– networks of embedded microprocessors
Skills Required for Embedded Controls
• Algorithms (control, signal processing,
communications)
• Computer software (real time, multitasking)
• Computer hardware (interfacing, memory
constraints)
• Digital electronics
• Sensors and actuators
• Mechanical design
• Multi-disciplinary!
Industry Trends
• Increasing complexity of embedded control systems and
software
– Actuators, sensors, processors, networks
– Typical small car contains ~70 microprocessors
• Model based embedded control software design
– Matlab/Simulink/Stateflow
– Autocode generation
– Rapid prototyping
– Hardware in the loop (HIL) testing
• “Separation between control design and controller
implementation is not sustainable in embedded market”*
* Industry Needs for Embedded Control Education, Tutorial Session 2005 ACC
J. Freudenberg (UM), B. Krogh (CMU), J. Cook (Ford), K. Butts (Toyota), J. Ward (Eaton)
An Embedded Design Team
• May consist of:
– Applications engineers
• Model the systems to be controlled, design control
algorithms
– Hardware specialists
• Low-lever drivers and other hardware specific design
– Software engineers
• Write C code from specifications given to them by
applications engineers
• Applications engineers, hardware engineers
and software engineers have to communicate!
Languages
• Some assembly language
– device drivers, highly optimized code
• Most coding done in C
– interest in C++ and Java, but too much overhead for
highly constrained applications
• Automatic code generation
– automatically generate C code from a Matlab/Simulink
model used to design and test control algorithm
– currently useful for rapid prototyping on non-production
processor
– also used for high end applications (NASA)
MPC5553/5554 Examples: Automotive
Applications
• Powertrain
– Fuel and ignition control
– Aftertreatment control for diesels
– Valve control, turbocharger control, transmission control
including CVT
– Control of hybrid-electric powertrains
• Safety
– ABS, traction control, electronic stability control, rollover
control
• Lots of I/O: sensors & actuators
– Real time critical: performance & safety
– Harsh environment (EMI, noise, vibration, temperature)
Automotive Distributed Systems:
Mobile Networking
• High-speed CAN
• Low-speed CAN
• Local Interconnect Network
(LIN)
• Media Oriented Systems
Transport (MOST)
• Bluetooth
• Intelligent Transportation
System Data Bus (IDB 1394)
• FlexRay, Time-triggered
CAN …
Application of the MPC555 (predecessor of
the MPC5553)
• SeaScan transoceanic pilotless aircraft
• ScanEagle Intelligence, surveillance and reconnaissance support;
USS Oscar Austin (DDG 79) Guided Missle Destroyer
• The Insitu Group: www.insitu.com
Laboratory Overview
• MPC5553 Microcontroller (Freescale)
– Originally automotive control, now used in many
applications
• Development Environment
– Debugger (P&E Micro)
– Codewarrior C compiler (Freescale)
• Haptic Interface
– Force feedback system for human/computer interaction
• Rapid Prototyping Tools
– Matlab/Simulink/Stateflow, Real Time Workshop (The
Mathworks)
– RAppID Toolbox (Freescale)
• Real Time Operating System
– OSEKturbo RTOS (Freescale)
Freescale MPC5553 Microcontroller
• 32 bit PPC core
– floating point
– 132 MHz
– -40 to +125 HC temperature range
• Programmable Time Processing Unit (eTPU)
– Additional, special purpose processor handles I/O that would otherwise
require CPU interrupt service (or separate chip)
– Quadrature decoding
– Pulse Width Modulation
• Control Area Networking (CAN) modules
• 2nd member of the MPC55xx family
– real time control requiring computationally complex algorithms
– MPC5554 replaces MPC555 for powertrain control
– MPC5553 has on-chip Ethernet for manufacturing applications
MPC5553 EVB
•Evaluation board (Freescale)
-32 bit PPC core
-floating point
-128 MHz
• Interface board (UofM)
– buffering
– dipswitches
– LEDs
– sliding potentiometer
Nexus Compliant Debugger (P&E Micro)
Haptic Interface
• Enables human/computer interaction through
sense of touch
– force feedback joystick
– virtual reality simulators (flight, driving)
– training (surgery*, assembly)
– teleoperation (manufacturing, surgery**)
– X-by-wire cars
• Human visual sensor: 30 Hz
• Human haptic sensor: 500Hz-1kH
* D. Sordid and S. K. Moore, “The Virtual Surgeon”, IEEE Spectrum, July 2000.
** J. Rosen and B. Hannaford, “Doc at a Distance”, IEEE Spectrum, October 2006.
Force Feedback
Haptic Wheel
• Prof. Brent Gillespie, Mech Eng Dept, UofM
– DC motor
– PWM amplifier w/ current controller
– optical encoder
– 128/18 gear ratio
Haptic Wheel
(New and Improved for 2009)
Virtual Environments
§Virtual wall
§Virtual spring-mass
Steer-by-wire Automobiles
R. Iserman, R. Schwarz, S. Stolzl, “Fault Tolerant Steer-by-Wire Systems”
IEEE Control Systems Magazine, October 2002.
Lectures (I)
• Quantization
• Sampling
• Linear filtering
• Quadrature decoding
• DC motors
• Pulse Width Modulation (PWM) amplifiers
• Motor control: current (torque) vs. speed
• MPC5553 architecture. Peripherals: eTPUs, eMIOS, eDMA,…
• Haptic interfaces.
– virtual wall
– virtual spring/mass/damper
• Simulink/Stateflow modeling of hybrid dynamical systems
• Numerical integration.
Lectures (II)
• Networking:
– Control Area Network (CAN) protocol.
– Distributed control
• Interrupt routines: timing and shared data
• Software architecture
– Round robin
– Round robin with interrupts
– Real time operating systems (RTOS)
– Multitasking
• Shared data: semaphores, priority inheritance, priority ceiling
• Real time computation. Rate monotonic scheduling.
• Rapid prototyping. Autocode generation.
• Model based embedded control software development
• PID control design