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 :
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:
where CBS is the circular buffer size and Fs is the sampling frequency. For this particular code, a .22s delay is achieved with:
Hints:
To begin manipulating this code, look to the line:File: "Delay.asm" length .set 0800hBy 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.