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.