From Control Loops to Software
|
|
|
- Francis Barrett
- 9 years ago
- Views:
Transcription
1 CNRS-VERIMAG Grenoble, France October 2006
2 Executive Summary Embedded systems realization of control systems by computers Computers are the major medium for realizing controllers There is a gap between the world views of control and of computation Consequently there is no nice and coherent theory to cover the practice (sampled systems theory treats only part of the problem) We try to remove some of the confusion (or replace it with another) 1
3 Plan 1) A high-level historical and philosophical discussion of control and computation 2) From a simple PID controller all the way to implementation Further issues discussed in P. Caspi, O. Maler, From Control Loops to Real-Time Programs, Handbook of Networked and Embedded Control Systems, 2005: 3) Multi-periodic control loops and their scheduling on a sequential computer 4) Discrete event (and hybrid) systems and their software implementation 5) Distributed control and fault-tolerance 2
4 Controllers and Feedback Functions A mechanism that interacts with part of the world (the plant ) by measuring certain variables and exerting some influence in order to steer it toward desirable states The rule that determines what the controller does as a function of what it observes (and of its own state) is called the feedback function Prehistory: feedback function computed physically (Watt Governor) Controller Plant 3
5 Control by Analog Computation I Decoupling the computation of the feedback function from measurement and actuation Physical magnitudes transformed, via sensors, into low-energy electric signals which are fed into an analog computer The computer outputs electric signals which are converted into physical quantities and fed back to the plant Actuator Analog Computer Plant Sensor 4
6 Control by Analog Computation II This new architecture poses no conceptual/mathematical problems. The plant is viewed as a continuous dynamical system ẋ = f(x, d, u) with state x, disturbance d and control input u The electrical analog controller can be viewed as a system that computes u according to u = g(u, x, x 0 ) (x 0 is a reference signal) The closed loop system is obtained by combining both systems into a good old continuous system where feedback is computed continuously Actuator Analog Computer Plant Sensor 5
7 Digital Control I Computing a function by digital means is an inherently discrete process Numbers are represented by bits rather than by physical magnitudes Sensor readings are transformed from analog to digital before the computation, and the results of the computation are transformed back from digital to analog DA Actuator Digital Computer Plant AD Sensor 6
8 Digital Control II Something completely different Computation is done by a sequence of discrete steps that take time Electrical values on wires are meaningless until the computation terminates It makes no sense to connect the computer to the plant continuously DA Actuator Digital Computer Plant AD Sensor 7
9 Digital Control: Sampling The interaction of the controller and the plant is restricted to sampling points, a (typically periodic) discrete subset of the real-time axis At these points sensors are read, the values are digitized and handed over to the computer which computes the value of the feedback function The outcome is converted to analog and fed back to the plant via the actuators Between sampling times the output is kept constant, or interpolated by the actuator. There is no feedback From the control point of view, the sampling rate is determined by the dynamics of the plant. Faster and more complex dynamics requires more frequent sampling No real theory 8
10 Digital Control: the Computer Role The computer should be able to compute the value of the feedback function (including the A/D and D/A conversions) fast enough, that is, between two sampling points This requirement is the origin of the term real-time computation Once this is guaranteed, the control engineer can regard the computer as yet another (discrete time) block in the system and ignore its computerhood This is true for simple SISO systems, but becomes less and less so when the structure of the control loops becomes more complex 9
11 Computation Prehistory: batch programs for payroll or intensive numerical computations No interaction with the external world during execution Transformational programs: read their input at the beginning, embark on the computation process and output the result upon termination Fundamental theories of computability and complexity are tailored to this type of autistic computation: What functions can and cannot be computed (computability) How the number of computation steps grows asymptotically with the size of the input (complexity) 10
12 Remark: The Relativity of Real Time Even computations of this type are embedded in some sort of a larger process A payroll program is embedded in the control loop of the organization, a process of filling time sheets and getting salary at the end of the month If the program execution time was in the order of a month, this could be considered as real-time programming So it is always a matter of comparison between time scales of the computation and some external processes 11
13 Interactive Computing I With the advent of time-sharing operating systems computation became more interactive Typical examples: text editor, a command shell or any other program interacting with one or more users via keyboards and screens What is the function that such an interactive program computes? Mathematically speaking it can be formulated as a sequential function, mapping sequences of input actions to sequences of responses The crucial point: the process of computation is not isolated from the input/output process but is interleaved with it 12
14 Interactive Computing II The user types a command, the computer computes a response (and possibly changes its internal state) and so on. These were called reactive systems by Harel and Pnueli It differs from batch programs but still, the environment on the other side is restricted; typically a human user or a computer program following some protocol The user waits for the computer response before entering the next input Of course, if you type faster than your editor or transmit faster than the receiver it becomes real time (buffer overflow) 13
15 Control-Loop Computing Implementations of control systems interact with the physical world This player is assumed to be governed by differential equations, and which evolves independently of whether the computer is ready to interact with it A slow computer may ignore sensor readings or not update actuator values fast enough In many time-critical systems, the ability of the computer to meet the rhythm of the environment is the key to the usefulness of the system Failing to do so may lead to catastrophic results or to severe degradation in performance Real-time: tight coupling between the internal time inside the computer and the time of the external world 14
16 From Mathematical Descriptions to Programs Algorithms can be described at various levels of abstraction, for example an abstract graph algorithms can contain a statement: for every node do A more concrete program should specify the data-structure in which the mathematical object is stored, retrieved, etc. And there is a longer chain of concretizations (assembly, machine code, micro architecture) until the implementation One of the main achievement of computer science: automatic (and semiautomatic) semantics-preserving transformations between levels 15
17 PID Controller from the Control Viewpoint A PID controller: It takes the input signal I, computes its derivative D and integral S and computes its output O as a linear combination of I, S and D The controller can be represented using the following block diagram 5.8 Gain2 1 In1 4 Gain 0.1z z 1 Integrator 1 Out1 3.8 Gain1 z 1 0.1z Derivative 16
18 PID Controller: the Semantics The controller produces an output sequence O n as a function of the input sequence I n The relation between them is defined via the following recurrence equations: S 1 = I 1 = 0.0 S n = S n I n O n = 5.8 I n + 4 S n (I n I n 1 ) initialization integration derivative and summation 17
19 PID Controller: State and Memory The state variables of the system include the integral S and an auxiliary variable J memorizing the last input in order to compute the derivative The controller has memory that has to be maintained and propagated between successive invocations of the program The appropriate programming construct is a class in an object-oriented language, but we use instead a C program with global variables These variables continue to exist between successive invocations of the program (like latches in sequential digital circuits) 18
20 PID Controller: the Program /* memories */ float S = 0.0, J = 0.0; void dispid cycle (){ float I,O,J 1,S 1; S 1 = I 1 = 0.0 S n = S n I n O n = 5.8 I n + 4 S n (I n I n 1 ) I = Input(); J 1 = I; S 1 = S * I; O = I * S 1 * * 3.8 * (I-J); J = J 1; S = S 1; Output(O); } 19
21 Optimizing the Program /* memories */ float S = 0.0, J = 0.0; void dispid cycle (){ float I,O,J 1,S 1; I = Input(); J 1 = I; S 1 = S * I; O = I * S 1 * * 3.8 * (I-J); J = J 1; S = S 1; Output(O); } optimization /* memories */ float S = 0.0, J = 0.0; void dispid cycle (){ float I,O; I = Input(); S = S +0.1 * I * 4.0; O = I * S * 3.8 * (I-J); J = I; Output(O); } 20
22 Automatic Code Generation Saving two variables and two assignment statements is not much, but for complex control systems that should run on cheap micro-controllers such savings can be significant Writing, modifying and optimizing such programs manually is error-prone and it would be much safer to derive it automatically from the high-level block diagram model We have generated the program automatically using our Simulink-to-Lustreto-C translator. From there is can be compiled to machine code 21
23 The Platform The transformation to a working controller is not yet complete The execution platform should support the I/O functions and be properly connected to the machinery for conversion between digital and analog data Program correctness depends crucially on its being invoked every T time units, where T is the sampling period of the discrete time system used to derive the parameters of the controller Not adhering to this sampling period may result in a strong deviation of the program behavior from the intended one To ensure the correct periodic activation of the program we need access to a real-time clock that triggers the execution every T time units 22
24 Computation Time But this is not enough An abstract mathematical function is timeless but a the corresponding program takes some time to compute The condition C < T should hold, where C is its worst case execution time (WCET). Otherwise the program will not terminate before its next invocation. Computing WCET is not an easy task for modern processors T Read Compute Write Idle Read Compute Write Idle... C 23
25 Final Implementation Historically, such controllers were first implemented on a bare machine, without using any operating system (OS) The real-time clock acts as an interrupt that transfers control to the program. If the scheduling condition C < T is satisfied, this interrupt occurs after the program has terminated and the computer is idle No preemption or context switch. A simple and reliable solution that need not rely on a complex piece of software like an OS Today real-time OS (RTOS) technology is more developed and the role of monitoring the real-time clock and dispatching the program for execution can be delegated to an OS 24
26 Preview: Multi-Periodic Controllers and Scheduling c 1 c 2 c 3 c 1 c 21 c 22 c 31 c 32 c 33 Static EDF RM
From Control Loops to Real-Time Programs
From Control Loops to Real-Time Programs Paul Caspi and Oded Maler Verimag-CNRS 2, av. de Vignate 38610 Gires France www-verimag.imag.fr [email protected] [email protected] 1 Introduction This article
MECE 102 Mechatronics Engineering Orientation
MECE 102 Mechatronics Engineering Orientation Mechatronic System Components Associate Prof. Dr. of Mechatronics Engineering Çankaya University Compulsory Course in Mechatronics Engineering Credits (2/0/2)
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
Overview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
Application Architectures
Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch
Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
Chapter 3. Operating Systems
Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
White Paper: Pervasive Power: Integrated Energy Storage for POL Delivery
Pervasive Power: Integrated Energy Storage for POL Delivery Pervasive Power Overview This paper introduces several new concepts for micro-power electronic system design. These concepts are based on the
Degree programme in Automation Engineering
Degree programme in Automation Engineering Course descriptions of the courses for exchange students, 2014-2015 Autumn 2014 21727630 Application Programming Students know the basis of systems application
COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton
MICROPROCESSOR SYSTEMS Mitchell Aaron Thornton, Department of Electrical and Computer Engineering, Mississippi State University, PO Box 9571, Mississippi State, MS, 39762-9571, United States. Keywords:
Microcontroller-based experiments for a control systems course in electrical engineering technology
Microcontroller-based experiments for a control systems course in electrical engineering technology Albert Lozano-Nieto Penn State University, Wilkes-Barre Campus, Lehman, PA, USA E-mail: [email protected]
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Application Architectures Ref: Chapter 13 Software Engineering By Ian Sommerville, 7th Edition
UNIT 1 INTRODUCTION TO NC MACHINE TOOLS
UNIT 1 INTRODUCTION TO NC MACHINE TOOLS Structure 1.1 Introduction Objectives 1.2 NC Machines 1.2.1 Types of NC Machine 1.2.2 Controlled Axes 1.2.3 Basic Components of NC Machines 1.2.4 Problems with Conventional
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2
Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of
Control 2004, University of Bath, UK, September 2004
Control, University of Bath, UK, September ID- IMPACT OF DEPENDENCY AND LOAD BALANCING IN MULTITHREADING REAL-TIME CONTROL ALGORITHMS M A Hossain and M O Tokhi Department of Computing, The University of
Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure
Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure Micah Dowty University of Colorado at Boulder [email protected] March 26, 2004 Abstract Traditional software development
Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a
1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
PROGRAMMABLE LOGIC CONTROL
PROGRAMMABLE LOGIC CONTROL James Vernon: control systems principles.co.uk ABSTRACT: This is one of a series of white papers on systems modelling, analysis and control, prepared by Control Systems Principles.co.uk
Accurate Measurement of the Mains Electricity Frequency
Accurate Measurement of the Mains Electricity Frequency Dogan Ibrahim Near East University, Faculty of Engineering, Lefkosa, TRNC [email protected] Abstract The frequency of the mains electricity supply
Computer Organization and Components
Computer Organization and Components IS1500, fall 2015 Lecture 5: I/O Systems, part I Associate Professor, KTH Royal Institute of Technology Assistant Research Engineer, University of California, Berkeley
Memory Systems. Static Random Access Memory (SRAM) Cell
Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled
Smart Cards a(s) Safety Critical Systems
Smart Cards a(s) Safety Critical Systems Gemplus Labs Pierre.Paradinas [email protected] Agenda Smart Card Technologies Java Card TM Smart Card a specific domain Card Life cycle Our Technical and Business
Attaining EDF Task Scheduling with O(1) Time Complexity
Attaining EDF Task Scheduling with O(1) Time Complexity Verber Domen University of Maribor, Faculty of Electrical Engineering and Computer Sciences, Maribor, Slovenia (e-mail: [email protected]) Abstract:
Poznan University of Technology Faculty of Electrical Engineering
Poznan University of Technology Faculty of Electrical Engineering Contact Person: Pawel Kolwicz Vice-Dean Faculty of Electrical Engineering [email protected] List of Modules Academic Year: 2015/16
UML Activities & Actions. Charles ANDRE - UNSA
UML Activities & Actions Action & Object Nodes Accept inputs, start behaviors, provide outputs Object/Data flow Control flow Send Envoice Invoice Make Payment Accept Payment Invoice1234: Invoice Invoice1234:
Chapter 11: Input/Output Organisation. Lesson 06: Programmed IO
Chapter 11: Input/Output Organisation Lesson 06: Programmed IO Objective Understand the programmed IO mode of data transfer Learn that the program waits for the ready status by repeatedly testing the status
Chapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
3 SOFTWARE AND PROGRAMMING LANGUAGES
3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have
COMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
SELECTING NEURAL NETWORK ARCHITECTURE FOR INVESTMENT PROFITABILITY PREDICTIONS
UDC: 004.8 Original scientific paper SELECTING NEURAL NETWORK ARCHITECTURE FOR INVESTMENT PROFITABILITY PREDICTIONS Tonimir Kišasondi, Alen Lovren i University of Zagreb, Faculty of Organization and Informatics,
Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010
Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time
IEC 61131-3. The Fast Guide to Open Control Software
IEC 61131-3 The Fast Guide to Open Control Software 1 IEC 61131-3 The Fast Guide to Open Control Software Introduction IEC 61131-3 is the first vendor-independent standardized programming language for
The mission of the School of Electronic and Computing Systems 3 is to provide:
BSCOMPE-COMP Computer Engineering Assessment Plan Missions and Outcomes Three mission statements are provided below for the University of Cincinnati, the College of Engineering and Applied Science, and
Programming Logic controllers
Programming Logic controllers Programmable Logic Controller (PLC) is a microprocessor based system that uses programmable memory to store instructions and implement functions such as logic, sequencing,
Contents. Chapter 1. Introduction
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE Ioan Lemeni Computer and Communication Engineering Department Faculty of Automation, Computers and Electronics University of Craiova 13, A.I. Cuza, Craiova,
THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals
THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals Full Marks 100 (Theory 75, Practical 25) Introduction to Computers :- What is Computer?
Programmable Logic Controller PLC
Programmable Logic Controller PLC UPCO ICAI Departamento de Electrónica y Automática 1 PLC Definition PLC is a user friendly, microprocessor based, specialized computer that carries out control functions
Computer Systems Structure Input/Output
Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices
From Concept to Production in Secure Voice Communications
From Concept to Production in Secure Voice Communications Earl E. Swartzlander, Jr. Electrical and Computer Engineering Department University of Texas at Austin Austin, TX 78712 Abstract In the 1970s secure
Predictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour [email protected]
The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual. 14.10.2010 HAW - Arduino 1
The I2C Bus Introduction The I2C-bus is a de facto world standard that is now implemented in over 1000 different ICs manufactured by more than 50 companies. Additionally, the versatile I2C-bus is used
Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages
Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago
The SA601: The First System-On-Chip for Guitar Effects By Thomas Irrgang, Analog Devices, Inc. & Roger K. Smith, Source Audio LLC
The SA601: The First System-On-Chip for Guitar Effects By Thomas Irrgang, Analog Devices, Inc. & Roger K. Smith, Source Audio LLC Introduction The SA601 is a mixed signal device fabricated in 0.18u CMOS.
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
A Practical Approach to Education of Embedded Systems Engineering
A Practical Approach to Education of Embedded Systems Engineering Özgür Yürür Department of Electrical Engineering University of South Florida Tampa, Florida, 33620 [email protected] Wilfrido Moreno
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Introduction to Cloud Computing
Introduction to Cloud Computing Parallel Processing I 15 319, spring 2010 7 th Lecture, Feb 2 nd Majd F. Sakr Lecture Motivation Concurrency and why? Different flavors of parallel computing Get the basic
Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview
Technical Note TN-29-06: NAND Flash Controller on Spartan-3 Overview Micron NAND Flash Controller via Xilinx Spartan -3 FPGA Overview As mobile product capabilities continue to expand, so does the demand
M.S. Computer Science Program
M.S. Computer Science Program Pre-requisite Courses The following courses may be challenged by sitting for the placement examination. CSC 500: Discrete Structures (3 credits) Mathematics needed for Computer
EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad
A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
OPC COMMUNICATION IN REAL TIME
OPC COMMUNICATION IN REAL TIME M. Mrosko, L. Mrafko Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Ilkovičova 3, 812 19 Bratislava, Slovak Republic Abstract
Cover. SEB SIMOTION Easy Basics. Collection of standardized SIMOTION basic functions. FAQ April 2011. Service & Support. Answers for industry.
Cover SEB SIMOTION Easy Basics Collection of standardized SIMOTION basic functions FAQ April 2011 Service & Support Answers for industry. 1 Preface 1 Preface The SEB is a collection of simple, standardized
INTRUSION PREVENTION AND EXPERT SYSTEMS
INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla [email protected] Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion
FRANCIS XAVIER ENGINEERING COLLEGE
EC2042-Embedded and Real time Systems Unit I - I INTRODUCTION TO EMBEDDED COMPUTING Part-A (2 Marks) 1. What is an embedded system? An embedded system employs a combination of hardware & software (a computational
STEPPER MOTOR SPEED AND POSITION CONTROL
STEPPER MOTOR SPEED AND POSITION CONTROL Group 8: Subash Anigandla Hemanth Rachakonda Bala Subramanyam Yannam Sri Divya Krovvidi Instructor: Dr. Jens - Peter Kaps ECE 511 Microprocessors Fall Semester
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE
INTRODUCTION TO DIGITAL SYSTEMS 1 DESCRIPTION AND DESIGN OF DIGITAL SYSTEMS FORMAL BASIS: SWITCHING ALGEBRA IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE COURSE EMPHASIS:
Low Power AMD Athlon 64 and AMD Opteron Processors
Low Power AMD Athlon 64 and AMD Opteron Processors Hot Chips 2004 Presenter: Marius Evers Block Diagram of AMD Athlon 64 and AMD Opteron Based on AMD s 8 th generation architecture AMD Athlon 64 and AMD
ELEC 5260/6260/6266 Embedded Computing Systems
ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Chapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
Understanding the IEC61131-3 Programming Languages
profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of
Comparing RTOS to Infinite Loop Designs
Comparing RTOS to Infinite Loop Designs If you compare the way software is developed for a small to medium sized embedded project using a Real Time Operating System (RTOS) versus a traditional infinite
HITACHI INVERTER SJ/L100/300 SERIES PID CONTROL USERS GUIDE
HITACHI INVERTER SJ/L1/3 SERIES PID CONTROL USERS GUIDE After reading this manual, keep it for future reference Hitachi America, Ltd. HAL1PID CONTENTS 1. OVERVIEW 3 2. PID CONTROL ON SJ1/L1 INVERTERS 3
Survey of software architectures: function-queue-scheduling architecture and real time OS
Survey of software architectures: function-queue-scheduling architecture and real time OS Reference: Simon chapter 5 Last class: round robin with interrupts and without interrupts Function-Queue-Scheduling
Chapter 6: From Digital-to-Analog and Back Again
Chapter 6: From Digital-to-Analog and Back Again Overview Often the information you want to capture in an experiment originates in the laboratory as an analog voltage or a current. Sometimes you want to
Computer Organization & Architecture Lecture #19
Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of
Introduction to Digital System Design
Introduction to Digital System Design Chapter 1 1 Outline 1. Why Digital? 2. Device Technologies 3. System Representation 4. Abstraction 5. Development Tasks 6. Development Flow Chapter 1 2 1. Why Digital
Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:
PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting
Types Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
In-memory Tables Technology overview and solutions
In-memory Tables Technology overview and solutions My mainframe is my business. My business relies on MIPS. Verna Bartlett Head of Marketing Gary Weinhold Systems Analyst Agenda Introduction to in-memory
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first
Operating Systems Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first JavaScript interpreter Web browser menu / icon / dock??? login??? CPU,
FFT Frequency Detection on the dspic
FFT Frequency Detection on the dspic by Jac Kersing Nov 2012 Abstract In this article Jac explains how he solved a practical challenge using powerful dspic devices and Fast Fourier Transform algorithms.
