ECE4703 B Term Laboratory Assignment 1
|
|
- Edward Shelton
- 6 years ago
- Views:
Transcription
1 ECE4703 B Term Laboratory Assignment 1 Introduction to the TMS320C6713 DSK and Code Composer Studio The goals of this laboratory assignment are: Project Code and Report Due at 3 pm 2-Nov-2017 to familiarize you with the TMS320C6713 DSK hardware platform, to familiarize you with the process of creating, building, and testing some simple projects in the Code Composer Studio (CCS) integrated development environment (IDE), to familiarize you with some of the debugging, profiling, and visualization tools available within the CCS IDE, and to develop a code framework that you can re-use for the remaining laboratory assignments in ECE4703. Preliminaries This lab assignment is intended to familiarize you with most of the tools used to develop interesting real-time DSP systems in ECE4703. A portion of this assignment is, as all lab assignments in this course are, self-study and is necessary to give you a better understanding of the capabilities of the hardware used in ECE4703. The remainder of this assignment is a hands-on exploration of the lab tools where you will develop three projects that will run on the TMS320C6713, interface with the basic I/O on the DSK, and perform some simple signal processing functions. Self-Study: Familiarization with TMS320C6713 DSK First, read through this entire assignment. Then begin familiarizing yourself with the TMS320C6713 DSK technical reference (available as a PDF file on the course website under the Lab 1 assignment and on the Useful Links page). You do not need to memorize everything in this document but you should become familiar with the key features and basic operation of the DSK. In Chapter 2, focus on the AIC23 codec (Section 2.2) and the LEDs and DIP switches (Section 2.5). Also be sure to check out the board layout and connector information in Ch 3. You should know the function of the connectors on the DSK and where the main components are located. Programming Assignments: Familiarization with CCS The following three programming assignments will help you develop familiarity with Code Composer Studio including the development process and the debugging tools. Program 1 is the simplest possible program that you can run on the DSK and gives a gentle introduction to the development process. Program 2 will provide a framework for almost all of the signal processing algorithms you will develop later in the course. Program 3 is your first real-time DSP program, and builds on the framework developed in Program 2. NOTE: The tutorials that you will follow were originally developed by Prof. Brown using Windows 7 and Code Composer Studio 5. This past summer the ECE lab computers were brought to Windows 10 and Code Composer Studio 7.2 (CCS 7). As a result there are a few changes from tutorials that are highlighted in this document.
2 Program 1: Hello World In this part of the assignment, you will compile and run the simplest possible program for the TMS320C6713 DSK. The goal is to simply generate the output Hello World on the CCS console. A Hello World template program is included with CCS 7. If this is the first time CCS has been run on your computer, you may need to configure CCS to work with the DSK first. Please see this tutorial to set up a target configuration and connect to the DSK (the target configuration only needs to be set up once). There are no changes to this tutorial for CCS 7. To create a new project from the helloworld template, follow the steps of the tutorial below. However, there are 3 changes for CCS7 that are not shown in the tutorial. First, before starting the helloworld tutorial, you need to check that the proper compiler for the C6713 is available. Look under Windows/Preferences/CodeComposerStudio/Build/Compiler. The GUI should look like this with the path to C:\WPIAPPS\c6000_7.4.23\ checked in the pane above and two compilers v8.1.3 and v listed under C6000 in the lower pane. Select the v compiler and click apply. If the compiler is not visible, add the path to C:\WPIAPPS\c6000_7.4.23\ in the upper pane then you should see the compiler in the lower pane. If not then ask the course staff. Whatever you do, DO NOT ATTEMPT TO DOWNLOAD/INSTALL ANY COMPILERS FROM INSIDE CCS-7!!!
3 You are now ready to start the helloworld demo. After selecting File New New Project, fill out the New CCS Project GUI as shown below rather than as shown in the tutorial. NOTICE THE COMPILER VERSION is TI v7.4!! Our board does not work with CCS7's default C6000 compiler version TI v8.1. If the TI v7.4 compiler does not appear in the drop-down menu STOP! Do the steps above. If that doesn't work, tell the course staff and move to another machine. You will also need to open the Advanced Options and set the Linker Command File. Click the down arrow and select C6713.cmd from the menu. If you decide to install CCS on your own computer (it's free) make sure you install CCS 7.2 and then install the v C6000 Code Generation Tools. When you build the helloworld project (with the proper C6713.cmd specified), it should compile with no errors or warnings. You might get some warnings about stack and heap sizes but the configuration tutorial explains how to fix this. This program is the simplest possible program to get running on the
4 DSK and ensures that you can successfully build, load, and run a program on the DSK without errors. This is the same process that we will be using for more complicated signal processing programs, so please make sure you play around with this program a bit to see what else you can do before proceeding. Try the various debug tools to step through the code. What's the different between Step, Step Into and Step Over buttons?. If you want to run the program again, what should you do? Try exiting CCS and then coming back in. How can you run the helloworld program now? Try printing Hello World 20 times in a loop. Try setting a breakpoint. Try profiling the execution time of the printf statement. Note that you may find the printf function (which, by the way, only works within the console!) handy in the future for debugging your code. Demonstrate your functional helloworld program to the course staff for sign-off. Program 2: Stereo Loop In this part of the assignment, you will create a new project to run your first signal processing program on the DSK. This project will interface with the outside world through the AIC23 stereo codec. The AIC23 stereo codec is used for analog to digital as well as digital to analog conversion on the DSK. It is optimized for audio applications and is highly configurable. This program will simply read in samples from the left and right channels of the line input through the AIC23 and immediately output these samples (unchanged) through the AIC23 to the left and right channels of the line output. To create a new stereoloop project, follow the steps of the tutorial below. However, in the New CCS Project window you will again need to set the Target to Unclassified Devices then choose the DSK6713. Also, do not set the default C6713.cmd under Advanced Options. You will be using a custom linker command file and should follow the tutorial in specifying it. BE SURE TO DOWN LOAD ALL THREE FILES, stereoloop.c, vectors.asm and C6713.cmd. It is important to used the.cmd file downloaded!! You will need the Chip Support and Board Support libraries for this project. See this link for instructions for finding and/or installing these libraries. NOTE: You WILL have to download the zip file versions of CSL and BSL to your R:/ drive as described in the tutorial (follow links). Here's some explanation of how this program works. We will discuss this in more detail in lecture, but here are the basics: This code in main() calls functions in the DSK Board Support Library (BSL) to initialize the DSK, initialize the AIC23 codec, set it up for stereo operation, and sets the sampling frequency. DSK6713_init(); // Initialize the board support library, must be called first hcodec = DSK6713_AIC23_openCodec(0, &config); // open codec & get its handle // Configure buffered serial ports for 32 bit operation // This allows transfer of both right and left channels in one read/write MCBSP_FSETS(SPCR1, RINTM, FRM); MCBSP_FSETS(SPCR1, XINTM, FRM); MCBSP_FSETS(RCR1, RWDLEN1, 32BIT); MCBSP_FSETS(XCR1, XWDLEN1, 32BIT);
5 // set codec sampling frequency to 44.1KHz DSK6713_AIC23_setFreq(hCodec, DSK6713_AIC23_FREQ_44KHZ); The code uses an interrupt for dealing with the AIC23 codec. This is typically the most efficient way to interface to events that occur infrequently with respect to the clock frequency of the DSP. This code sets up the interrupt interface: // interrupt setup IRQ_globalDisable(); // Globally disables interrupts IRQ_nmiEnable(); // Enables the NMI interrupt IRQ_map(IRQ_EVT_RINT1,15); // Maps an event to a physical interrupt IRQ_enable(IRQ_EVT_RINT1); // Enables the event IRQ_globalEnable(); // Globally enables interrupts Note that this code hooks the interrupt to the interrupt service routine (ISR) called serialportrcvisr. This is done in main() prior to the while loop and also in the file vectors.asm. The initialization code in main() maps physical interrupt event (IRQ_EVT_RINT1) to an interrupt number (INT15) and enables interrupts. The file vectors.asm has some assembly language code that causes execution to branch to serialportrcvisr whenever INT15 is detected. Note the while loop at the end of main(). The DSP is sitting in an infinite loop and basically doing nothing unless it gets an INT15 signal. In the ISR, the codec is accessed through the MCBSP_read and MCBSP_write functions. interrupt void serialportrcvisr() { // a nifty bit of C that allows the same 32-bits to be refered // to 2 different ways, as a uint32 or as 2 signed 16 bit ints union {Uint32 combo; short channel[2];} temp; // read from AIC23 temp.combo = MCBSP_read(DSK6713_AIC23_DATAHANDLE); // Note that right channel is in temp.channel[0] // Note that left channel is in temp.channel[1] } // write to AIC23 MCBSP_write(DSK6713_AIC23_DATAHANDLE, temp.combo); The tricky part here is how to interpret the results returned by the codec. The AIC23 codec returns both channels simultaneously in a 32-bit container, which we store as a Uint32 data type. The first 16 bits of this Uint32 variable are a signed integer representing the sample of one channel and the second 16 are a signed integer for the other channel. A convenient way to separate the channels is to use a union in C. With this structure, you can access the individual channel data via temp.channel[0] and temp.channel[1], and you can access the entire 32 bit chunk containing both channels with temp.combo. This program will serve as a template for almost all of the remaining assignments in ECE4703, so it is important to understand what is going on and to get it working correctly. You may not fully understand all of the initialization details at this point, but we will cover this in more detail in an upcoming lecture. To ensure your code is working correctly, you can test it several ways. You can play music from your
6 phone into line in and listen with headphones on the TMS320C6713 DSK. You should hear the music unchanged. Now generate a test signal in Matlab with different signals on the left and right channels (help sound or soundsc). The following theoretical development should appear in your lab report. a. What is the equation for a discrete time continuous sinusoid (cosine)? b. What single line of Matlab would you use to create a 2 second long time vector assuming a sampling frequency of 44.1 khz? c. Write an.m file (script file) to implement a two second long 500Hz cosine signal and a 2 second long 300Hz cosine. Assign the 500 Hz signal to the right channel and the 300 Hz signal to the left and play the sound through the computers sound card using Matlab's sound( ) instruction. d. Generate a completely labeled plot (both axes, title and legend) showing 5-10 cycles of your test signals. Include in your report. Play your test signal into the DSK and listen through headphones. You might want to also try swapping the channels in your code and testing that the results are as expected. Make sure the stereoloop program is working before proceeding to Program 3. Demonstrate your program to the course staff for sign-off. Program 3: Squaring the Left Channel This program will build on the stereo loop program above by reading both channels of the AIC23 and then outputting the channels to the AIC23 after squaring the left channel (the right channel will be passed through unmodified). Here are some suggestions on how to achieve this functionality: 1. Squaring the samples on the left input channel is a little bit more complicated than simply multiplying the sample by itself because you are likely to get overflow in the 16-bit signed integer datatype (with range to ) if you do this directly. Instead, consider the processing steps shown in Figure 1. By pre-scaling the samples (and converting to floats), the samples remain in the range [ 1, +1] after squaring. Unscaling and conversion to signed integers is necessary before writing the modified samples to the AIC23 codec. 2. Pass the right input channel samples directly to the right output channel. 3. Your code should compile without any errors or warnings. Load the code to the DSK and run it. Your code should work correctly and should be liberally commented! (like your report grade depends on it, because it does...) 4. What do you expect to happen? Using trigonometric identities to determine the following to help guide your intuition. Include in your report. cos 2 (ω o n) = where ω o is radian frequency and ω o = 2 π f o
7 Figure 1: Typical steps when processing samples from the AIC23 codec 5. Test your signal-squarer by sending a 300 Hz sinusoidal signal to both channels on the DSK and observing both the signals on both output channels on an oscilloscope. You should also record the output to a.wav using the computer's sound card for analysis in Matlab. Note that there may be some strange things about the recorded signal. Is the recorded signal always positive (as you would expect from a squared quantity)? Does the recorded signal match perfectly with a squared sinusoid in Matlab? You may want to think about the squaring operation in the frequency domain. In your report, explain what is going on. Remember, multiplication in the time domain is convolution in the frequency domain. Careful analysis of the recorded signal will reveal some interesting properties of the AIC23 codec and its circuitry on the DSK. 6. Demonstrate your functional program to the course staff for sign-off. Additional Exploration 1. Even if you get your code working perfectly, it is important that you explore the debugging and code profiling features of CCS. The number one reason for difficulty in ECE4703 is an inability to effectively debug problems with your code. Play around with CCS to better understand the full range of debugging features. As a minimum, make sure that you can: Set breakpoints: It is very easy to set breakpoints in CCS. Just double-click in the gray left margin of the line where you want your code to stop. The breakpoint is indicated by a green circle with a checkmark in the left margin. Note that the execution stops before this line is run. You can clear the breakpoint in the same way by double-clicking the left margin. Watch variables: This is also fairly straightforward. Use the CCS menu to select View Variables. The variables watch window will appear. To add a variable, click under the Name column and type the variable name. You can also specify how you want CCS to display the variable, e.g. decimal, hex, etc. 2. Make sure you are able to profile your code (see videos on Labs webpage). This skill will be very important in later laboratory assignments when you need to ensure that your more complicated DSP algorithms are running in real-time. An interesting profiling experiment is to edit your linker command file (C6713.cmd) to put all code and data for Program 3 in SRAM (your linker command file is probably already set up this way). Profile some code to determine the average number of cycles it takes for your code to complete. Then edit your linker command file to put all code and data for Program 3 in SDRAM. Profile the same code to determine the average number of cycles it takes for your code to complete. Is there any difference? Can you explain why or why not? 3. Finally, try out various signals in your signal-squarer including sinusoids with higher and lower signal frequencies, different sampling frequencies, square waves, and even music or speech (you can use the computer s sound card output or bring in a portable audio player). While you can use Matlab or
8 the function generators on the lab bench to generate your signals, it may also be convenient to download a function generator app for your phone (and what does the ready availability of such signal generation apps tell you about your phone's processor?). Try listening to the output with a pair of headphones. Refer back to your analysis above. Can you explain what is going on? Specific Items to Discuss in Your Report In lab you will form teams of two. You and your lab partner will submit joint project code and a single lab report. Both lab partners must be present to receive credit for demonstration of any code. Both partners are expected to contribute equally toward the completion of the lab and to writing the report. Only lab partners who contributed to the lab and to the report should appear as authors. By putting you name on the report, you are certifying that the work is yours. Please refer to the general report guidelines provided on the course Labs web page for an overview of the ECE4703 report format. Since the first two programs in this assignment were quite simple and used code written by others, you do not need to discuss them in the report. However, you should include your theoretical development work for generating thee test signals for Program 2. Your report should mainly focus on your methods, solutions, and results obtained with Program 3. Specifically, you should detail your analysis and experiments with the signal-squarer. You must present documentation of your experiments (e.g. screen captures, etc) by which you determined the following. 1. What is the maximum peak-to-peak input voltage (at the line in input) that the AIC23 codec can accept before clipping occurs? 2. What is the maximum peak-to-peak output voltage (at the line out output) the AIC23 codec can generate? 3. What happens when you try to sample a sinusoid with frequency higher than the Nyquist rate? To test this, set the sampling frequency of the codec to 44.1kHz (it should be set to this value already if you use the provided stereoloop.c code) and use the function generator to provide a 25kHz sinusoidal input to the codec. 4. What happens when you sample a signal with DC offset? To test this, use the function generator and apply a one volt offset to a 1kHz sinusoidal input with a one volt peak-to-peak voltage. Can you explain what is going on here? 5. What happens when you try to output a signal with a DC offset? Try generating an output with a DC offset by adding a constant to each sample before writing the sample to the AIC23 codec. Look at the result on a scope. What happens? 6. Discuss your SRAM/SDRAM ISR profiling results. 7. Finally, determine where the codec configuration is written in your code and take a look at the AIC23 codec datasheet (a link is provided under Useful Links). Notice that, among other configuration options, the codec has registers that allow for left/right line input channel volume control in 1.5dB steps. How does this work? In Sections and of the datasheet, it is stated that the ADC and DAC each have a full-scale range of 1.0 VRMS. Using what you know about the codec configuration, can you explain how these specifications agree or disagree with the first and second results that you obtained regarding the maximum peak-to-peak input and output voltage?
9 Final Remarks All work should be saved to the students' network (R:/) drives and not left on the local machine. The machines in the labs can be re-imaged at any time during the term. All material left on the local drive would be lost. The code repository for each lab should be available to both students who contributed to it. Please be aware that each of the laboratory assignments in ECE4703 will require a significant investment in time and preparation if you expect to have a working system by the assignment s due date. Basically, the lab assignment represents the work that must be completed to demonstrate mastery over that week's course topics. Each week you will be expected to move through the sequence from theoretical analysis, to modeling (in Matlab), to implementation. This is a 4000 level course and is run in open lab mode. It is not expected that you will be able to complete the laboratory within just the scheduled, official lab time. It is in your best interest to plan ahead so that you can use your time and the TA and instructor s office hours most efficiently. A zipped version of your signal squarer should be submitted on-line using the instructions provided on the Lab webpage.
10 ECE4703 Laboratory 1 Grade Sheet (Must be included in report) Grading Criteria : Requirement (max. points) Sign-off Grade All projects build without errors or warnings 10 Helloworld project has correct functionality -- 5 Stereoloop project has correct functionality -- 5 Signal-squaring project has correct functionality Code is well commented --10 Report introduction -- 5 Report background and methods -- 5 Report description of solution Report description of results Report explanation of signal-squaring results Report conclusion -- 5 Report references -- 5 Overall report clarity, appearance, grammar, and spelling -- 5 TOTAL = 100 Grader s Comments :
ECE4703 Mid-term Exam B-16. Name: Box #:
ECE4703 Mid-term Exam B-16 Name: Box #: The exam is worth 100 points with points per problem indicated. Please read through the entire exam in order to properly budget your time. Write neatly and show
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 informationDigital Signal Processing and Applications with the TMS320C6713 DSK
Digital Signal Processing and Applications with the TMS320C6713 DSK Day 1 D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu
More informationWorkshop Goals. Page 2 of 68
D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu October 19-20, 2009 Day 1 handouts Workshop Goals Correctly install
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 Real-Time DSP Orientation Lab
ECE4703 Real-Time DSP Orientation Lab D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department drb@ece.wpi.edu 25-Oct-2006 C6713 DSK Overview
More informationDigital 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 informationECE 5655/4655 Laboratory Problems
Assignment #1 ECE 5655/4655 Laboratory Problems Make note of the following: Due Monday February 10, 2014 Each team of two will turn in documentation for the assigned problem(s), that is, assembly or C
More informationLab 6 : Introduction to Simulink, Link for CCS & Real-Time Workshop
Lab 6 : Introduction to Simulink, Link for CCS & Real-Time Workshop September, 2006 1 Overview The purpose of this lab is to familiarize you with Simulink, Real Time Workshop, Link for CCS and how they
More informationLab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio
ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio
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 informationDSP Laboratory (EELE 4110) Lab#6 Introduction to Texas Instruments DSK TMS320C6711
Islamic University of Gaza Faculty of Engineering Electrical Engineering Department Spring-2011 DSP Laboratory (EELE 4110) Lab#6 Introduction to Texas Instruments DSK TMS320C6711 OBJECTIVES: Our aim is
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 informationECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term Making a Time and Temperature Display
ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term 2019 Making a Time and Temperature Display In this laboratory you will use the MSP430 and several of its peripherals to implement
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 informationECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:
ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming
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 informationECE 487 LAB 1 ÇANKAYA UNIVERSITY Overview of DSP Board
ECE 487 LAB 1 ÇANKAYA UNIVERSITY Overview of DSP Board DSP (Digital Signal Processor) boards are used in high performance, high throughput signal processing applications. You can find there processors
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 informationDual Tone Multi-Frequency (DTMF) Generation with TI-DSP TMS320C6713 Processor
Dual Tone Multi-Frequency (DTMF) Generation with TI-DSP TMS320C6713 Processor Objective The goals of this lab are to gain familiarity with TI DSP code composer studio and the TI-DSP Starter Kit (DSK).
More informationECE2049 Embedded Computing in Engineering Design. Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio
ECE2049 Embedded Computing in Engineering Design Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab you will be introduced to the Code Composer Studio
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 informationCypress FM4 Tools Set-up with Keil 5.x
Introduction Mark Wickert, 9/4/16, Revised 1/28/19 This document will describe the details of setting up your own system with the ARM IDE Keil, and software drivers that support the Cypress FM4 board.
More informationObjectives. Part 1: forward kinematics. Physical Dimension
ME 446 Laboratory #1 Kinematic Transformations Report is due at the beginning of your lab time the week of February 20 th. One report per group. Lab sessions will be held the weeks of January 23 rd, January
More informationLab P-1: Introduction to MATLAB. 3. Learn a little about advanced programming techniques for MATLAB, i.e., vectorization.
DSP First, 2e Signal Processing First Lab P-1: Introduction to MATLAB Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in
More informationLab 1 Implementing a Simon Says Game
ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.
More informationECE 3793 Matlab Project 1
ECE 3793 Matlab Project 1 Spring 2017 Dr. Havlicek DUE: 02/04/2017, 11:59 PM Introduction: You will need to use Matlab to complete this assignment. So the first thing you need to do is figure out how you
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 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 informationExperiment 6 Finite Impulse Response Digital Filter (FIR).
Experiment 6 Finite Impulse Response Digital Filter (FIR). Implementing a real-time FIR digital filtering operations using the TMS320C6713 DSP Starter Kit (DSK). Recollect in the previous experiment 5
More informationSignalMaster Manual Version PN: M072005
SignalMaster Manual Version 1.02 20180822 - PN: M072005 SignalMaster Hardware Version 2.00 Intelligent Hearing Systems, Corp. 6860 S.W. 81 st Street Miami, FL 33143 - USA Introduction: SignalMaster was
More informationMechatronics Laboratory Assignment 4 Parallel Communication Glue Logic, Hardware Interrupts, Analog to Digital Conversions, and Board Fab
Mechatronics Laboratory Assignment 4 Parallel Communication Glue Logic, Hardware Interrupts, Analog to Digital Conversions, and Board Fab Goals for this Lab Assignment: 1. Gain a better understanding of
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 informationDSP Development Environment: Introductory Exercise for TI TMS320C55x
Connexions module: m13811 1 DSP Development Environment: Introductory Exercise for TI TMS320C55x Thomas Shen David Jun Based on DSP Development Environment: Introductory Exercise for TI TMS320C54x (ECE
More informationReal-Time DSP for Educators
Real-Time DSP for Educators Michael Morrow University of Wisconsin-Madison Thad Welch United States Naval Academy Cameron Wright University of Wyoming Introduction Agenda Motivation DSK and Software Installation
More informationChapter 7. Hardware Implementation Tools
Hardware Implementation Tools 137 The testing and embedding speech processing algorithm on general purpose PC and dedicated DSP platform require specific hardware implementation tools. Real time digital
More informationLab 1 Implementing a Simon Says Game
ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.
More informationECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, Name:
ECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, 2016 Name: Item Part 1. (40%) Color LCD Hello World Part 2. (10%) Timer display on Color LCD Part 3. (25%) Temperature
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 informationEE 314 Spring 2003 Microprocessor Systems. Parallel Printer Port Use and Digital-to-Analog Conversion
EE 314 Spring 2003 Microprocessor Systems Laboratory Project #6 Parallel Printer Port Use and Digital-to-Analog Conversion Important Note Concerning Equipment. This is the first lab that has required the
More informationEmbedded Target for TI C6000 DSP 2.0 Release Notes
1 Embedded Target for TI C6000 DSP 2.0 Release Notes New Features................... 1-2 Two Virtual Targets Added.............. 1-2 Added C62x DSP Library............... 1-2 Fixed-Point Code Generation
More informationMechatronics Laboratory Assignment #1 Programming a Digital Signal Processor and the TI OMAPL138 DSP/ARM
Mechatronics Laboratory Assignment #1 Programming a Digital Signal Processor and the TI OMAPL138 DSP/ARM Recommended Due Date: By your lab time the week of January 29 th Possible Points: If checked off
More informationIntroducing Audio Signal Processing & Audio Coding. Dr Michael Mason Snr Staff Eng., Team Lead (Applied Research) Dolby Australia Pty Ltd
Introducing Audio Signal Processing & Audio Coding Dr Michael Mason Snr Staff Eng., Team Lead (Applied Research) Dolby Australia Pty Ltd Introducing Audio Signal Processing & Audio Coding 2013 Dolby Laboratories,
More informationGrade 8 FSA Mathematics Practice Test Guide
Grade 8 FSA Mathematics Practice Test Guide This guide serves as a walkthrough of the Grade 8 Florida Standards Assessments (FSA) Mathematics practice test. By reviewing the steps listed below, you will
More informationCopyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015.
Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen
More informationSR3_Analog_32. User s Manual
SR3_Analog_32 User s Manual by with the collaboration of March 2nd 2012 1040, avenue Belvédère, suite 215 Québec (Québec) G1S 3G3 Canada Tél.: (418) 686-0993 Fax: (418) 686-2043 1 INTRODUCTION 4 2 TECHNICAL
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 informationAPPENDIX A. CODE COMPOSER STUDIO (CCS) v5: A BRIEF TUTORIAL FOR THE DSK6713
APPENDIX A. CODE COMPOSER STUDIO (CCS) v5: A BRIEF TUTORIAL FOR THE DSK6713 A.1 Introduction Code Composer Studio (CCS) is Texas Instruments integrated development environment (IDE) for developing routines
More informationPHY 351/651 LABORATORY 1 Introduction to LabVIEW
PHY 351/651 LABORATORY 1 Introduction to LabVIEW Introduction Generally speaking, modern data acquisition systems include four basic stages 1 : o o A sensor (or transducer) circuit that transforms a physical
More informationLAB 1 Machine Perception of Music Computer Science , Winter Quarter 2006
1.0 Lab overview and objectives This laboratory assignment will help you learn basic sound manipulation using MATLAB 7. Lab due time/date: 1pn, 1/11/2006 What to hand in: see Section 5 of this document
More informationLab 2: Introduction to LabVIEW 8.5
Lab 2: Introduction to LabVIEW 8.5 INTRODUCTION: This lab is designed as an introduction to using LabVIEW. In this lab you will run through some tutorials to get a basic understanding of some of the LabVIEW
More informationHomework Assignment 9 LabVIEW tutorial
Homework Assignment 9 LabVIEW tutorial Due date: Wednesday, December 8 (midnight) For this homework assignment, you will complete a tutorial on the LabVIEW data acquistion software. This can be done on
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 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 informationSmall rectangles (and sometimes squares like this
Lab exercise 1: Introduction to LabView LabView is software for the real time acquisition, processing and visualization of measured data. A LabView program is called a Virtual Instrument (VI) because it,
More informationConclusions. Introduction. Objectives. Module Topics
Conclusions Introduction In this chapter a number of design support products and services offered by TI to assist you in the development of your DSP system will be described. Objectives As initially stated
More informationESE 150 Lab 08: Machine Level Language
LAB 08 In this lab we will gain an understanding of the instruction- level implementation of computation on a microprocessor by: 1. Using Arduino to perform the Fourier Transform on sampled data in the
More informationExercise 4: Developing signal generators in real time using the C5510 DSK
Exercise 4: Developing signal generators in real time using the C5510 DSK The objective of this experiment is to use the C5510 DSK with its associated CCS, BSL, and AIC23 codec for generating sinusoidal
More informationImplementation Techniques for DSP
Implementation Techniques for DSP 1 Implementation Techniques for DSP Part 1: Development Tools (3 hours) Part 2: FFT Implementation (6 hours) Introduction The laboratory exercises presented in this handout
More informationTips from the experts: How to waste a lot of time on this assignment
Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be
More information1-- Pre-Lab The Pre-Lab this first week is short and straightforward. Make sure that you read through the information below prior to coming to lab.
EELE 477 Lab 1: Introduction to MATLAB Pre-Lab and Warm-Up: You should read the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section before attending your
More informationGeorge Mason University Signals and Systems I Spring 2016
George Mason University Signals and Systems I Spring 2016 Laboratory Project #1 Assigned: January 25, 2016 Due Date: Laboratory Section on Week of February 15, 2016 Description: The purpose of this laboratory
More informationLaboratory 2: Programming Basics and Variables. Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information
Laboratory 2: Programming Basics and Variables Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information 3. Comment: a. name your program with extension.c b. use o option to specify
More informationOutline for Today. Lab Equipment & Procedures. Teaching Assistants. Announcements
Announcements Homework #2 (due before class) submit file on LMS. Submit a soft copy using LMS, everybody individually. Log onto the course LMS site Online Assignments Homework 2 Upload your corrected HW2-vn.c
More informationExercise 4-1. DSP Peripherals EXERCISE OBJECTIVES
Exercise 4-1 DSP Peripherals EXERCISE OBJECTIVES Upon completion of this exercise, you will be familiar with the specialized peripherals used by DSPs. DISCUSSION The peripherals found on the TMS320C50
More informationFSA Algebra 1 EOC Practice Test Guide
FSA Algebra 1 EOC Practice Test Guide This guide serves as a walkthrough of the Algebra 1 EOC practice test. By reviewing the steps listed below, you will have a better understanding of the test functionalities,
More informationNew Concepts. Lab 7 Using Arrays, an Introduction
Lab 7 Using Arrays, an Introduction New Concepts Grading: This lab requires the use of the grading sheet for responses that must be checked by your instructor (marked as Question) AND the submission of
More informationECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008
1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following
More informationGE420 Laboratory Assignment 3 More SYS/BIOS
GE420 Laboratory Assignment 3 More SYS/BIOS Goals for this Lab Assignment: 1. Introduce Software Interrupt Objects (Swis) 2. Introduce 2 X 20 character LCD functions. 3. Investigate an issue with 32 bit
More informationCPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation
CPSC 150 Laboratory Manual A Practical Approach to Java, jedit & WebCAT Department of Physics, Computer Science & Engineering Christopher Newport University Lab 1 Introduction to Program Creation Welcome
More informationFinal Exam. Date: May 14, Printed Name:
EE319K Spring 2015 Final Exam Page 1 Final Exam Date: May 14, 2015 UT EID: Circle one: MT, NT, JV, RY, VJR Printed Name: Last, First Your signature is your promise that you have not cheated and will not
More informationImage Manipulation in MATLAB Due Monday, July 17 at 5:00 PM
Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM 1 Instructions Labs may be done in groups of 2 or 3 (i.e., not alone). You may use any programming language you wish but MATLAB is highly suggested.
More informationLab 2: Basic Assembly Programming and Debugging using AVR Studio. Due: December 13, 2011
Lab 2: Basic Assembly Programming and Debugging using AVR Studio 1 Outcomes Due: December 13, 2011 Familiarize yourself with the capabilities of the ATMEGA32 embedded microcontroller and AVR Studio Develop
More informationECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015
ECE 353 Lab 4 General MIDI Explorer Professor Daniel Holcomb Fall 2015 Where are we in Course Lab 0 Cache Simulator in C C programming, data structures Cache architecture and analysis Lab 1 Heat Flow Modeling
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationFloating-Point Unit. Introduction. Agenda
Floating-Point Unit Introduction This chapter will introduce you to the Floating-Point Unit (FPU) on the LM4F series devices. In the lab we will implement a floating-point sine wave calculator and profile
More information475 Electronics for physicists Introduction to FPGA programming
475 Electronics for physicists Introduction to FPGA programming Andrej Seljak, Gary Varner Department of Physics University of Hawaii at Manoa November 18, 2015 Abstract Digital circuits based on binary
More informationMTRX3700 Mechatronics
MTRX3700 Mechatronics 3 2015 PIC18F452 Software Exercises David Rye You are to work in a group of two students to write, debug and demonstrate a series of small assembly language and C programs that meet
More informationECE 5655/4655 Laboratory Problems
Assignment #1 ECE 5655/4655 Laboratory Problems Due Monday February 11, 2019 In this lab you will get introduced to the hardware and software tools that you will be using throughout the rest of the semester.
More information15-323/ Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019
15-323/15-623 Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019 1 Overview In this project, you will create a program that performs real-time audio generation. There
More information3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0.
3 TUTORIAL Figure 1-0. Table 1-0. Listing 1-0. In This Chapter This chapter contains the following topics: Overview on page 3-2 Exercise One: Building and Running a C Program on page 3-4 Exercise Two:
More informationFSA Geometry EOC Practice Test Guide
FSA Geometry EOC Practice Test Guide This guide serves as a walkthrough of the Florida Standards Assessments (FSA) Geometry End-of- Course (EOC) practice test. By reviewing the steps listed below, you
More informationCPE 323: Laboratory Assignment #1 Getting Started with the MSP430 IAR Embedded Workbench
CPE 323: Laboratory Assignment #1 Getting Started with the MSP430 IAR Embedded Workbench by Alex Milenkovich, milenkovic@computer.org Objectives: This tutorial will help you get started with the MSP30
More informationWelcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab
Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need to keep the same partner from
More informationLab 2: Performance Measurement Date: 12 June 2009 Number of Problems: 4
Lab 2: Performance Measurement Date: 12 June 2009 Number of Problems: 4 Performance Measurement In the classroom, we learn how to measure and compare algorithm based on theoretical point of view using
More informationThe NetBeans IDE is a big file --- a minimum of around 30 MB. After you have downloaded the file, simply execute the file to install the software.
Introduction to Netbeans This document is a brief introduction to writing and compiling a program using the NetBeans Integrated Development Environment (IDE). An IDE is a program that automates and makes
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationRVDS 4.0 Introductory Tutorial
RVDS 4.0 Introductory Tutorial 402v02 RVDS 4.0 Introductory Tutorial 1 Introduction Aim This tutorial provides you with a basic introduction to the tools provided with the RealView Development Suite version
More information(Refer Slide Time: 1:40)
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering, Indian Institute of Technology, Delhi Lecture - 3 Instruction Set Architecture - 1 Today I will start discussion
More informationPlatinum Studio ADC Users Manual
Platinum Studio ADC Users Manual Rev 2 (3/2012) Digital Ouputs: Cl o c k Jitter: Digital Tr i m Co n t r o l: Ou t p u t Sa m p l i n g Fr e q u e n c y: Output Resolution: 2 or 4 AES/EBU Balanced MSB
More informationEE 341 Spring 2013 Lab 4: Properties of Discrete-Time Fourier Transform (DTFT)
EE 341 Spring 2013 Lab 4: Properties of Discrete-Time Fourier Transform (DTFT) Objective In this lab, we will learn properties of the discrete-time Fourier transform (DTFT), such as conjugate symmetry
More informationFamiliarity with data types, data structures, as well as standard program design, development, and debugging techniques.
EE 472 Lab 1 (Individual) Introduction to C and the Lab Environment University of Washington - Department of Electrical Engineering Introduction: This lab has two main purposes. The first is to introduce
More informationLab 4: Interrupts and Realtime
Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver
More informationHere is the data collected.
Introduction to Scientific Analysis of Data Using Spreadsheets. Computer spreadsheets are very powerful tools that are widely used in Business, Science, and Engineering to perform calculations and record,
More informationAudio Controller i. Audio Controller
i Audio Controller ii Contents 1 Introduction 1 2 Controller interface 1 2.1 Port Descriptions................................................... 1 2.2 Interface description.................................................
More informationA Sequence of courses using 8, 16, and 32 bit Microcontroller/DSP Boards
A Sequence of courses using 8, 16, and 32 bit Microcontroller/DSP Boards Hal Broberg, Indiana University-Purdue University Fort Wayne, broberg@ipfw.edu Abstract: Application programming is important and
More informationIntroducing Audio Signal Processing & Audio Coding. Dr Michael Mason Senior Manager, CE Technology Dolby Australia Pty Ltd
Introducing Audio Signal Processing & Audio Coding Dr Michael Mason Senior Manager, CE Technology Dolby Australia Pty Ltd Overview Audio Signal Processing Applications @ Dolby Audio Signal Processing Basics
More informationCode Composer Studio Operation Manual
Code Composer Studio Operation Manual Contents Code Composer Studio Operation Manual... 1 Contents... 1 Section 1: Launching CSS... 1 Section 2: Create Project & Preparing Project Setting... 3 Section
More informationTimer Interrupt Programming
Timer Interrupt Programming Intro The timer interrupt is used when a certain event MUST happen at a given frequency. In the Programming the Sound Blaster 16 Example #4 we used it to play back a sample
More informationTUTORIAL Auto Code Generation for F2803X Target
TUTORIAL Auto Code Generation for F2803X Target August 2017 1 PSIM s SimCoder Module, combined with the F2803x Hardware Target, can generate ready-to-run code from a PSIM control schematic for hardware
More information