File

advertisement
Introduction to Mixed-Signal,
Embedded Systems Design
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
Sensing and actuation devices in
embedded applications
Embedded Applications
Signal sensing/data acquisition – data processing & data storing
– actuation – data communication (networking)
Embedded Applications
• Networking, intelligent control
Embedded Applications
• Networking
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
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.
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.
Functionality
• Control dominated systems
• Data dominated systems
• Multi tasking systems
• Multi-mode systems
Types of functionality
Types of functionality
• Continuous time systems
• Discrete-time systems
• Event-driven systems
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
Timing (real-time) constraints
Analog Circuit Nonidealities
System performance & requirements
• Global constraints
• Local constraints
• Constraint transformation
• Tightly coupled systems
• Loosely coupled systems
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.)
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)
PSoC Mixed-Signal Architecture
Other Embedded Architectures
• Microcontrollers
• DSP
• Reconfigurable architectures
Tow-Down Design Flow (1)
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
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
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
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
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
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
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
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
What is an embedded system? (1)
Fan controller:
•
The controller adjusts the fan speed depending on the room
temperature
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
Sensing
Digital
actuation
Is that all?
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
Actuation
• Control signals
• Drive frequency
• Drive polarity
• Spin up time
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
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
I/Os to pins
Controller Implementation (3)
Controller Implementation (4)
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?
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
•
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
Download