Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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