LAB 8: DATA HANDLING - BUFFERING

Size: px
Start display at page:

Download "LAB 8: DATA HANDLING - BUFFERING"

Transcription

1 EEM478 DSP HARDWARE 2013 LAB 8: DATA HANDLING - BUFFERING In this experiment, we will use two types of buffers to collect and process data frames. While collecting data in a buffer, we will implement processing of data at the same time. Two basic types of data collecting methods are double buffering and circular buffering each has pros and cons depending on the point of view. We will introduce these buffering types in two separate parts. PART 1: DOUBLE BUFFERING In this part, we will introduce double buffers to collect and process data frames. While collecting data in a buffer, we will operate on a second one. After processing is done, we will exchange the roles of the first and the second buffers. Double buffering scheme is a new concept for you, since you have processed a single data sample so far in the previous lab-works. This scheme requires synchronization between multiple tasks. Many real-time DSP applications must perform a number of seemingly unrelated functions at the same time, often in response to external events such as the availability of data or the presence of a control signal. Both the functions performed and when they are performed are important. These functions are called threads. Different systems define threads either narrowly or broadly. The term thread is defined broadly to include any independent stream of instructions executed by the DSP. A thread is a single point of control that can contain a subroutine, an interrupt service routine (ISR), or a function call. Real-time application programs are organized in a modular fashion - as opposed to a single, centralized polling loop, for example are easier to design, implement, and maintain. Algorithm for Double Buffering: The basic goal is to employ two tasks to calculate the energies of two buffers which are updated in a real-time hardware interrupt with the audio codec input samples. When first buffer becomes full, interrupt service routine will set a flag and switch to writing samples into the second buffer. The set triggers the awaiting task. While the task is calculating the energy of the filled buffer, interrupt system stores new coming samples into the second buffer. After the calculation of the energy, its value is printed as a result, and the task waits again for the first buffer to be full. When the second buffer becomes full, ISR will again set a flag that is waited (pended) by a second task which will calculate and print the energy of the second buffer in the same manner of that of the first task. These switching two buffers will continuously be filled by ISR function and energies will be calculated in tasks after switching occurs. Therefore double buffering is implemented continuously using this exchanging method. According to the Parseval s Theorem, energy E of N-samples-length discrete signal x can be calculated using the following formula: E = where x[n] is the time-domain signal and X[k] is the Discrete Fourier Transform of x. We will use the time-domain signal samples to calculate the energy.

2 PART-1 A. Lab Work for Double Buffering You will use the following code with your further modifications upon recommended instructions (green texts): #include <math.h> #include <stdio.h> #include "DSK6713_AIC23.h" // codec support //set sampling rate Uint32 fs=dsk6713_aic23_freq_8khz; #define DSK6713_AIC23_INPUT_MIC 0x0015 #define DSK6713_AIC23_INPUT_LINE 0x0011 Uint16 inputsource=dsk6713_aic23_input_mic; // select input #define SAMPLING_FREQ 8000 void task0(); // task for calculating energy of buffer0 void task1();// task for calculating energy of buffer1 float calculate_energy(short buffer_id); interrupt void c_int11(); Define a double buffer with following rows: #define BUF_SIZE 256 short buffer[2][buf_size]; // Double buffer short buf_id = 0; // Buffer ID for switching between double buffers short flag_buffer_full = 0; // Flag for informing main() that buffer is full float enx; short in_sample; // current input sample from codec short in_ptr = 0; // position index for writing to buffer void main() comm_intr(); flag_buffer_full = 0; while(1) if(flag_buffer_full == 1) // Wait until buffer is switched flag_buffer_full = 0; // reset the flag for next if(buf_id == 1) // buffer[0][] is full task0(); else if(buf_id == 0) // buffer[1][] is full task1();

3 Modify your interrupt function as following: interrupt void c_int11() in_sample = input_sample(); buffer[buf_id][in_ptr++]= in_sample; if(in_ptr == BUF_SIZE) in_ptr = 0; // reset index // TO DO: switch between buffers by toggling buf_id // TO DO: set the flag for filled buffer output_sample(in_sample); return; Define two tasks to calculate energies of buffers: void task0() enx = calculate_energy(0); // Print energy void task1() enx = calculate_energy(1); // Print energy Energy calculating function is defined as following. Add necessary code to compute the energy of only the corresponding part of buffer: float calculate_energy(int buffer_id) float energy = 0.0; // TO DO: operate on buffer[buf_id][] // and calculate its energy using Parseval's equation return energy; You will implement the energy calculation function of the code. Write the code using Parseval s energy calculation equation, and run your program. PART-1 B. After lab Discuss your results and observations.

4 PART 2: CIRCULAR BUFFERING AND OVERLAPPING BUFFERS In previous part, we used two separate buffers to collect and process data. Occasionally, this may not be an optimal solution due to several limitations or issues such as limited memory size or necessity to use shared data between consecutive processing times. In such cases, instead of using a couple of big-sized buffers, one can use four or more smaller-sized intersecting buffers for collecting and processing signal samples. A circular buffer method will be employed to handle the overlapping operation. This kind of operation will yield us to deal with real-time situations, since end of frames always impose some problems on the output signal. A frame can be defined as a part of data/signal that is operated or processed at once. In this case, the term frame is used to name 256 samples of data. Algorithm for Circular Buffering: Instead of two 256-sized buffers, we will use five 64-sized buffers. Flags and multiple tasks will be used to handle collecting and processing data in circular manner. The following illustration will help you to understand the idea. In the following text, qx refers to quarter buffer with ID:X. When q0 is being filled, the other four quarter-buffers will be processed as a frame in the order q1- q2 - q3 - q4. When q1 is being filled, the other four quarter-buffers will be processed as a frame in the order q2 - q3 - q4 - q0. When q2 is being filled, the other four quarter-buffers will be processed as a frame in the order q3 - q4 - q0 - q1. When q3 is being filled, the other four quarter-buffers will be processed as a frame in the order q4 - q0 - q1 - q2. When q4 is being filled, the other four quarter-buffers will be processed as a frame in the order q0 - q1 - q2 - q3.

5 PART-2 A. Lab Work In order to receive samples in circular manner, you need to modify the code above. Implement one global 320- sized buffer: #define FRAME_SIZE 256 #define BUF_SIZE 320 short buffer[buf_size], in_ptr = 0; short in_sample; short qbuf_id = 0; short flag_quarter_buffer_full = 0; // flag for task to check quarter buffer switching float enx; // energy of current frame void main() comm_intr(); flag_quarter_buffer_full = 0; while(1) if(flag_quarter_buffer_full == 1) // Wait until next quarter flag_quarter_buffer_full = 0; task(); You will use five 64-point quarters (a quarter here is ¼ of a 256-point frame). While storing new coming samples can be done in one quarter-buffer, other four quarter-buffers can be processed. Writing to buffer and reading from buffer should be handled in a circular manner. In other words, when the index comes to the end of buffer, it restarts from the beginning of buffer or vice versa. That means when you store a sample at buffer[buf_size- 1], you will go back to buffer[0] for the next sample. By the way, the same memory area is re-used without any need of extra buffers. While this is happening, the frame-processing operation is triggered at the beginning of every q-buffer (Say it at positions: 0, 64, 128, 192, and 256). You can use a position index (in_ptr) to detect where to store the new coming sample. The integer division, (int)(in_ptr/64) yields the current quarter-buffer s ID (0, 1, 2, 3, and 4). When interrupt routine switches to the next q-buffer to store samples, the recent four q-buffers (including the latest filled q-buffer) will be processed in the task. The interrupt service routine will handle the switching and trigger the task to calculate energy:

6 interrupt void c_int11() in_sample = input_sample(); buffer[in_ptr++] = in_sample; if(in_ptr % 64 == 0) // index is at trigger positions qbuf_id = (int)(in_ptr/64); // set current quarter buffer ID // TO DO: set the flag for task to start processing if(in_ptr == BUF_SIZE) in_ptr = 0; // reset index output_sample(in_sample); return; You will need a task to realize the explained scenario: void task() short frame_pos; // compute the frame start position for energy calc. // TO DO: set the start position for 256-sampled frame // using the qbuf_id value // calculate the energy of the frame. // and print out the value The energy calculation function is different from the version in Part-1 by means of circular index handling: float calculate_circular_energy(short frame_ptr) float energy = 0; // TO DO: operate on buffer starting from the frame_ptr in circular manner // and calculate its energy using Parseval's equation return energy; Make sure that the energy calculation operation can be performed in [64 * <sampling period>] seconds. (You can measure how long it takes to perform signal energy calculation using CCS tools remember 2 nd lab). PART-2 B. After Lab 1. What is the overlapping ratio of two consequtive 256-sampled frames in circular buffering scheme? In other words, how many samples are same/shared between two consequtive frames? 2. How would you implement DFT (discrete Fourier transform) on overlapping buffers? Search out for the equation of DFT and think about it. Can it be exectued in [64 * <sampling period>] seconds in c6713 DSK?

Digital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711

Digital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711 Digital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711 PreLab due Wednesday, 3 November 2010 Objective: To implement a simple filter using a digital signal processing microprocessor

More information

Get the Second-Order Section Coefficients

Get the Second-Order Section Coefficients MATLAB Design Functions Three sections will be required, with one section really only being first-order The MATLAB function we need to use is either zp2sos or ss2sos zp2sos converts a zero-pole form (zp)

More information

Hsiao-Lung Chan Dept. Electrical Engineering Chang Gung University

Hsiao-Lung Chan Dept. Electrical Engineering Chang Gung University TMS320C6x Architecture Hsiao-Lung Chan Dept. Electrical Engineering g Chang Gung University chanhl@mail.cgu.edu.twcgu VLIW: Fetchs eight 32-bit instructions every single cycle 14 interrupts: reset, NMI,

More information

Lab 1 Introduction to TI s TMS320C6713 DSK Digital Signal Processing Board

Lab 1 Introduction to TI s TMS320C6713 DSK Digital Signal Processing Board Lab 1 Introduction to TI s TMS320C6713 DSK Digital Signal Processing Board This laboratory introduces you to the TMS320C6713 DSK board module with: An overview of the functional blocks of the board Code

More information

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 ECE4703 B Term 2017 -- Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 The goals of this laboratory assignment are: to familiarize

More information

Setup the environment for first time use

Setup the environment for first time use SGN-16006 Bachelor s Laboratory Course in Signal Processing Signal processor assignment (June 2, 2014) Setup the environment for first time use Use the following procedure to start Code composer studio

More information

Lab 4- Introduction to C-based Embedded Design Using Code Composer Studio, and the TI 6713 DSK

Lab 4- Introduction to C-based Embedded Design Using Code Composer Studio, and the TI 6713 DSK DSP Programming Lab 4 for TI 6713 DSP Eval Board Lab 4- Introduction to C-based Embedded Design Using Code Composer Studio, and the TI 6713 DSK This lab takes a detour from model based design in order

More information

Lecture 3: Concurrency & Tasking

Lecture 3: Concurrency & Tasking Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share

More information

Interrupts and Timers

Interrupts and Timers Indian Institute of Technology Bombay CS684/CS308 Embedded Systems Interrupts and Timers E.R.T.S. Lab 1 Lab Objective This lab will introduce you to the use of Timers and Interrupts on the TM4C123GH6PM.

More information

DSP Laboratory (EELE 4110) Lab#8 Applications on Texas Instruments DSK TMS320C6711 part2

DSP Laboratory (EELE 4110) Lab#8 Applications on Texas Instruments DSK TMS320C6711 part2 Islamic University of Gaza Faculty of Engineering Electrical Engineering Department Spring-2012 Eng.Mohammed Elasmer DSP Laboratory (EELE 4110) Lab#8 Applications on Texas Instruments DSK TMS320C6711 part2

More information

Introduction to Embedded Systems. Lab Logistics

Introduction to Embedded Systems. Lab Logistics Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: lab logistics interrupt synchronization reentrant code 1 CS 5780 Lab Logistics Lab2 Status Wed: 3/11 teams have completed their

More information

Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1

Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1 Praktikum Digitale Signalverarbeitung Department Informations- und Elektrotechnik Labor für Signalverarbeitung Create and Debug a CCSv5.5 Project for DSK6713- or DUETT-Board1 1 Start CCSv5 and create a

More information

Grundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss

Grundlagen 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 information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Serial Communication Serial Communication, Slide 1 Lab 5 Administrative Students should start working on this LCD issues Caution on using Reset Line on AVR Project Posted

More information

Chapter 3 - Top Level View of Computer Function

Chapter 3 - Top Level View of Computer Function Chapter 3 - Top Level View of Computer Function Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Top Level View 1 / 127 Table of Contents I 1 Introduction 2 Computer Components

More information

Exercise 10: Distributed Applications

Exercise 10: Distributed Applications Exercise 10: Distributed Applications Note: This exercise spans two sessions. Overview Until now, you have developed quite a large number of programs that were focused on reacting to human input, solving

More information

Digital Signal Processing Lecture Notes 22 November 2010

Digital Signal Processing Lecture Notes 22 November 2010 Digital Signal Processing Lecture otes 22 ovember 2 Topics: Discrete Cosine Transform FFT Linear and Circular Convolution Rate Conversion Includes review of Fourier transforms, properties of Fourier transforms,

More information

Lecture 10 Exceptions and Interrupts. How are exceptions generated?

Lecture 10 Exceptions and Interrupts. How are exceptions generated? Lecture 10 Exceptions and Interrupts The ARM processor can work in one of many operating modes. So far we have only considered user mode, which is the "normal" mode of operation. The processor can also

More information

Abstract. Literature Survey. Introduction. A.Radix-2/8 FFT algorithm for length qx2 m DFTs

Abstract. Literature Survey. Introduction. A.Radix-2/8 FFT algorithm for length qx2 m DFTs Implementation of Split Radix algorithm for length 6 m DFT using VLSI J.Nancy, PG Scholar,PSNA College of Engineering and Technology; S.Bharath,Assistant Professor,PSNA College of Engineering and Technology;J.Wilson,Assistant

More information

Embedded Systems and Software. Serial Communication

Embedded Systems and Software. Serial Communication Embedded Systems and Software Serial Communication Slide 1 Using RESET Pin on AVRs Normally RESET, but can be configured via fuse setting to be general-purpose I/O Slide 2 Disabling RESET Pin on AVRs Normally

More information

1. Let be a point on the terminal side of θ. Find the 6 trig functions of θ. (Answers need not be rationalized). b. P 1,3. ( ) c. P 10, 6.

1. Let be a point on the terminal side of θ. Find the 6 trig functions of θ. (Answers need not be rationalized). b. P 1,3. ( ) c. P 10, 6. Q. Right Angle Trigonometry Trigonometry is an integral part of AP calculus. Students must know the basic trig function definitions in terms of opposite, adjacent and hypotenuse as well as the definitions

More information

Further Studies of a FFT-Based Auditory Spectrum with Application in Audio Classification

Further Studies of a FFT-Based Auditory Spectrum with Application in Audio Classification ICSP Proceedings Further Studies of a FFT-Based Auditory with Application in Audio Classification Wei Chu and Benoît Champagne Department of Electrical and Computer Engineering McGill University, Montréal,

More information

TMS320VC5416 DSK Developing System

TMS320VC5416 DSK Developing System TMS320VC5416 DSK Developing System 1. General Overview TMS320VC5416 DSK is a static developing system. Allows the users to examine different characteristics of the C5416 DSPs, in order to observe if their

More information

EEL 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 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 information

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Reading 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 information

ECE4703 Laboratory Assignment 5

ECE4703 Laboratory Assignment 5 ECE4703 Laboratory Assignment 5 The goals of this laboratory assignment are: to develop an understanding of frame-based digital signal processing, to familiarize you with computationally efficient techniques

More information

12.6 External Storage or Memory-Local FFTs

12.6 External Storage or Memory-Local FFTs 532 Chapter 12. Fast Fourier Transform 12.6 External Storage or Memory-Local FFTs Sometime in your life, you might have to compute the Fourier transform of a really large data set, larger than the size

More information

A New Real-time Kernel development on an embedded platform

A New Real-time Kernel development on an embedded platform A New Real-time Kernel development on an embedded platform CSC714: Real Time Systems Project Final Report Spring 2009 BALASUBRAMANYA BHAT (bbhat@ncsu.edu) SANDEEP BUDANUR RAMANNA (sbudanu@ncsu.edu) - 1

More information

Single thread Scheduler All processes called once each sample

Single thread Scheduler All processes called once each sample Single thread Scheduler All processes called once each sample void main(void) { init_routines(); done = 0; while (!done) { perform_process1(); // Highest priority process perform_process2(); perform_process3();//

More information

Interrupts & Interrupt Service Routines (ISRs)

Interrupts & Interrupt Service Routines (ISRs) ECE3411 Fall 2015 Lecture 2c. Interrupts & Interrupt Service Routines (ISRs) Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: vandijk,

More information

Assessment of Programming Skills of First Year CS Students: Problem Set

Assessment of Programming Skills of First Year CS Students: Problem Set Assessment of Programming Skills of First Year CS Students: Problem Set Notes to the working group participants. Enclosed in this file are the three problems. They are in ascending order of difficulty.

More information

Hello and welcome to this Renesas Interactive module that provides an overview of the RX DMA Controller

Hello and welcome to this Renesas Interactive module that provides an overview of the RX DMA Controller Hello and welcome to this Renesas Interactive module that provides an overview of the RX DMA Controller 1 The purpose of this Renesas Interactive module is to give you a basic understanding of the RX Direct

More information

Introduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Introduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Introduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 23 Introduction to Arduino- II Hi. Now, we will continue

More information

Top-Level View of Computer Organization

Top-Level View of Computer Organization Top-Level View of Computer Organization Bởi: Hoang Lan Nguyen Computer Component Contemporary computer designs are based on concepts developed by John von Neumann at the Institute for Advanced Studies

More information

EE345M Summer 2000 Quiz 1 Page 1 of 6. Reset Out. Cont

EE345M Summer 2000 Quiz 1 Page 1 of 6. Reset Out. Cont EE345M Summer 2000 Quiz 1 Page 1 of 6 Jonathan W. Valvano First: Last: July 3, 2000, 2:30pm-3:45pm This is an open book, open notes exam. You must put your answers on these pages only, you can use the

More information

Error Detection And Correction

Error Detection And Correction Announcements Please read Error Detection and Correction sent to you by your grader. Lab Assignment #2 deals with Hamming Code. Lab Assignment #2 is available now and will be due by 11:59 PM on March 22.

More information

VME Trigger Interface

VME Trigger Interface VME Trigger Interface Version 2 Ed Jastrzembski Data Acquisition Group 5/97 The VME Trigger Interface Introduction As part of a data acquisition system a VME read out controller (ROC) must be told when

More information

By 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. 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 information

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III Subject Name: Operating System (OS) Subject Code: 630004 Unit-1: Computer System Overview, Operating System Overview, Processes

More information

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SPI in F2833x Target February 2013-1 - Powersim Inc. With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that use TI F2833x

More information

DESIGN OF AN MP3 SYSTEM

DESIGN OF AN MP3 SYSTEM Faculty of Engineering DESIGN OF AN MP3 SYSTEM Lab 2 - Interfacing with SD card memory and FAT file system MTE 325 Microprocessor Systems and Interfacing Prepared by Kevin Premrl & Pavel Shering ID # 20517153

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems

More information

RTOS 101. Understand your real-time applications. with the help of Percepio Tracealyzer

RTOS 101. Understand your real-time applications. with the help of Percepio Tracealyzer RTOS 101 Understand your real-time applications with the help of Percepio Tracealyzer RTOS 101 Tasks, Priorities and Analysis Figure 1: Tracealyzer showing RTOS task scheduling and calls to RTOS services.

More information

Q.1 Explain Computer s Basic Elements

Q.1 Explain Computer s Basic Elements Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some

More information

4) In response to the the 8259A sets the highest priority ISR, bit and reset the corresponding IRR bit. The 8259A also places

4) 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 information

SMS045 - DSP Systems in Practice. Lab 2 - ADSP-2181 EZ-KIT Lite and VisualDSP++ Due date: Tuesday Nov 18, 2003

SMS045 - DSP Systems in Practice. Lab 2 - ADSP-2181 EZ-KIT Lite and VisualDSP++ Due date: Tuesday Nov 18, 2003 SMS045 - DSP Systems in Practice Lab 2 - ADSP-2181 EZ-KIT Lite and VisualDSP++ Due date: Tuesday Nov 18, 2003 Lab Purpose This lab will introduce the ADSP-2181 EZ-KIT Lite development board for the Analog

More information

DSP Platforms Lab (AD-SHARC) Session 05

DSP Platforms Lab (AD-SHARC) Session 05 University of Miami - Frost School of Music DSP Platforms Lab (AD-SHARC) Session 05 Description This session will be dedicated to give an introduction to the hardware architecture and assembly programming

More information

Events! Event Driven Embedded Software and UML State Charts. Matthew Eshleman covemountainsoftware.com

Events! Event Driven Embedded Software and UML State Charts. Matthew Eshleman covemountainsoftware.com Events! Event Driven Embedded Software and UML State Charts Matthew Eshleman covemountainsoftware.com Background - Matthew Eshleman Nearly 20 years of embedded software engineering, architecture, and project

More information

EECS150 - Digital Design Lecture 12 - Video Interfacing. MIPS150 Video Subsystem

EECS150 - Digital Design Lecture 12 - Video Interfacing. MIPS150 Video Subsystem EECS15 - Digital Design Lecture 12 - Video Interfacing Feb 28, 213 John Wawrzynek Spring 213 EECS15 - Lec12-video Page 1 MIPS15 Video Subsystem Gives software ability to display information on screen.

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 04 Timer Interrupts Goals: Learn about Timer Interrupts. Learn how to

More information

EECS150 - Digital Design Lecture 15 - Video

EECS150 - Digital Design Lecture 15 - Video EECS150 - Digital Design Lecture 15 - Video March 6, 2011 John Wawrzynek Spring 2012 EECS150 - Lec15-video Page 1 MIPS150 Video Subsystem Gives software ability to display information on screen. Equivalent

More information

Concept of a process

Concept of a process Concept of a process In the context of this course a process is a program whose execution is in progress States of a process: running, ready, blocked Submit Ready Running Completion Blocked Concurrent

More information

5 MEMORY. Figure 5-0. Table 5-0. Listing 5-0.

5 MEMORY. Figure 5-0. Table 5-0. Listing 5-0. 5 MEMORY Figure 5-0 Table 5-0 Listing 5-0 The processor s dual-ported SRAM provides 544K bits of on-chip storage for program instructions and data The processor s internal bus architecture provides a total

More information

COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE

COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE Multiple Channels COMMUNICATIONS WITH THE MULTI- CHANNEL HOST P RT INTERFACE With the HPI and McHPI, applications can create a single physical channel and multiple virtual channels to provide communications

More information

OSEK/VDX. Communication. Version January 29, 2003

OSEK/VDX. Communication. Version January 29, 2003 Open Systems and the Corresponding Interfaces for Automotive Electronics OSEK/VDX Communication Version 3.0.1 January 29, 2003 This document is an official release and replaces all previously distributed

More information

Tag Interface. 1. Introduction. 2. Control Modes. Olufemi Omojola, Rich Fletcher Physics and Media Group MIT Media Lab, January 2000

Tag Interface. 1. Introduction. 2. Control Modes. Olufemi Omojola, Rich Fletcher Physics and Media Group MIT Media Lab, January 2000 Tag Interface Olufemi Omojola, Rich Fletcher Physics and Media Group MIT Media Lab, January 2000 1. Introduction The concept of a common control model for all tag readers is targeted towards a single interface

More information

Using the DSK In CalPoly EE Courses - Dr Fred DePiero

Using the DSK In CalPoly EE Courses - Dr Fred DePiero Using the DSK In CalPoly EE Courses - Dr Fred DePiero The DSK by Texas Instruments is a development platform for DSP applications. The platform includes Code Composer Studio (CCS) with a high performance

More information

ECE 341. Lecture # 19

ECE 341. Lecture # 19 ECE 341 Lecture # 19 Instructor: Zeshan Chishti zeshan@ece.pdx.edu December 3, 2014 Portland State University Announcements Final exam is on Monday, December 8 from 5:30 PM to 7:20 PM Similar format and

More information

Just change the sign of the -coordinate. Let s look at the triangle from our previous example and reflect

Just change the sign of the -coordinate. Let s look at the triangle from our previous example and reflect . onstructing Reflections Now we begin to look at transformations that yield congruent images. We ll begin with reflections and then move into a series of transformations. series of transformations applies

More information

Chapter 6: Process Synchronization

Chapter 6: Process Synchronization Chapter 6: Process Synchronization Objectives Introduce Concept of Critical-Section Problem Hardware and Software Solutions of Critical-Section Problem Concept of Atomic Transaction Operating Systems CS

More information

BASICS OF THE RENESAS SYNERGY TM

BASICS 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 information

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer

More information

Introduction to Computing Systems Terminology Guide

Introduction to Computing Systems Terminology Guide Introduction to Computing Systems Terminology Guide Sam Siewert January 12, 2014 Sam Siewert ADC - Analog to Digital Converter, encodes analog signals into digital values. ALU Arithmetic Logic Unit, the

More information

Summer 2003 Lecture 12 06/26/03

Summer 2003 Lecture 12 06/26/03 Summer 2003 Lecture 12 06/26/03 Implementing Standard C Control Structures: IF THEN ELSE if (a == b) { mov ax,a blah; cmp ax,b jnz endif blah endif: if (a == b) { true clause else { false clause mov ax,a

More information

Interrupts (Exceptions) Gary J. Minden September 11, 2014

Interrupts (Exceptions) Gary J. Minden September 11, 2014 Interrupts (Exceptions) Gary J. Minden September 11, 2014 1 Interrupts Motivation Implementation Material from Stellaris LM3S1968 Micro-controller Datasheet Sections 2.5 and 2.6 2 Motivation Our current

More information

1-D Time-Domain Convolution. for (i=0; i < outputsize; i++) { y[i] = 0; for (j=0; j < kernelsize; j++) { y[i] += x[i - j] * h[j]; } }

1-D Time-Domain Convolution. for (i=0; i < outputsize; i++) { y[i] = 0; for (j=0; j < kernelsize; j++) { y[i] += x[i - j] * h[j]; } } Introduction: Convolution is a common operation in digital signal processing. In this project, you will be creating a custom circuit implemented on the Nallatech board that exploits a significant amount

More information

School of Computer Science Faculty of Engineering and Computer Science Student ID Number. Lab Cover Page. Lab Date and Time:

School of Computer Science Faculty of Engineering and Computer Science Student ID Number. Lab Cover Page. Lab Date and Time: Student Information First Name School of Computer Science Faculty of Engineering and Computer Science Last Name Student ID Number Lab Cover Page Please complete all fields: Course Name: Structure and Application

More information

Digital Signal Processing. Soma Biswas

Digital Signal Processing. Soma Biswas Digital Signal Processing Soma Biswas 2017 Partial credit for slides: Dr. Manojit Pramanik Outline What is FFT? Types of FFT covered in this lecture Decimation in Time (DIT) Decimation in Frequency (DIF)

More information

Interrupts Peter Rounce - room 6.18

Interrupts Peter Rounce - room 6.18 Interrupts Peter Rounce - room 6.18 P.Rounce@cs.ucl.ac.uk 20/11/2006 1001 Interrupts 1 INTERRUPTS An interrupt is a signal to the CPU from hardware external to the CPU that indicates than some event has

More information

Arithmetic Logic Unit

Arithmetic Logic Unit Arithmetic Logic Unit A.R. Hurson Department of Computer Science Missouri University of Science & Technology A.R. Hurson 1 Arithmetic Logic Unit It is a functional bo designed to perform "basic" arithmetic,

More information

ECE 354 Introduction to Lab 2. February 23 rd, 2003

ECE 354 Introduction to Lab 2. February 23 rd, 2003 ECE 354 Introduction to Lab 2 February 23 rd, 2003 Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system supervisors

More information

We do not teach programming

We do not teach programming We do not teach programming We do not teach C Take a course Read a book The C Programming Language, Kernighan, Richie Georgios Georgiadis Negin F.Nejad This is a brief tutorial on C s traps and pitfalls

More information

Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016

Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016 Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016 1 Interrupts Motivation Implementation Material from Stellaris LM3S1968 Micro-controller Datasheet Sections 2.5 and 2.6 2 Motivation

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts

More information

I Introduction to Real-time Applications By Prawat Nagvajara

I Introduction to Real-time Applications By Prawat Nagvajara Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and

More information

Digital Signal Processor 2010/1/4

Digital Signal Processor 2010/1/4 Digital Signal Processor 1 Analog to Digital Shift 2 Digital Signal Processing Applications FAX Phone Personal Computer Medical Instruments DVD player Air conditioner (controller) Digital Camera MP3 audio

More information

D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu 3-November-2008 Analog To Digital Conversion analog signal ADC digital

More information

Timer 32. Last updated 8/7/18

Timer 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 information

Event-based tasks give Logix5000 controllers a more effective way of gaining high-speed processing without compromising CPU performance.

Event-based tasks give Logix5000 controllers a more effective way of gaining high-speed processing without compromising CPU performance. Event-based tasks give Logix5000 controllers a more effective way of gaining high-speed processing without compromising CPU performance. Event Tasks Take Controllers to the Next Level Whether it is material

More information

University of Saskatchewan 5-1 EE 392 Electrical Engineering Laboratory III

University of Saskatchewan 5-1 EE 392 Electrical Engineering Laboratory III University of Saskatchewan 5-1 DSP Safety The voltages used in this experiment are less than 15 V and normally do not present a risk of shock. However, you should always follow safe procedures when working

More information

Final Exam Solutions May 11, 2012 CS162 Operating Systems

Final Exam Solutions May 11, 2012 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2012 Anthony D. Joseph and Ion Stoica Final Exam May 11, 2012 CS162 Operating Systems Your Name: SID AND

More information

2-3 Graphing Rational Functions

2-3 Graphing Rational Functions 2-3 Graphing Rational Functions Factor What are the end behaviors of the Graph? Sketch a graph How to identify the intercepts, asymptotes and end behavior of a rational function. How to sketch the graph

More information

Investigating IO Interrupts

Investigating IO Interrupts Introduction Investigating IO s At the of this lab you should be able to: Describe what interrupt vectors are and explain how they are used Describe two main methods of IO interrupt handling Explain the

More information

How to Get Started With DSP/BIOS II

How to Get Started With DSP/BIOS II Application Report SPRA697 October 2000 Andy The David W. Dart How to Get Started With DSP/BIOS II Software Field Sales Software Development Systems ABSTRACT DSP/BIOS II is Texas Instruments real time

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam January 13, 2018 Section I A DATA STRUCTURES SOLUTIONS NO books, notes, or calculators may be used, and you must work entirely on your own. Question # Max Pts Category

More information

CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)

CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) Past & Present Have looked at two constraints: Mutual exclusion constraint between two events is a requirement that

More information

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected

More information

8051 I/O and 8051 Interrupts

8051 I/O and 8051 Interrupts 8051 I/O and 8051 Interrupts Class 7 EE4380 Fall 2002 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Agenda 8051 I/O Interfacing Scanned LED displays LCD displays

More information

PROBLEM 1 : (Vocabulary: 12 points) For each of the words/phrases below, circle the denition that is the best description as it pertains in the contex

PROBLEM 1 : (Vocabulary: 12 points) For each of the words/phrases below, circle the denition that is the best description as it pertains in the contex Test 1: CPS 53.2 Owen Astrachan October 6, 1993 Name: Honor code acknowledgement (signature) Problem 1 value 12 pts. grade Problem 2 14 pts. Problem 3 5 pts. Problem 4 6 pts. Problem 5 9 pts. Problem 6

More information

Prof. Manoochehr Shirzaei. RaTlab.asu.edu

Prof. Manoochehr Shirzaei. RaTlab.asu.edu RaTlab.asu.edu Introduction To MATLAB Introduction To MATLAB This lecture is an introduction of the basic MATLAB commands. We learn; Functions Procedures for naming and saving the user generated files

More information

Fatima Michael College of Engineering & Technology

Fatima Michael College of Engineering & Technology DEPARTMENT OF ECE V SEMESTER ECE QUESTION BANK EC6502 PRINCIPLES OF DIGITAL SIGNAL PROCESSING UNIT I DISCRETE FOURIER TRANSFORM PART A 1. Obtain the circular convolution of the following sequences x(n)

More information

Interrupts and Low Power Features

Interrupts 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 information

Micro-Operations. execution of a sequence of steps, i.e., cycles

Micro-Operations. execution of a sequence of steps, i.e., cycles Micro-Operations Instruction execution execution of a sequence of steps, i.e., cycles Fetch, Indirect, Execute & Interrupt cycles Cycle - a sequence of micro-operations Micro-operations data transfer between

More information

2-4 Graphing Rational Functions

2-4 Graphing Rational Functions 2-4 Graphing Rational Functions Factor What are the zeros? What are the end behaviors? How to identify the intercepts, asymptotes, and end behavior of a rational function. How to sketch the graph of a

More information

Mechatronics Laboratory Assignment 2 Serial Communication DSP Time-Keeping, Visual Basic, LCD Screens, and Wireless Networks

Mechatronics Laboratory Assignment 2 Serial Communication DSP Time-Keeping, Visual Basic, LCD Screens, and Wireless Networks Mechatronics Laboratory Assignment 2 Serial Communication DSP Time-Keeping, Visual Basic, LCD Screens, and Wireless Networks Goals for this Lab Assignment: 1. Introduce the VB environment for PC-based

More information

CHAPTER 11 INTERRUPTS PROGRAMMING

CHAPTER 11 INTERRUPTS PROGRAMMING CHAPTER 11 INTERRUPTS PROGRAMMING Interrupts vs. Polling An interrupt is an external or internal event that interrupts the microcontroller To inform it that a device needs its service A single microcontroller

More information

Classification of Semiconductor LSI

Classification of Semiconductor LSI Classification of Semiconductor LSI 1. Logic LSI: ASIC: Application Specific LSI (you have to develop. HIGH COST!) For only mass production. ASSP: Application Specific Standard Product (you can buy. Low

More information

D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu Lecture 2 Some Challenges of Real-Time DSP Analog to digital conversion Are

More information

EECS 452 Lab 2 Basic DSP Using the C5515 ezdsp Stick

EECS 452 Lab 2 Basic DSP Using the C5515 ezdsp Stick EECS 452 Lab 2 Basic DSP Using the C5515 ezdsp Stick 1. Pre-lab Q1. Print the file you generated (and modified) as described above. Q2. The default structure of the FIR filter is Direct-Form FIR a. How

More information

2008/12/23. System Arch 2008 (Fire Tom Wada) 1

2008/12/23. System Arch 2008 (Fire Tom Wada) 1 Digital it Signal Processor System Arch 2008 (Fire Tom Wada) 1 Analog to Digital Shift System Arch 2008 (Fire Tom Wada) 2 Digital Signal Processing Applications FAX Phone Personal Computer Medical Instruments

More information