26
Digital Signal Processing Laboratory Work 521485S Miguel Bordallo Department of Computer Science and Engineering (CSE) University of Oulu

Digital Signal Processing Laboratory Work 521485S

  • Upload
    brick

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Digital Signal Processing Laboratory Work 521485S. Miguel Bordallo Department of Computer Science and Engineering (CSE) University of Oulu. Organization of the course. The course consists on only ONE exercise Assistant: TMS320C67x exercise: Miguel Bordallo: [email protected] ,TS301. - PowerPoint PPT Presentation

Citation preview

Page 1: Digital Signal Processing Laboratory Work 521485S

Digital Signal Processing Laboratory Work 521485S

Miguel Bordallo

Department of Computer Science and Engineering (CSE)

University of Oulu

Page 2: Digital Signal Processing Laboratory Work 521485S

Organization of the course

• The course consists on only ONE exercise

Assistant:

• TMS320C67x exercise: • Miguel Bordallo: [email protected] ,TS301

Page 3: Digital Signal Processing Laboratory Work 521485S

Credits, grades…

• When the exercise of the course is completed, you will receive 3.5 credit points (2 credit units)

• No exams, no grades: each returned exercise will be either accepted or rejected

• Contact the assistant (in third floor):– For questions– For returning completed exercise part

Page 4: Digital Signal Processing Laboratory Work 521485S

Registration to the course

• Register by adding the group member names to the registration list.

• Write down the parameters from the list– Maximum two students per group– You will need a grey key and permission for the

development class room TS139– Write down your key number in the registration list – If you don't yet have the grey key, you must first

obtain it. Instructions are here:http://www.otit.fi/live/kilta/avain.xml

Page 5: Digital Signal Processing Laboratory Work 521485S

Instructions• Instructions will be published and updated on the course

webpage on the corresponding section:

– http://www.ee.oulu.fi/research/tklab/courses/521485S/

• Borrow the course instructions from course material shelf ("Lainattava kurssimateriaali") in third floor for copying

• Do not print large manuals! The full manuals are available in the exercise class room; you may print a few pages for reference but printing the manuals is useless

Page 6: Digital Signal Processing Laboratory Work 521485S

Doing the exercise…• There are several C67x platforms available, and

they are located in room TS139– Before going to use the computers, it is recommended to

reserve a time (max 2 hours)– Reservation must be done on the Internet at

http://www.ee.oulu.fi/research/tklab/courses/521485S/reservation/

• You may create a temporary working directory in the development computers– It must be deleted after use! – Always make backups e.g. email, unix server, usb mem.

Page 7: Digital Signal Processing Laboratory Work 521485S

Doing the exercise…(2)• First, the code should be developed on workstation

classes (e.g. TS138) (except assembly functions)

• Only when the algorithm is functional and correct, you can switch the development environment to the DSP stations (TS139)

• Optimizations must be made on DSP platform– Rewriting some functions– Memory management– ASM coding

Page 8: Digital Signal Processing Laboratory Work 521485S

Returning the exercise• The finished exercise work should be returned

before June 30th, 2012– It must contain answers for all questions and all written

code in appendices.– Dsp_lab.c + multiply.s62 + DSP_report.pdf

• If you are unable to finish the work in time, you should ask for additional time.– Although support is not guaranteed outside official dates

• The code must be written in the “C” –language– A small exercise requires the use of DSP assembly

language (specified in the exercise instructions)

Page 9: Digital Signal Processing Laboratory Work 521485S

Returning the work (2)

• You may use any published information (books, Internet) for completing the work– You must always reference the source if you

directly cite some material– The exercise instructions may require you to

actually write yourself parts of the code (e.g. no copying of FFT code)

– Copying code from other students is always prohibited

Page 10: Digital Signal Processing Laboratory Work 521485S

Where?

Page 11: Digital Signal Processing Laboratory Work 521485S

What is a DSP Solution ?DIGITAL SIGNAL PROCESSING SOLUTIONS DSP + Analog + Development Tools + SW + System Expertise

DSP Chip Market Fast growing segment in the SC market (>12% CAGR)

Page 12: Digital Signal Processing Laboratory Work 521485S

TMS320 DSP - 3 FamiliesC2000

47 ProductsASP: $3 - $15

World’s most code-efficient DSP Advanced embedded control

applications Leadership integration of analog

and high-speed Flash memory C28x fully code compatible

92 Products ASP: $5 - $120

C5000 C6000

World’s most power-efficient DSP

World’s most popular DSP Heart of handheld solutions

in Internet era C55x fully code compatible

>20 Products ASP: $10 - $350

World’s highest-performance DSP

Used in high-bandwidth comms and video equipment

C64x fully code compatible

Page 13: Digital Signal Processing Laboratory Work 521485S

C6000™ DSP platform

Millions shipped to hundreds of customers

World’s highest-performance DSP

Heart of solutions for new, high-bandwidth communications and video equipment Wireless basestations and transcoders DSL Home theater audio Digital radio Imaging and video servers & gateways Smartphone SoCs

New generation C67x DSP products fully code compatible

C64xTM DSP

Best DSP of 2001

InStat/MicroDesignResources

2001 Innovation of the YearEDN Magazine

>30 Products ASP: $10 - $350

Page 14: Digital Signal Processing Laboratory Work 521485S

Code Composer Studio DSP industry’s first comprehensive, open Integrated Development Environment (IDE)

Advanced visualization

Intuitive ease-to-use

Third-party plug-ins

Visualization without stopping the processor

Page 15: Digital Signal Processing Laboratory Work 521485S

Digital Signal Processing Laboratory Work 521485S

C67x exercise

http://www.ee.oulu.fi/research/tklab/courses/521485S/c67x.html

Miguel Bordallo, [email protected], TS301

Department of Computer Science and Engineering (CSE)University of Oulu

Page 16: Digital Signal Processing Laboratory Work 521485S

C67x Development Platform

• TMS320C67x is Texas Instruments' family of floating point digital signal processors.

• It is downward compatible with the TMS320C62x fixed point family, and has a Very Long Instruction Word (VLIW) -like architecture, developed by Texas Instruments and called VelociTI.

• Each 256-bit wide Instruction Fetch Packed (IFP) can contain up to 8 simple 32-bit RISC (Reduced Instruction Set Computer) instructions, whose execution is started simultaneously at the same clock cycle.

• The instructions are pipelined: new instructions can be dispatched before earlier instructions have finished.

Page 17: Digital Signal Processing Laboratory Work 521485S

C67x Development Platform (2)

• There are special instructions for loading and storing data from and to memory; all arithmetic instructions can use directly only built-in registers.

• The instructions have flexible addressing modes: register direct, register indirect, and base + index modes are supported. Additionally the index register can be post- or preincremented or decremented.

• There are two register sets, which both have sixteen 32-bit registers, or in total 32 registers. Two 32-bit registers can be combined into one 64-bit floating point or a 40-bit fixed point register.

• The DSP has plenty of computing resources: there are two multipliers and six arithmetic-logical units (ALUs).

Page 18: Digital Signal Processing Laboratory Work 521485S

C67x Development Platform (3)

• The DSP is attached to the DSP Starter Kit (DSK) where it is clocked at 150/225 MHz rate. – The DSK contains power supply, - line in and speaker connectors, – 6 megabytes of SDRAM, - 16-bit D/A and A/D converters, – 128 kilobytes of flash ROM, - Parallel/USB port interface – programmable LEDs,

• The code development can be made with Code Composer Studio (CCS), – integrated development environment (IDE) containing:

• code editor, • C compiler, • assembler, • linker, • debugger• Utilities

Page 19: Digital Signal Processing Laboratory Work 521485S

C67x Development Platform (4)

• The Code Composer Studio contains a firmware kernel called DSP/BIOS, – provides basic runtime services for managing block-based

data transfers. – Analog-to-digital (A/D) converter produces samples one by

one, generating a hardware interrupt for each. • The DSP/BIOS collects the samples into a frame.

– When the frame fills up, a software interrupt is generated– The control is transferred to the user application.

• The application will receive the whole frame at once,– It does not need to take care of collecting single samples.– DSP/BIOS contains routines for outputting framed data via

digital-to-analog (D/A) converter.

Page 20: Digital Signal Processing Laboratory Work 521485S

C67x Exercises• All C code can be written by modifying example

program dsp_lab.c.• Exercise questions increase in complexity• Last questions combines results from previous

questions: questions should be done in order • For doing the exercises, you must understand:

– Generation of sine signals using IIR filters– Decimation– Interpolation– Implementation of a fast Fourier transform (FFT)– Frame based processing– Basics of C67x architecture (DSP assembly, DSP architecture

• Most code should be written on any workstation, but the final program must run on the DSPs

Page 21: Digital Signal Processing Laboratory Work 521485S

C67 Exercise (2)

Page 22: Digital Signal Processing Laboratory Work 521485S

C67x Exercise (3)

• The final version of the exercise instructions and the final code template will be published next Monday

• Access to the DSP lab will be granted some time next week

• First steps of the development should be done on a workstation

Page 23: Digital Signal Processing Laboratory Work 521485S

How to proceed ?1. Read the instructions carefully (all of them)

2. Gather the documentation that you will need

3. Study the algorithms and concepts involved– Convolution, complex multiplication, IIR, FIR, overlap-save

4. Design the algorithms. Test some parts with MATLAB – (e.g. FFT)

5. Start coding on a Unix station– Test your code against well known results (e.g. in Matlab)

6. When the final code is working:– Think about the DSP architecture and make some changes– Check the memory usage. Check the data types. Check the

use of very slow functions (such as pow() )

7. Move to the DSP platform

Page 24: Digital Signal Processing Laboratory Work 521485S

In the DSP platform

1. Test the environment

2. Familiarize yourself with the debugging tools

3. Try your code– Only the code that works on a Unix station has chances of

working on the DSP

4. Debug, debug, debug, debug, debug…

5. When the code works:– Make the final time measurements.– Compile your answers into a document.– Return the exercises

Page 25: Digital Signal Processing Laboratory Work 521485S

In case of problems• Read the instructions and the webpage (FAQ)

It might be that the question is already answered there

• First, send and email to me.– Always attatch the code and results– Specify the problem as much as possible, so it can

be reproduced.

• I will answer with debugging strategies and suggestions of tests.

• If all fails, I will set up a time to meet you in the lab.

Page 26: Digital Signal Processing Laboratory Work 521485S

Questions?

??

??

?? ??

??

??

??

??