Introduction To Mixed-Signal, Embedded Systems Design
Introduction To Mixed-Signal, Embedded Systems Design
Introduction To Mixed-Signal, Embedded Systems Design
• Networking
• A. Embedded controllers
– Supervise and adjust the behavior of the monitored entities
– Fan controller, pacemakers, robot arm controller,
– Low/medium computational complexity, real-time, safety-
critical, 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
• 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
• Analog signals
– Sin waves, triangular,
– Range, bandwidth, precision, noise, speed of variation etc.
• Multi-mode systems
• Discrete-time systems
• Event-driven systems
• Low cost
• Safety
• Data accuracy
• Robustness
• Global constraints
• Local constraints
• Constraint transformation
• Microcontrollers
• DSP
• Reconfigurable architectures
• 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
• 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
Fan controller:
• The controller adjusts the fan speed depending on the room
temperature
Is that all?
©Alex Doboli 2006
What is an embedded system? (3)
Embedded control
algorithm
Digital
Sensing actuation
Is that all?
©Alex Doboli 2006
Signal sensing/Data acquisition
• Control signals
• Drive frequency
• Drive polarity
• Spin up time
• 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
• 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?
• 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