LAB 8: DATA HANDLING - BUFFERING
|
|
- Austen Holland
- 5 years ago
- Views:
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 PreLab due Wednesday, 3 November 2010 Objective: To implement a simple filter using a digital signal processing microprocessor
More informationGet 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 informationHsiao-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 informationLab 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 informationECE4703 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 informationSetup 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 informationLab 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 informationLecture 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 informationInterrupts 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 informationDSP 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 informationIntroduction 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 informationCreate 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 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 informationEmbedded 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 informationChapter 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 informationExercise 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 informationDigital 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 informationLecture 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 informationAbstract. 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 informationEmbedded 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 information1. 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 informationFurther 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 informationTMS320VC5416 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 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 informationECE4703 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 information12.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 informationA 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 informationSingle 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 informationInterrupts & 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 informationAssessment 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 informationHello 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 informationIntroduction 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 informationTop-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 informationEE345M 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 informationError 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 informationVME 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 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 informationGUJARAT 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 informationPSIM 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 informationDESIGN 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 informationIntroduction 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 informationRTOS 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 informationQ.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 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 informationSMS045 - 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 informationDSP 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 informationEvents! 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 informationEECS150 - 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 informationUniversity 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 informationEECS150 - 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 informationConcept 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 information5 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 informationCOMMUNICATIONS 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 informationOSEK/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 informationTag 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 informationUsing 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 informationECE 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 informationJust 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 informationChapter 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 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 informationDSP/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 informationIntroduction 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 informationSummer 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 informationInterrupts (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 information1-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 informationSchool 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 informationDigital 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 informationInterrupts 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 informationArithmetic 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 informationECE 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 informationWe 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 informationInterrupts (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 informationDate 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 informationI 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 informationDigital 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 informationD. 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 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 informationEvent-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 informationUniversity 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 informationFinal 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 information2-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 informationInvestigating 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 informationHow 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 informationComputer 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 informationCSL373: 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 informationIn 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 information8051 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 informationPROBLEM 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 informationProf. 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 informationFatima 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 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 informationMicro-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 information2-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 informationMechatronics 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 informationCHAPTER 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 informationClassification 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 informationD. 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 informationEECS 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 information2008/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