Introduction to Mixed-Signal, Embedded Systems Design

Download Report

Transcript Introduction to Mixed-Signal, Embedded Systems Design

Introduction to Mixed-Signal,
Embedded Systems Design
Alex Doboli, Ph.D.
Department of Electrical and Computer Engineering
State University of New York at Stony Brook
Email: [email protected]
©Alex Doboli 2006
An Overview on the Design of
Embedded Mixed-Signal Systems
The chapter introduces embedded mixed-signal systems and
explains the top-down design flow for developing performance
efficient implementations
• Types of embedded applications and their characteristics
(interfaces, functionality, and design requirements)
• CPUs used in embedded systems (microprocessors and
microcontrollers, DSP, VLIW processors, and reconfigurable
architectures)
• Top-down design flow based on design refinement and circuit
modeling
• The evolution of the embedded systems market
• Illustrating example for a embedded mixed-signal system design
©Alex Doboli 2006
Sensing and actuation devices in
embedded applications
©Alex Doboli 2006
Embedded Applications
Signal sensing/data acquisition – data processing & data storing
– actuation – data communication (networking)
©Alex Doboli 2006
Embedded Applications
• Networking, intelligent control
©Alex Doboli 2006
Embedded Applications
• Networking
©Alex Doboli 2006
Types of Embedded Applications (1)
• A. Embedded controllers
– Supervise and adjust the behavior of the monitored entities
– Fan controller, pacemakers, robot arm controller,
– Low/medium computational complexity, real-time, safetycritical, accurate sensing, low cost
• B. Specialized interfaces
– Interfacing to powerful computers
• Supply the missing hardware
• Relieves the computer from interfacing jobs: data
conversion, encoding/decoding, encryption/decryption, etc.
– Small cost & size, low/medium computational complexity, fast
throughput, low energy consumption
– Data acquisition, networking cards, capacitive sensing, mouse
©Alex Doboli 2006
Types of Embedded Applications (2)
• C. Application-specific coprocessors
– Customized data intensive processing: DSP, multimedia,
graphic processors, image processing, video processing
– Relieves CPU from computationally intensive tasks
– High speed, low power consumption, low cost & size
• D. Networks of embedded systems
– Automotive applications: networked embedded
microcontrollers, sensors, actuators
– Wireless networks, sensor networks
– Low cost, small size, reduced memory, low energy
consumption, variety of sensors/actuators
– Communication protocols, data routing, data aggregation,
control, scalability, self-organizing, autonomous
©Alex Doboli 2006
Data Flow in an Embedded System
©Alex Doboli 2006
Summary of Embedded Systems
characteristics
System
types
Sensing
Actuation
Data
communic.
Data
processing
Requirements
& constraints
Controllers
Wide range
Wide range
-
control
Cost,
accuracy,
timing, safety
Specialized
interfaces
Wide range
-
Various
speed
Coprocessors
-
-
High-speed
Dataintensive
customized
Cost, size,
speed, power
consumpt.
Networks of
embedded
systems
Wide range
Wide range
Various
speed
Control,
conversion,
encoding
Cost, size,
safety, power
consumpt.
©Alex Doboli 2006
Conversion,f Cost,size,accu
ormatting,en
racy,timing,
coding
power
consumpt.
I/O Interfaces
• Analog and digital signals
– Voltage, current, charge, frequency, phase
– Thermistors, theromocuples, pressure sensors, velocity sensors,
strain gauges, etc.
• Signal conditioning circuits, analog multiplexers, ADC, DAC,
comparators, filters, sampling circuits, amplitude detectors,
mixers, etc.
• Analog signals
– Sin waves, triangular,
– Range, bandwidth, precision, noise, speed of variation etc.
©Alex Doboli 2006
Functionality
• Control dominated systems
• Data dominated systems
• Multi tasking systems
• Multi-mode systems
©Alex Doboli 2006
Types of functionality
©Alex Doboli 2006
Types of functionality
• Continuous time systems
• Discrete-time systems
• Event-driven systems
©Alex Doboli 2006
Design requirements
• Low cost
• Short time to market
• Small size & weight
• Real-time constraints, latency, throughput
• Low power & low energy consumption
• Safety
• Data accuracy
• Robustness
• Flexibility in developing new applications
©Alex Doboli 2006
Timing (real-time) constraints
©Alex Doboli 2006
Analog Circuit Nonidealities
©Alex Doboli 2006
System performance & requirements
• Global constraints
• Local constraints
• Constraint transformation
• Tightly coupled systems
• Loosely coupled systems
©Alex Doboli 2006
Embedded vs. other applications (1)
How do embedded applications differ from “non-embedded” ones
(e.g., desktop)?
A. Wide range of sensing & actuation necessities:
• The temperature sensor provides an output voltage proportional
to the measured temperature
• The fan is a DC brushless fan with a duty cycle (hence speed)
controlled by the output of the embedded controller
• The tachometer measures the rotational speed of the fan, and
generates an input signal used by the embedded system for
computing the fan speed
=> Knowledge required beyond EE & CE (physics, chemistry,
mechanics, material science, etc.)
©Alex Doboli 2006
Embedded vs. other applications (2)
B.
•
•
•
•
•
Variety of design and performance requirements
Cost
Weight, size, number of I/O pins
Latency, throughput, real-time constraints, response time,
Energy/power consumption
Safety-critical
C. Comprehensive design process
• System design (beyond CPU)
• Analog and mixed-signal circuit design
• Customized digital circuit design
• Software development: algorithms, drivers, firmware, ISR, API
=> Cross-disciplinary design expertise (EE & CE & CS)
©Alex Doboli 2006
PSoC Mixed-Signal Architecture
©Alex Doboli 2006
Other Embedded Architectures
• Microcontrollers
• DSP
• Reconfigurable architectures
©Alex Doboli 2006
Tow-Down Design Flow (1)
©Alex Doboli 2006
Design Flow (2)
• Goal: customize the hardware and software according
to the specific functional, cost, and performance needs
of the application, as well as the characteristics of the
environment the design will operate in
• Customization allows achieving the performance requirements at
relatively low costs
• Customization leads to lesser flexibility in efficiently reusing an
embedded system design for a different kind of application
• Customization involves cost-size-performance trade-offs
©Alex Doboli 2006
Design Flow (3)
• Abstract system specification
– Functional, interfacing, cost, and performance
requirements of the system
• Incremental refinement during the top-down flow
– Adds successively implementation details to the design
– Early refinement steps decide the # of processing cores,
partitioning of the functionality to the cores, the structure
of the memory subsystem, the number of buses, etc.
– Late refinement steps implement the building blocks
• Each refinement step conducts design trade-off analysis
– Multiple solutions and impact on the system performance
• System performance evaluation
• Modeling procedure for the building blocks in the design
©Alex Doboli 2006
Design Flow (4)
• 1. System specification:
– Describing the interfacing, functionality, and performance
constraints of an embedded system
– Simulatable notation
• SystemC, MATLAB/SIMULINK, UML, VHDL, VHDL-AMS
– @ different levels of abstractions
• High level vs. low level specifications
• 2. Functional partitioning:
– Re-organizes a specification into modules with specialized
functionality
– The identified modules might undergo different design
procedures
– Might be performed multiple times
©Alex Doboli 2006
Design Flow (5)
• 3. System-level trade-off analysis:
– Maps (transforms) system-level performance and design
requirements into requirements for the building blocks
– Design trade-offs are analyzed during this step
• cost -speed, speed - power consumptions, etc.
– Whether a module is realized in hardware or software
– Deciding the main attributes of the memory
• memory size, # of memory modules, access time, etc.
– Number of I/O ports, their communication protocols, mapping
of I/O signals to ports, etc.
– Refining the OS or firmware level routines
• Task scheduling, arbitration of module access to buses
– Modules are individually designed
©Alex Doboli 2006
Design Flow (6)
• 4. Design of the individual modules:
– Implementing the system modules
• Interfaces, video and audio processors, memory
module, bus communication
– Hardware circuits
– Software routines
• Drivers, interrupt service routines (ISR), control and
data access routines
– Complex modules go through top-down design
©Alex Doboli 2006
Design Flow (7)
• 5. Analog and mixed-signal circuit design:
– OpAmp, OTA, comparator circuits, analog mux, integrator
circuits, S/H circuits, etc.
– Continuous-time or switched capacitor circuits
– Selecting the circuit topology, transistor sizing, and layout
design
• 6. Digital circuit design:
– Customized digital circuits
– Interfacing circuits, digital filters, decimator circuits,
encoders - like Huffman encoders for multimedia, etc.
– Complex digital sub-systems go through top-down design
– Simple circuits: logic design, mapping to basic circuits,
transistor sizing, and layout design
©Alex Doboli 2006
Design Flow (8)
• 7. Software development:
– Application software and system software
• Data processing, control, and graphical user interfaces
(GUIs)
• Real-time OS, middleware, and networking.
• 8. Circuit modeling:
– Characterizing the behavior of hardware
– Electronic circuits have significant differences from ideal
behavior
– Nonidealities of analog and digital circuits
• propagation delay, power consumption, noise margins,
gain, poles, zeros, bandwidth, harmonic distortion, circuit
noise
– Different kind of nonidealities have to contemplated at
different abstraction levels of a top-down design flow
©Alex Doboli 2006
Design Flow (9)
• 9. Software characterization:
– Prediction of the performance of software routines
• speed, memory, memory access patterns, power
consumption, and so on
– Difficult due to the dynamic nature of software performance
• if statements, case statements, loops
• 10. Performance evaluation:
– Performance attributes of the system and its modules
• Quality of different design options without actually
building, testing and measuring the designs
– Analytical expressions
• Simple to use, but require large development effort
• Prediction accuracy is not very high
– Simulation
• large simulation time
©Alex Doboli 2006
Embedded Systems Market
2003
2004
2009
% (2004-2009)
Embedded
software
$1,4 bil
$1,6 bil
$3,4 bil
16
Embedded
hardware
$34,6 bil
$40 bil
$78,7 bil
14
Embedded
boards
$3,4 bil
$3,6 bil
$5,9 bil
10
Total
$39,4 bil
$45,8 bil
$88,1 bil
14
Source: BCC Research Group, “Future of Embedded Systems
Technology”, 2005
©Alex Doboli 2006
What is an embedded system? (1)
Fan controller:
•
The controller adjusts the fan speed depending on the room
temperature
©Alex Doboli 2006
What is an embedded system? (2)
Functionality of the fan controller:
• The controller selects among four different predefined speed
values (e.g., off, low, ramp, and high):
– If the room temperature stays below 25C then the fan stays off
– If the temperature is in the range 25C - 35C then the fan rotates
at a low speed.
– For the temperature range 35C to 50C the speed of the fan
linearly increases with the temperature following a ramp law
Speedfan = room temperature / 10
– The fan speed is set to high, if room temperature exceeds 50C
• LCD displays the temperature & the fan speed set by the controller
Is that all?
©Alex Doboli 2006
What is an embedded system? (3)
Embedded control
algorithm
Digital
actuation
Sensing
Is that all?
©Alex Doboli 2006
Signal sensing/Data acquisition
• What signal (voltage, current)?
• Signal characteristics (range, frequency, noise, distortion)
• Signal loading characteristics (high impedance)
• Timing between pulses
• Interfacing (interrupts)
• Standards (I2C, RS232)
•Number of I/O Pins
©Alex Doboli 2006
Actuation
• Control signals
• Drive frequency
• Drive polarity
• Spin up time
©Alex Doboli 2006
Fan Controller Design Process (1)
• A. System specification
– Description of interfaces, functionality and performance
requirements
– Specification notation/language
• B. Specification testing & debugging
– Specification debugging & validation (correctness &
completeness)
• C. System implementation
– Analog & digital circuits
– Software (embedded control, drivers, ISR)
• D. Implementation testing and debugging
©Alex Doboli 2006
Fan Controller Specification (2)
• PSoC Express offers graphical interface for specification of
certain mixed-signal systems
Interconnect of
Library of
modules
predefined modules
Temperature sensor
interface
Control algorithm
©Alex Doboli 2006
I/Os to pins
Controller Implementation (3)
©Alex Doboli 2006
Controller Implementation (4)
©Alex Doboli 2006
Implementation Debugging & Validation (1)
• Implementation Debugging
– Eliminate the faults in the implementation (e.g., system
does not work)
• Analog, digital, software, integration etc.
– What input data activates a fault and propagates it to the
output?
• Implementation Validation
– Is the implementation equivalent to the specification?
– Are all possible input values handled correctly?
– Is the functionality correctly realized?
– Are performance requirements met?
– How does the system operate in exceptional situations?
©Alex Doboli 2006
Implementation Debugging & Validation (2)
• Fix the number of
bytes to be displayed
on the LCD, their
address, and amount
– Temperature & RPM
• Change Vref & monitor
data on LCD
•
©Alex Doboli 2006
LCD can display only
limited amount of data
Implementation Debugging & Validation (3)
• HyperTerminal
• Connected through the
serial port
• Steps for monitoring:
– Reset the system
– Set the duty cycle to
100%
– Define the I2C address
and count value to be
displayed
– HyperTerminal displays
the registers for Fan,
Tach, SPR, and Temp
©Alex Doboli 2006
Conclusions
©Alex Doboli 2006