Interrupt-Driven Digital Control
|
|
- Toby Watkins
- 6 years ago
- Views:
Transcription
1 Interrupt-Driven Digital Control
2 Digital Control System Digital Computer Command + Controller D/A Control Signal Plant A/D T Sampler Sensor
3 Interrupt Main Program Interrupt Service Routine
4 PC Interrupt
5 PC Interrupt
6 PC Interrupt
7 PC bus AD board IRQ5 AD Converter Timer AD conversion start AD conversion end Timer AD Converter IRQ Interrupt Request T (Sampling Period)
8 Interrupt Definitions Hardware signal indicating an event has happened and needs to be serviced Latency The time from when the interrupt occurred to when the event is serviced
9 Threads and Processes Thread A unit of execution A piece of code that can be scheduled to run by the kernel May be launch by a process or a driver Process A collection of threads with a common execution environment A process has at least on thread Launch from an executable file Can create threads to handle interrupts
10 ISRs and ISTs Interrupt Service Routine (ISR) A piece of code loaded into the kernel Assigned to a particular IRQ Called immediately to handle the hardware interrupt Should be written to run quickly with few outside dependencies Can be chained together if multiple device might use the same IRQ Notifies the kernel which IST should run Interrupt Service Thread (IST) A thread registered to handle an interrupt Can be created by either a process or a driver Scheduled like any other thread on the system Should be written to do the bulk of the interrupt handling work
11 ISRs and ISTs Work Together ISRs and ISTs usually work as pairs ISR handles the critical work IST handles the bulk of the work They synchronize by using an Event Object The IST creates an Event Object Uses the API WaitForSingleObject to sit and wait on that object to be signaled The ISR tells the kernel which object to signal Which unblocks the IST and makes it runable If the IST is the highest priority runable thread, it will get scheduled to run immediately
12 Priority Levels Windows CE 5.0 has 256 levels of priority Level 0 is the highest and 255 is the lowest The old CE model of 8 levels now map to the lowest 8 of the new model The default level for a thread is 251
13 Scheduler Is responsible for determining which thread will run Has a queue for threads for each priority level Will always schedule the first thread at the highest priority level A thread gets to run for set length of time, called a quantum Typically 100 milliseconds A quantum of 0 means the quantum never runs out The thread can run until blocked or interrupted A Thread runs until Its quantum runs out It is interrupted by a higher priority thread Its blocked by a resource contention Such as access to a critical section or a mutex
14 Fitting It All Together Interrupt Occurs Interrupt Handler calls registered ISR ISR runs, tells kernel which event to signal IST runs and resets the interrupt Scheduler runs the IST Kernel signals event, IST becomes runnable
15 Interrupt Architecture
16 Program Template(1) #define AD_BASE #define AD_LOW_BYTE #define AD_HIGH_BYTE #define AD_MUX #define AD_STATUS #define AD_CONTROL #define COUNTER0 #define COUNTER1 #define COUNTER2 #define COUNTER_CONTROL #define DA_BASE #define DA_CHANNEL1_HIGH #define DA_CHANNEL1_LOW #define DA_CHANNEL2_HIGH #define DA_CHANNEL2_LOW 0x300 AD_BASE AD_BASE+1 AD_BASE+2 AD_BASE+8 AD_BASE+9 AD_BASE+12 AD_BASE+13 AD_BASE+14 AD_BASE+15 0x2c0 DA_BASE DA_BASE+1 DA_BASE+2 DA_BASE+3 #define ONMASK 0xdf /* Turn IRQ5 On */ #define OFFMASK 0x20 /* Turn IRQ5 Off */ #define PICMASK 0x21 /* 8259 Mask Register */ #define PICEOI 0x20 /* 8259 EOI Instruction */ #define DEBUGMODE 1
17 Program Template(2) int WINAPI WinMain( { DWORD IDThread; HINSTANCE hinstance, HINSTANCE hprevinstance, LPTSTR lpcmdline, int ncmdshow) hintrthread=createthread(0,0,intrthread,0,0,&idthread); if (hintrthread==null) { printf("[error]:failed to create IntrThread\r\n"); return 0; } if (!CeSetThreadPriority(hIntrThread,200)) { printf("cesetthreadpriority - Fail\n"); } } MessageBox(NULL, TEXT("Press OK to finish"),text("notice"),mb_ok); return 0;
18 Program Template(3) DWORD IntrThread(PVOID parg) { int high_byte,low_byte; long y,x; hintrevent=createevent(null, FALSE, FALSE, NULL); if (!(InterruptInitialize(SYSINTR_FIRMWARE+5,hIntrEvent,0,0))) { printf("interrupt Thread Initialize - Fail\r\n"); } else { printf("interrupt Thread Initialize - Success\r\n"); } _outp(ad_mux,0); /* AD channel selection */ _outp(ad_base+1,0); /* AD range control */ _outp(ad_control,0xd3); /* set AD mode */ InitializeTimerInterrupt(); _outp(ad_status,0); /* clears AD interrupt */
19 Program Template(4) interruptcounter=0; while(1) { WaitForSingleObject(hIntrEvent, INFINITE); interruptcounter++; low_byte=_inp(ad_low_byte) & 0xFF; high_byte=_inp(ad_high_byte) & 0xFF; x= (low_byte>>4)+(high_byte<<4)-2048; y=x; y=y+2048; low_byte= y & 0xff; high_byte= (y >> 8) & 0x0f; _outp(da_channel1_high,high_byte); _outp(da_channel1_low,low_byte); _outp(da_channel1_high,high_byte); _outp(ad_status,0); /* clears AD interrupt */ } } InterruptDone(SYSINTR_FIRMWARE+5);
20 Program Template(5) void InitializeTimerInterrupt(void) { unsigned short count; /* Initilize the timer */ count=10; _outp(counter_control,0x74); /* */ _outp(counter1,(count & 0xff)); _outp(counter1,((count >> 8) & 0xff)); count=20; _outp(counter_control,0xb4); /* */ _outp(counter2,(count & 0xff)); _outp(counter2,((count >> 8) & 0xff)); /* count=10,count=50 : 2KHz for 1MHz clock input */ /* count=10,count=20 : 5KHz for 1MHz clock input */ } /* InitializeTimerInterrupt */
21 PCL-818L
22 Two s complement 입력전압 입력값 Two s complement (long integer: 4 bytes) 10*(2047/2048) 0xfff 0x000007ff 10*(1/2048) 0x801 0x x *(1/2048) 0x7ff 0xffffffff -10 0x0 0xfffff800
23 AD connection
24 DA Connection 5 번그라운드 1 번출력
25 실험 1: AD & DA
26
27 실험 2: 구형파발생 주파수가 100Hz, 10Hz, 1Hz 인구형파 (0 volt- 1volt) 를발생시켜서 DA converter 로출력한다. 주어진 sample program 은 5KHz 의주기로인터럽트가발생되어, 인터럽트서비스루틴이동작된다. 따라서 global 변수로서 interrupt counter 변수를정의한후, 이변수를적절히사용하여위의주파수를갖는구형파를발생시켜오실로스코프로확인한다.
28 실험 3: AD 변환값저장 함수발생기로부터주파수가 10 Hz 인정현파를발생시켜서이를 AD converter 로입력한후, 0.1 초구간동안 (500 sample, 정현파 1 주기 ) 의입력값을저장한후, 이를 plotting 하여정현파의그래프가그려짐을확인한다. 이때 AD converter 로입력된데이터를저장하기위해서는저장하려는데이터의갯수만큼 global 변수 array 로서정의한후, Interrupt Service Thread 내에서 AD converter 입력값을변수에저장하고, 이변수 array 가모두채워지면, 파일에저장하도록한다. Interrupt Service Thread 내에서는파일저장을수행해서는안된다.
29 실험 3: AD 변환값저장 File save 를위한별도의 Thread 생성 File save thread 는 IST 보다낮은 priority 가짐 IST 에서는실시간으로변수에값을저장하고, 변수의저장이완료되면 flag 를 set 함. File save thread 에서는변수의저장이완료됨을알리는 flag 가 set 되는것을기다림. 변수의저장이완료되면 file 에 save 하고 file 을 close 함.
30 Digitization
31 Digitization
32 Digitization ZOH(zero order hold)
33 Laplace Transforms Laplace Transform st L[ f()] t = F() s = f() t e dt L[ f ( t)] = sf( s) yt () + ayt () + byt () = ut () 0 () + () + () = () 2 s Y s asy s by s U s Gs () Y() s 1 = = () U s s as b
34 z-transform z-transform Z [ f( k)] = F( z) = f( k) z Z = k = 0 1 [ f( k 1)] z F( z) k
35 z-transform yk ( ) = ayk ( 1) ayk ( 2) + buk ( ) + buk ( 1) + buk ( 2) Y( z) = a z Y( z) a z Y( z) + bu( z) + bz U( z) + b z U( z) Y( z) b + bz + bz = U( z) 1 + az + az
36 z-transform example 1 k 0 ek ( ) = 0 k < z 1 Ez ( ) = 1 + z + z + = =, z < z z 1 a k k 0 ek ( ) = 0 k < z 1 E( z) = 1 + az + a z + = =, az < az z a
37 Inverse z-tranform z Ez ( ) = ( z 1)( z 2) Ez ( ) = = + z ( z 1)( z 2) z 1 z 2 z z Ez ( ) = + z 1 z 2 k ek ( ) = 1+ 2, k 0
38 System Response yk ( ) = ayk ( 1) + uk ( ) Y z = az Y z + U z 1 ( ) ( ) ( ) Y( z) 1 z Gz ( ) = = = ( ) 1 z U( z) = z 1 z z Y( z) = G( zu ) ( z) = z az 1 1 U z az z a
39 System Response Y( z) z a/( a 1) 1/(1 a) = = + z ( z a)( z 1) z a z 1 za /( a 1) z /(1 a) Y( z) = + z a z 1 1 a k yk ( ) = + a, k 0 1 a a 1
40 Relationship Between s and z at f() t = e, t 0 1 F() s = pole : s = a s+ a akt f ( kt ) = e, k 0 Z [ f( k)] 1 e z e z at 1 a2t 2 = z = = pole : z = at 1 at 1 e z z e e at z = e st
41 Relationship Between s and z s = jω jωt z = e = cos( ωt) + jsin( ωt) = 1 ( ωt) ωs 2π fs π ω = = = ωt = π 2 2 T
42 Relationship Between s and z
43 Relationship Between s and z
44 Relationship Between s and z
45 Continuous System
46
Digital Control System
Digital Control System Digital Computer Command + Controller D/A Control Signal Plant A/D T Sampler Sensor Digital Controller Design Design by Emulation-Approximation Euler s Method Tustin s Method Discrete
More informationInterrupts and Time. Real-Time Systems, Lecture 5. Martina Maggio 28 January Lund University, Department of Automatic Control
Interrupts and Time Real-Time Systems, Lecture 5 Martina Maggio 28 January 2016 Lund University, Department of Automatic Control Content [Real-Time Control System: Chapter 5] 1. Interrupts 2. Clock Interrupts
More informationInterrupts and Time. Interrupts. Content. Real-Time Systems, Lecture 5. External Communication. Interrupts. Interrupts
Content Interrupts and Time Real-Time Systems, Lecture 5 [Real-Time Control System: Chapter 5] 1. Interrupts 2. Clock Interrupts Martina Maggio 25 January 2017 Lund University, Department of Automatic
More informationInterrupt/Timer/DMA 1
Interrupt/Timer/DMA 1 Exception An exception is any condition that needs to halt normal execution of the instructions Examples - Reset - HWI - SWI 2 Interrupt Hardware interrupt Software interrupt Trap
More informationProcess Scheduling Queues
Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes
More informationGrundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Interrupts Günther Gridling Bettina Weiss 1 Interrupts Lecture Overview Definition Sources ISR Priorities & Nesting 2 Definition Interrupt: reaction to (asynchronous) external
More informationIn Class Assignment 2
In Class Assignment 2 Name: UMBC ID: Academic Integrity Statement: "Integrity of scholarship is essential for an academic community. The University expects that students will honor this. By signing this,
More informationBare Metal Application Design, Interrupts & Timers
Topics 1) How does hardware notify software of an event? Bare Metal Application Design, Interrupts & Timers 2) What architectural design is used for bare metal? 3) How can we get accurate timing? 4) How
More informationMicrium µc/os II RTOS Introduction EE J. E. Lumpp
Micrium µc/os II RTOS Introduction (by Jean Labrosse) EE599 001 Fall 2012 J. E. Lumpp μc/os II μc/os II is a highly portable, ROMable, very scalable, preemptive real time, deterministic, multitasking kernel
More information1 #include <linux/module.h> 2 #include <linux/sched.h> 3 #include <linux/interrupt.h> 4 #include <linux/init.h> 5 #include <linux/kernel.
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include
More informationADSmartIO Driver Specification for Windows CE
Version: 1.0 ADS document #110110-4004A Last Saved: 12/21/00 2:51 PM Applied Data Systems Inc. 9140 Guilford Road, Columbia, MD 21046 301-490-4007 Driver Change Log Version Release # Date By Changes Draft
More informationEE Embedded Systems Design. Lessons Exceptions - Resets and Interrupts
EE4800-03 Embedded Systems Design Lessons 7-10 - Exceptions - Resets and Interrupts 1 - Exceptions - Resets and Interrupts Polling vs. Interrupts Exceptions: Resets and Interrupts 68HC12 Exceptions Resets
More informationBy the end of Class. Outline. Homework 5. C8051F020 Block Diagram (pg 18) Pseudo-code for Lab 1-2 due as part of prelab
By the end of Class Pseudo-code for Lab 1-2 due as part of prelab Homework #5 on website due before next class Outline Introduce Lab 1-2 Counting Timers on C8051 Interrupts Laboratory Worksheet #05 Copy
More informationDistributed Real-Time Control Systems. Chapter 10 Real-Time Digital Control
Distributed Real-Time Control Systems Chapter 10 Real-Time Digital Control 1 Real-Time Digital Control Hardware Digital Controllers are usually designed as periodic tasks with fixed period and synchronized
More informationCourse Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes
Course Introduction Purpose: This course provides an overview of the Direct Memory Access Controller and the Interrupt Controller on the SH-2 and SH-2A families of 32-bit RISC microcontrollers, which are
More informationSOFTWARE ARCHITECT MICROSOFT CORPORATION BLOGS.MSDN.COM/MIKEHALL
MIKE HALL SOFTWARE ARCHITECT MICROSOFT CORPORATION MIKEHALL@MICROSOFT.COM BLOGS.MSDN.COM/MIKEHALL Windows CE Backgrounder Windows Embedded CE Architecture Real-Time Architecture Tools and Application Development
More informationHomework / Exam. Return and Review Exam #1 Reading. Machine Projects. Labs. S&S Extracts , PIC Data Sheet. Start on mp3 (Due Class 19)
Homework / Exam Return and Review Exam #1 Reading S&S Extracts 385-393, PIC Data Sheet Machine Projects Start on mp3 (Due Class 19) Labs Continue in labs with your assigned section 1 Interrupts An interrupt
More information+ Overview. Projects: Developing an OS Kernel for x86. ! Handling Intel Processor Exceptions: the Interrupt Descriptor Table (IDT)
+ Projects: Developing an OS Kernel for x86 Low-Level x86 Programming: Exceptions, Interrupts, and Timers + Overview! Handling Intel Processor Exceptions: the Interrupt Descriptor Table (IDT)! Handling
More informationUsing programmed I/O on the M16C; and Writing an Interrupt Service Routine (ISR)
Tutorial 2 Basic M16C Programming 1 Introduction The goal for Tutorial 2 is to take a more in-depth look at the sample program from the previous tutorial, and make use of it as a foundation for writing
More informationProfiling FlashFX Disk Performance Christopher Tacke, emvp Windows CE Product Manager, Applied Data Systems Columbia, Maryland April 23, 2002
Profiling FlashFX Disk Performance Christopher Tacke, emvp Windows CE Product Manager, Applied Data Systems Columbia, Maryland April 23, 2002 Abstract With embedded systems, just like most any information
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An
More informationReading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An
More informationApplication Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission
Application Note One Wire Digital Output 1 Introduction The pressure transmitter automatically outputs pressure data, and when appropriate temperature data, in a fixed interval. The host simply waits for
More informationDistributed Real- Time Control Systems. Lecture 7 Real- Time Control
Distributed Real- Time Control Systems Lecture 7 Real- Time Control 1 Real- Time Digital Control Hardware Digital Controllers are usually designed as periodic tasks with fixed period and synchronizeda/d-
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationNios II. uc/os-ii porting with Nios II Altera Corporation
Nios II uc/os-ii porting with Nios II 2002 2 µc/os-ii Main Features Portable (Most 8, 16, 32 and 64 bit CPUs) ROMable Scalable Preemptive Real-Time Deterministic High Performance Multitasking Robust Provides
More informationWindows Interrupts
Windows 2000 - Interrupts Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik 1 Interrupts Software and Hardware Interrupts and Exceptions Kernel installs interrupt trap handlers Interrupt
More informationInterrupts. How can we synchronize with a peripheral? Polling
Interrupts How can we synchronize with a peripheral? Polling run a program loop continually checking status of the peripheral wait for it to be ready for us to communicate with it Then handle I/O with
More informationInterrupt vectors for the 68HC912B32. The interrupt vectors for the MC9S12DP256 are located in memory from 0xFF80 to 0xFFFF.
Interrupts The Real Time Interrupt Interrupt vectors for the 68HC912B32 The interrupt vectors for the MC9S12DP256 are located in memory from 0xFF80 to 0xFFFF. These vectors are programmed into Flash EEPROM
More informationPC Interrupt Structure and 8259 DMA Controllers
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt
More informationLEGO RCX Hitachi H8/3292
LEGO RCX Hitachi H8/3292 LISHA/UFSC Fauze Valério Polpeta Prof. Dr. Antônio Augusto Fröhlich {fauze guto}@lisha.ufsc.br http://www.lisha.ufsc.br/~{fauze guto} March 2003 March 2003 http://www.lisha.ufsc.br
More informationLSN 4 GUI Programming Using The WIN32 API
LSN 4 GUI Programming Using The WIN32 API ECT362 Operating Systems Department of Engineering Technology LSN 4 Why program GUIs? This application will help introduce you to using the Win32 API Gain familiarity
More informationPMC-DA Channel 16 Bit D/A for PMC Systems REFERENCE MANUAL Version 1.0 June 2001
PMC-DA816 8 Channel 16 Bit D/A for PMC Systems REFERENCE MANUAL 796-10-000-4000 Version 1.0 June 2001 ALPHI TECHNOLOGY CORPORATION 6202 S. Maple Avenue #120 Tempe, AZ 85283 USA Tel: (480) 838-2428 Fax:
More informationFinal Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID:
CSE 237B EMBEDDED SOFTWARE, FALL 2009 PROF. RAJESH GUPTA Final Examination Thursday, December 3, 2009 5:20PM 620 PM NAME: Solutions to Selected Problems ID: Problem Max. Points Points 1 20 2 25 3 35 4
More informationReal-Time Systems / Real-Time Operating Systems EE445M/EE380L.6, Spring 2015
The University of Texas at Austin Department of Electrical and Computer Engineering Real-Time Systems / Real-Time Operating Systems EE445M/EE380L.6, Spring 2015 Final Exam Solutions Date: May 14, 2015
More informationIP-48DAC channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL Version 1.
IP-48DAC-16 48-channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL 828-10-000-4000 Version 1.0 January 2007 ALPHI TECHNOLOGY CORPORATION 1898 E. Southern Ave Tempe,
More informationComputer Labs: I/O and Interrupts
Computer Labs: I/O and Interrupts 2 o MIEIC Pedro F. Souto (pfs@fe.up.pt) October 3, 2010 I/O Operation I/O devices are the interface between the computer and its environment Most of the time, the processor
More informationMP Assignment III. 1. An 8255A installed in a system has system base address E0D0H.
MP Assignment III 1. An 8255A installed in a system has system base address E0D0H. i) Calculate the system addresses for the three ports and control register for this 8255A. System base address = E0D0H
More informationWhat happens when an HC12 gets in unmasked interrupt:
What happens when an HC12 gets in unmasked interrupt: 1. Completes current instruction 2. Clears instruction queue 3. Calculates return address 4. Stacks return address and contents of CPU registers 5.
More informationINTERRUPT MANAGEMENT An interrupt is a hardware mechanism used to service an event that can be external or internal to
CHAPTER 2 ucosiii Page 1 ENGG4420 CHAPTER 2 LECTURE 5 October 22 12 3:28 PM INTERRUPT MANAGEMENT An interrupt is a hardware mechanism used to service an event that can be external or internal to the CPU.
More informationEE458 - Embedded Systems Lecture 8 Semaphores
EE458 - Embedded Systems Lecture 8 Semaphores Outline Introduction to Semaphores Binary and Counting Semaphores Mutexes Typical Applications RTEMS Semaphores References RTC: Chapter 6 CUG: Chapter 9 1
More informationProcess Coordination and Shared Data
Process Coordination and Shared Data Lecture 19 In These Notes... Sharing data safely When multiple threads/processes interact in a system, new species of bugs arise 1. Compiler tries to save time by not
More informationInterrupts. Embedded Systems Interfacing. 08 September 2011
08 September 2011 An iterrupt is an internal or external event that forces a hardware call to a specified function called an interrupt service routine Interrupt enable must be set (initialization) The
More informationMobile Operating Systems Lesson 01 Operating System
Mobile Operating Systems Lesson 01 Operating System Oxford University Press 2007. All rights reserved. 1 Operating system (OS) The master control program Manages all software and hardware resources Controls,
More informationProcess & Thread Management II. Queues. Sleep() and Sleep Queues CIS 657
Process & Thread Management II CIS 657 Queues Run queues: hold threads ready to execute Not a single ready queue; 64 queues All threads in same queue are treated as same priority Sleep queues: hold threads
More informationProcess & Thread Management II CIS 657
Process & Thread Management II CIS 657 Queues Run queues: hold threads ready to execute Not a single ready queue; 64 queues All threads in same queue are treated as same priority Sleep queues: hold threads
More informationTypes of Interrupts:
Interrupt structure Introduction Interrupt is signals send by an external device to the processor, to request the processor to perform a particular task or work. Mainly in the microprocessor based system
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 5 Interrupts, modes of multi-tasking Wednesday Feb 1, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/31 Lecture outline Interrupts Internal, external,
More informationAPPLICATION NOTE 5306 Programming Baud Rates of the MAX3108 UART
Maxim > Design Support > Technical Documents > Application Notes > Interface Circuits > APP 5306 Keywords: UART, RS232, RS485, SPI, I2C, half duplex, HDX, full duplex, FDX, WLP, wafer level package, FIFO,
More informationCOEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University
COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University Outline Introduction NVIC and Interrupt Control Interrupt
More informationC Language Programming, Interrupts and Timer Hardware
C Language Programming, Interrupts and Timer Hardware In this sequence of three labs, you will learn how to write simple C language programs for the MC9S12 microcontroller, and how to use interrupts and
More informationBASICS OF THE RENESAS SYNERGY TM
BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationIntroduction to the MC9S12 Hardware Subsystems
Setting and clearing bits in C Using pointers in C o Program to count the number of negative numbers in an area of memory Introduction to the MC9S12 Hardware Subsystems o The MC9S12 timer subsystem Operators
More informationPROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13
PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific
More informationINTERRUPTS in microprocessor systems
INTERRUPTS in microprocessor systems Microcontroller Power Supply clock fx (Central Proccesor Unit) CPU Reset Hardware Interrupts system IRQ Internal address bus Internal data bus Internal control bus
More informationInstruction Set Architecture of MIPS Processor
CSE 3421/5421: Introduction to Computer Architecture Instruction Set Architecture of MIPS Processor Presentation B Study: 2.1 2.3, 2.4 2.7, 2.10 and Handout MIPS Instructions: 32-bit Core Subset Read:
More informationCS 550 Operating Systems Spring Interrupt
CS 550 Operating Systems Spring 2019 Interrupt 1 Revisit -- Process MAX Stack Function Call Arguments, Return Address, Return Values Kernel data segment Kernel text segment Stack fork() exec() Heap Data
More informationEE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations
EE 354 Fall 2013 Lecture 9 The Sampling Process and Evaluation of Difference Equations Digital Signal Processing (DSP) is centered around the idea that you can convert an analog signal to a digital signal
More informationChapter 3 Process Description and Control
Operating Systems: Internals and Design Principles Chapter 3 Process Description and Control Seventh Edition By William Stallings Process Control Block Structure of Process Images in Virtual Memory How
More informationEECS 373 Midterm 2 Fall 2018
EECS 373 Midterm 2 Fall 2018 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after
More informationQuadros. RTXC Kernel Services Reference, Volume 1. Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms. Systems Inc.
Quadros Systems Inc. RTXC Kernel Services Reference, Volume 1 Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms Disclaimer Quadros Systems, Inc. makes no representations or warranties
More informationEfficiency and memory footprint of Xilkernel for the Microblaze soft processor
Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Dariusz Caban, Institute of Informatics, Gliwice, Poland - June 18, 2014 The use of a real-time multitasking kernel simplifies
More informationTimers 1 / 46. Jiffies. Potent and Evil Magic
Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50
More informationBASICS OF THE RENESAS SYNERGY PLATFORM
BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationMark Redekopp, All rights reserved. EE 357 Unit 10b. Interrupts Timers
EE 357 Unit 10b Interrupts Timers IPL bits Coldfire / M68K Interrupts Coldfire interrupt architecture is based on original M68K 3-bit input (IPL[2:0]) indicating interrupt requests/priorities 000 = No
More informationReal-Time Systems. Exam June 3rd, 2017, hours: 08:00 13:00
Department of AUTOMATIC CONTROL Real-Time Systems Exam June 3rd, 2017, hours: 08:00 13:00 Points and grades All answers must include a clear motivation and a well-formulated answer. Answers may be given
More informationDesign UART Loopback with Interrupts
Once the E is displayed, will the 0 reappear if you return the DIP switch to its OFF position and re-establish the loopback path? Usually not. When you break the loopback path, it will most likely truncate
More informationTask Based Programming Revisited Real Time Operating Systems
ECE3411 Fall 2016 Lecture 6a. Task Based Programming Revisited Real Time Operating Systems Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut
More informationGLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1
B GLOSSARY Application Programming Interface (API) A library of C/C++ functions and assembly macros that define VDK services. These services are essential for kernel-based application programs. The services
More informationEmbedded Systems. October 2, 2017
15-348 Embedded Systems October 2, 2017 Announcements Read pages 267 275 The Plan! Timers and Counter Interrupts A little review of timers How do we keep track of seconds using a timer? We have several
More informationreal-time kernel documentation
version 1.1 real-time kernel documentation Introduction This document explains the inner workings of the Helium real-time kernel. It is not meant to be a user s guide. Instead, this document explains overall
More informationBenchmarking Real-time Determinism in Windows CE
Chris Tacke, emvp CE Product Manager, Applied Data Systems Lawrence Ricci, emvp Business Development Manager, Applied Data Systems Copyright 2002 Page 1 6/3/2002 Abstract The real time or deterministic
More informationMicroprocessors & Interfacing
Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts
More informationDesign and Implementation Interrupt Mechanism
Design and Implementation Interrupt Mechanism 1 Module Overview Study processor interruption; Design and implement of an interrupt mechanism which responds to interrupts from timer and UART; Program interrupt
More informationoriginal M68K requests/priorities Interrupts to execute important code interrupts (n will always be I) I-bits bits in SR accomplish this
Coldfire / M68K Interrupts EE 5 Unit 1b Interrupts Timers Coldfire interrupt architecture is based on original M68K -bit input (IPL[2:]) indicating interrupt requests/priorities = No interrupt t 1-111
More informationRoadmap for This Lecture
Thread Scheduling 1 Roadmap for This Lecture Overview Priorities Scheduling States Scheduling Data Structures Quantum Scheduling Scenarios Priority Adjustments (boosts and decays) Multiprocessor Scheduling
More informationInterrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1
Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR
More informationDeveloper Documentation
Developer Documentation Development of Scanner Applications for ACD Windows CE Second Edition Devices Version: 3.0 Copyright ACD Gruppe This document may not be duplicated or made accessible to third parties
More informationTimer 32. Last updated 8/7/18
Last updated 8/7/18 Basic Timer Function Delay Counter Load a value into a counter register The counter counts Down to zero (count down timer) Up from zero (count up timer) An action is triggered when
More informationCprE 288 Spring 2014 Homework 5 Due Fri. Feb. 21
CprE 288 Spring 2014 Homework 5 Due Fri. Feb. 21 Notes: Homework answers must be typed using a word editor. Homework is individual work. Adhere to the University s policy relating to the integrity of scholarship.
More informationI2C on the HMC6352 Compass
I 2 C Bus The I 2 C bus is a two-wire bus(plus ground) where the two wire are called SCL Clock line SDA Data line Gnd Ground line This is a synchronous bus. SCL is the synchronizing signal. SCL and SDA
More informationDesigning Responsive and Real-Time Systems
Designing Responsive and Real-Time Systems Chapter 10 Renesas Electronics America Inc. Embedded Systems using the RX63N Rev. 1.0 00000-A Learning Objectives Most Embedded Systems have multiple real time
More informationModule Introduction. PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events.
Module Introduction PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events. OBJECTIVES: - Describe the difference between resets and interrupts. - Identify
More information8051 Timers and Serial Port
8051 Timers and Serial Port EE4380 Fall 2001 Class 10 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Timer: Mode 1 Operation (recap) 16 bit counter. Load the
More informationModel Based Development of Embedded Control Software
Model Based Development of Embedded Control Software Part 5: Portable TDL Run-time System Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Contents
More information12.1. Unit 12. Exceptions & Interrupts
12.1 Unit 12 Exceptions & Interrupts 12.2 Disclaimer 1 This is just an introduction to the topic of interrupts. You are not meant to master these right now but just start to use them We will cover more
More informationEE4390 Microprocessors
EE4390 Microprocessors Lessons 23, 24 - Exceptions - Resets and Interrupts Revised: Aug 1, 2003 1 - Exceptions - Resets and Interrupts Polling vs. Interrupts Exceptions: Resets and Interrupts 68HC12 Exceptions
More informationW90N745. System Library. User's Manual
W90N745 System Library User's Manual - 1 - Publication Release Date: 06/14/2006 This page intentionally left blank. Publication Release Date: 06/14/2006-2 - CONTENTS W90N745 Supported C Library Functions
More informationAN HONORS UNIVERSITY IN MARYLAND UMBC. AvrX. Yousef Ebrahimi Professor Ryan Robucci
AvrX https://github.com/kororos/avrx Yousef Ebrahimi Professor Ryan Robucci Introduction AvrX is a Real Time Multitasking Kernel written for the Atmel AVR series of micro controllers. The Kernel is written
More informationInstallation & Reference Guide
Installation & Reference Guide DOC. REV. 7/31/2015 VersaAPI VersaLogic Application Programming Interface WWW.VERSALOGIC.COM 12100 SW Tualatin Road Tualatin, OR 97062-7341 (503) 747-2261 Fax (971) 224-4708
More informationInterrupts and Low Power Features
ARM University Program 1 Copyright ARM Ltd 2013 Interrupts and Low Power Features Module Syllabus Interrupts What are interrupts? Why use interrupts? Interrupts Entering an Exception Handler Exiting an
More informationUNIT - II PERIPHERAL INTERFACING WITH 8085
UNIT - II PERIPHERAL INTERFACING WITH 8085 Peripheral Interfacing is considered to be a main part of Microprocessor, as it is the only way to interact with the external world. The interfacing happens with
More informationMarten van Dijk, Syed Kamran Haider
ECE3411 Fall 2015 Wrap Up Review Session Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: vandijk, syed.haider@engr.uconn.edu Pulse Width
More information4) In response to the the 8259A sets the highest priority ISR, bit and reset the corresponding IRR bit. The 8259A also places
Lecture-52 Interrupt sequence: The powerful features of the 8259A in a system are its programmability and the interrupt routine address capability. It allows direct or indirect jumping to the specific
More informationHomework. Reading. Machine Projects. Labs. Intel 8254 Programmable Interval Timer (PIT) Data Sheet. Continue on MP3
Homework Reading Intel 8254 Programmable Interval Timer (PIT) Data Sheet Machine Projects Continue on MP3 Labs Continue in labs with your assigned section 1 Restrictions on ISR Code Software that was executing
More informationEE 472 Embedded Systems. Name solutions. Instructions:
Name solutions Instructions: Write your name and student id on every page. You may not consult any other materials or anyone in the class. If you are unsure of what a question is asking, write your assumptions
More information2. (2 pts) If an external clock is used, which pin of the 8051 should it be connected to?
ECE3710 Exam 2. Name _ Spring 2013. 5 pages. 102 points, but scored out of 100. You may use any non-living resource to complete this exam. Any hint of cheating will result in a 0. Part 1 Short Answer 1.
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem
More informationReal Time Embedded Systems. Lecture 10 January 31, 2012 Interrupts
Interrupts Real Time Embedded Systems www.atomicrhubarb.com/embedded Lecture 10 January 31, 2012 Interrupts Section Topic Where in the books Catsoulis chapter 1 (pg 10-12) Simon chapter4 Zilog UM197 (ZNEO
More informationKernel Interrupt: A Major Overhaul
Kernel Interrupt: A Major Overhaul - APIC Initialization & - Vector Allocation Dou Liyang douly.fnst@cn.fujitsu.com June 20 2018 Copyright 2018 FUJITSU LIMITED Outline Basics of an interrupt What's next?
More information