# Delay

Function: Implement a .22 second delay of voice/music input on C54x DSKPlus

Location: ftp://ftp.ti.com/pub/tms320bbs/c5xxdskfiles/Delay.exe
By: Patrick Rowland

> #### Delay Application Code: dskpdly.exe

> Starting off:
> The file "dskpdly.exe" can be downloaded to provide a demonstration of voice/music delay implemented on the C54x DSK Plus. Save dskpdly.exe into it’s own directory. Then run the executable allowing it to explode into the following list of files:

            Delay.asm       - main assembly program
            Delay.obj       - object file for main assembly program
            Delay.lst       - list file
            ac01init.asm    - initializes the analog interface circuit
            Vectors.asm     - initializes the C542 vector table
            readme.txt      - high level program information

> Delay.obj can be loaded onto the DSK and run to achieve a .22s delay in voice/music introduced through the input jack RCA jack. The output can be heard with the delay on the output mini-jack. (see TMS320C54x DSKPlus User’s Guide page 1-4 for jack location)

> Theory:
> With an input of voice/music the output of this program is the input delayed .22s. The relationship that is implemented can be understood through the equation :

### y(n) = x(n-d)

> where x is the input, y is the output, and d represents the size of the delay buffer. The size of the delay provided is directly dependent on another equation:

### delay = CBS / Fs

> where CBS is the circular buffer size and Fs is the sampling frequency. For this particular code, a .22s delay is achieved with:

### delay = CBS / Fs = 2048/9259 = 0.22 s

> Hints:
> To begin manipulating this code, look to the line:

>     File: "Delay.asm"
>             length      .set     0800h

> By altering this number (0800 hex = 2048 decimal), one can begin to see different delay lengths. For example, if a new value of 0100h is entered, the CBS value from the delay equation above is changed to 256 from 2048. When this assemble code is compiled to obtain a new object file to run on the DSK, one can observe a new delay of approximately .03 s

> For more information, read the comments in the code and the Readme file produced by the exploded executable file.