Sie sind auf Seite 1von 9

E E 2 7 5 Lab

March 30, 2012

Lab 1. DSK6713 Audio Delay

Introduction

A PC is required to run Code Composer Studio which is required to compile and download code to (run on) the DSP. (Note: This is the same Lab. as Lab.1 in the Real-Time set of Labs.)

on) the DSP. (Note: This is the same Lab. as Lab.1 in the Real-Time set of

Figure 1: Typical lab setup

c 2012GM

1

DSP Board Highlights

1 DSP Board Highlights Figure 2: C6713 DSK block diagram • Texas Instruments TMS320C6713 DSP operating

Figure 2: C6713 DSK block diagram

Texas Instruments TMS320C6713 DSP operating at 225 MHz

An AIC23 stereo codec

8 MB of synchronous DRAM

512 KB of non-volatile Flash memory

4 user accessible LEDs and DIP switches

Configurable boot options

Standard expansion connectors for daughter card use

JTAG emulation through on-board JTAG emulator with USB host interface or external emulator

Single voltage power supply (+5V)

2

Functional Overview of DSP Board

The DSP on the 6713 DSK interfaces to on-board peripherals through a 32-bit wide EMIF (External Memory Interface). The SDRAM, Flash and CPLD are all connected to the bus. EMIF signals are also used for daughter cards. The DSP interfaces to analog audio signals through an on-board AIC23 codec and four 3.5 mm audio jacks (microphone input, line input, line output, and headphone output). The codec can select the microphone or the line input as the active input. The analog output is sent to both the line out and headphone out connectors. The line out has a fixed gain, while the headphone out allows for an adjustable gain. connectors.

A

programmable logic device called a CPLD (Complex Programmable Logic Device)is used

to

implement logic that ties the board components together. The DSK includes 4 LEDs and

a

4 position DIP switch which allow for interactive feedback.

Simulink communicates with Code Composer Studio through Real-Time Workshop.Code Composer Studio communicates with the DSK through an embedded JTAG emulator with

a USB host interface. Matlab communicates with CCS via Link for Code composer Studio.

The DSK can also be used with an external emulator through the external JTAG connector.

The DSK can also be used with an external emulator through the external JTAG connector. Figure

Figure 3: Real-Time Workshop

3

Simple Audio Systems

In this Lab 1 you will build a simple audio system that can run on a Texas Instruments digital signal processor IC. First, you will create a model of the system in Matlab/Simulink, then you will use tools to compile the model, download it, and run it on the DSK7613 board, which contains a TI TMS320C6713 DSP IC.

Software tools used:

Matlab (r2009a)

Simulink

Code Composer Studio v3.3 (from TI)

Code Composer Studio (CCS) includes a compiler for the C6713 DSP. Matlab/Simulink starts CCS when you tell it to generate code for the model, and CCS will automatically compile and download the code to the DSK6713 and start it running on the DSP.

Create the Simulink Model

1. Log in to the PC and bring up Matlab r2009a.

2. Change the working directory to

M:\matlab\work\

3. Bring up the Simulink library browser by typing simulink at the Matlab prompt.

4. Start a new model by clicking on the blank document icon in the Simulink library browser.

5. Save the model using the File/Save As pulldown. You can name it audio delay or another descriptive name. Save it in the M:/matlab/work/ directory on your network drive.

6. In the Simulink library browser, open the Target Support Package TC6 library group and select C6000 Target Preferences

7. From the C6000 Target Preferences library, drag C6713DSK to your empty model.

8. A window will pop up. Click Yes in the pop-up, to initialize the model configuration parameters to the default values.

10. From the C6713 DSK Board Support library, drag an ADC block and a DAC block into the model you’re building.

11. Go to the Signal Processing Blockset library group and select Signal Operations.

12. From the Signal Operations library, drag the Delay block into the model.

13. Open the Simulink library group and select Commonly Used Blocks.

14. From the Commonly Used Blocks library, drag the Sum block into the model.

Now you should have five blocks in your model. You need to connect them and set some parameters in some of the blocks. The C6713DSK block (Target Preferences) doesn’t have any connections, it just defines the settings for the DSP board.

15. Put the ADC, Delay, Sum, and DAC blocks in a line from left to right. This order is the signal flow for the model.

16. Double-click on the ADC block.

17. Change the ADC source from Line In to Mic In.

18. Note the sampling rate (8 KHz) and the word length (16-bit), then click OK on the ADC Source Block Parameters. You’ll see the block in your model now says Mic In.

19. Highlight the ADC block by clicking once on it.

20. Hold the Ctrl key down and click on the Delay block. You should see an arrow connect the two blocks.

21. Hold the Ctrl key down and click on the Sum block, then click on the DAC block. There should be arrows connecting all the blocks.

22. Right-click on the second input to the Sum block, hold the mouse button down, and move the mouse to create a line about an inch long. The line is dashed red because it isn’t connected to anything.

23. Release the mouse button, then click again at the unattached end of the arrow, hold the button down, then drag over to the arrow between the ADC and the delay and release the mouse button. Now there is a path from the ADC to the summing block. (If you have to delete a line, highlight it by clicking on it, then use the delete key.)

24. Double-click on the delay block. Set the delay to 2048 samples. Leave all other settings alone and click OK. You’ll see the notation on the block change to z 2048 .

25. You can double-click on the DAC block to see that the settings for sample rate and word length match the ADC block. Don’t change the settings.

26. Save the model.

Connect the Hardware

You’ll need the following hardware in order to continue with the lab:

DSK6713 DSP board

microphone

speakers

USB cable to connect the PC to the DSK6713

The DSK6713 has to be powered and connected to the PC in order to invoke Code Composer Studio.

Use caution when handling the DSP board; the ICs can easily be damaged by static charge that you cannot sense. Handle the board as little as possible, and don’t let anything fall on or brush against the board.

Once the USB cable is connected between the PC and the DSK6713, if you have to touch the board, you can ground yourself on the metal shroud on the USB connector on the board. Hold the board by the metal shroud while connecting the microphone and speakers to the DSK6713. If that isn’t sufficient, try to touch just the edge of the board.

The functions of the four jacks are silkscreened onto the board, but the font is small, so look carefully near the jacks to see which jack has which function.

27. Orient the board so that the power connection and USB connection are toward the back of the bench.

28. Connect the USB cable between the PC and the DSK6713.

29. Connect the microphone to the MIC IN jack.

30. Connect the speakers to the LINE OUT jack. Make sure the speakers are powered, but set the volume low.

31. Plug in the power supply and connect the power cable to the DSK6713.

32. Keep the microphone away from the speakers, to avoid acoustic feedback once the program is running on the DSK7613.

Compile, Link, and Run the Model for the DSP Hardware

Now you should be ready to run the model.

33. In the Simulink window, click on the Simulation pulldown, and select Configuration Parameters.

(a)

On the left side of the Configuration Parameters window, there is a “Select” browser; use it to go to the Solver section and set the Stop time to “inf” (infinite).

(b)

Use the browser to go to the Real-Time Workshop section and select Embed- ded IDE Link CC. Under Project Options, make sure that the System stack size (MAUs) is set to 8192.

34. Use the browser pane to go to the Real-Time Workshop section and find the Generate code button on the right side of the right-hand pane. Click on it.

35. If a window pops up notifying you of unapplied changes, accept the changes.

36. Look in the main Matlab Command Window. You should see a message like

### Connecting to Code Composer Studio(tm)

37. It will be at least two full minutes before anything appears to happen in the Matlab command window; be patient. (Note that once CCS is running and authenticated, future use will be much faster.) Check for the animated CCS icon in the system tray while you wait. Eventually you should see these messages (among others) in Matlab:

TLC

code

generation

complete.

Building

project

Download

done.

then CCS will start up.

38. Bring the CCS window to the front so you can see messages there.

39. If you get an error, you might have to power-cycle the DSK board and close CCS, then click on the Generate code button to re-start the process. You should see a window pop up briefly saying that it is downloading the compiled program to the DSK6713.

40. Once you see “**starting the model**” in the CCS message pane, and a green light and the message “RUNNING” in the border at the lower left of the CCS window, you should be able to try the model. In the command window you should see “Download done”. Snap your fingers or tap the microphone and listen for the output.

Q1: About how long is the delay?

Q2: How long would you expect it to be given the sample rate and the delay block parameter settings?

41. This very small project required a lot of code. In CCS, you can see the C code that the system has generated from the Simulink model. You can also see the disassembled code that runs on the DSP chip.

(a)

In the main CCS area, you’l see a window labeled Disassembly (followed by an identifier). Make the window bigger and take a look at the disassembled machine code.

(b)

Look at the file browser (the left pane) in CCS.

(c)

Expand the Projects selection, then the audio delay.pjt selection, then Source.

(d)

Double-click on audio delay.c and an editor window will open so you can look through it.

(e)

Take a look at some of the other files made available in the Source directory.

(f)

Look at some of the other selections under audio delay.pjt, for example in the Include directory.

42. To show that the code is running on the DSP and not on the PC, close CCS and Matlab. The program will still be running on the DSP board. Test the board using the microphone and speakers. (Note that the program will be lost once the power is removed from the board.)

Q3: Describe in a few lines, the purpose of Code Composer Studio.

4 Building the audio reveberation model

1. Open Simulink.

2. Create a new model by selecting File New Model from the Simulink menu bar.

3. Use Simulink blocks to create the following model.

4. The Integer Delay block is in Discrete library of the Simulink blockset. The Gain block is in the Commonly Used library of the simulink blockset. The Line In and Line Out block for the C6713 DSK are in the C6713 Board Support library of the Embedded Target for TIC6000 blockset.

5. From the TI C6000 Target Preferences block library, add the C6713DSK target pref- erences block. This block is not connected to any other block in the model.

6. Click the C6713 DSK ADC block to select it. Select Block Parameters from the Simulink Edit menu. Set the following parameters for the block:

Select the +20 dB mic gain boost check box

Figure 4: Real time reveberation filter • For Output data type, select Double from the

Figure 4: Real time reveberation filter

For Output data type, select Double from the list

Set Scaling to Normalize

Set Source gain to 0.0

Enter 64 for Samples per frame

7.

For ADC source, select Mic In.

8.

Click OK to close the Block Parameters: ADC dialog.

9.

Now set the options for the C6713 DSK DAC block.

Set Scaling to Normalize

For DAC attenuation, enter 0.0

Set Overflow mode to Saturate.

10.

Click OK to close the dialog.

11.

Open the Configuration Parameters dialog, select Solver on the Select tree, and set the appropriate options on the Solver pane for your model and for the target.

Under Solver options, select the fixed-step and discrete settings from the lists.

Set the Fixed step size to auto and select Single Tasking for the Tasking mode.

12.

Build and run the model (using the Incremental Build button on the model toolbar).

13.

Speak into the microphone connected to the board. The model should generate a reverberation effect out of the speakers, delaying and echoing the words you speak into the mike.

The first version of this Lab was by Paul Beliveau. Revised 3/29/2012 by GM.