<< Chapter < Page | Chapter >> Page > |
The input/output ports of the DSK 5510 can be used when only two inputs and two outputs are needed. Unfortunately, it is currently impossible to utilize the four I/O ports provided by the daughtercard and the two I/O ports on the DSK at the same time. The advantages of the on-board I/O ports are higher signal-to-noise ratio and the ability to change the sampling rate.
The files necessary to utilize the original I/O ports of the DSP board can be found in the V drive under
V:\ece420\55x\dsp_board
. Much of the functionality is provided in the
core.c
file. The code is similar to that used in
Lab 4 of the
Digital Signal Processing Laboratory (ECE 420 55x) . Most changes will probably be made in the
dspboard_app.c
file. The processBuffer() function is called once every 1024 samples so add changes there. Input will be taken from the 'Line In' port. Both output ports are on by default and are designed to drive different impedances.
As given, the code calls function echoInput() which echoes back input channels 1 and 2 on their respective output channels. The echoInput() function is defined in
asmfunctions.asm
. The input parameters of echoInput() are passed through registers T0, XAR0, and XAR1. To learn more about the passing convention when calling assembly functions from C, please view Section 6.4.1 of the
TMS320C55x Optimizing C/C++ Compiler User’s Guide . The code also stores the input into a block of memory located at memory address 0x28000h. This is done to show the DSP can access addresses greater than 16-bit in length.
The codec is configured with the following lines of code in
core.c
:
/* Codec configuration settings */
DSK5510_AIC23_Config config = {0x0017, // 0 DSK5510_AIC23_LEFTINVOL Left line input channel volume
0x0017, // 1 DSK5510_AIC23_RIGHTINVOL Right line input channel volume0x00d8, // 2 DSK5510_AIC23_LEFTHPVOL Left channel headphone volume
0x00d8, // 3 DSK5510_AIC23_RIGHTHPVOL Right channel headphone volume0x0010, // 4 DSK5510_AIC23_ANAPATH Analog audio path control
0x0000, // 5 DSK5510_AIC23_DIGPATH Digital audio path control0x0000, // 6 DSK5510_AIC23_POWERDOWN Power down control
0x0043, // 7 DSK5510_AIC23_DIGIF Digital audio interface format0x0081, // 8 DSK5510_AIC23_SAMPLERATE Sample rate control
0x0001 // 9 DSK5510_AIC23_DIGACT Digital interface activation};
The default sampling rate is 48kHz but this can be changed quickly by changing the value of one of the registers in
core.c
. For example, a 44.1 kHz sampling rate can be obtained by changing register 8 from 0x0081 to 0x00a3. The rate is actually 44.117 kHz as detailed in the
TLV320AIC23 Data Manual . A couple different sampling rates are available (e.g. 8kHz, 32kHz) and if necessary, the input and output rates can be different.
The default input is the 'Line In' port. Microphones that have a small output signal need to be connected to a port that will boost its signal. The 'Mic In' port will be perfect for this task. To change input to the 'Mic In' port, change register 4 from 0x0010 to 0x0014. The gain can also be adjusted, but keep in mind that there will be clipping if the input signal is too high. Unfortunately, the microphones we have in lab need to be amplified before being connected to the DSP. Please refer to the TLV320AIC23 Data Manual for further instructions.
Notification Switch
Would you like to follow the 'Digital signal processing laboratory (ece 420 55x)' conversation and receive update notifications?