This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

McAsp echo sample, audio format

Other Parts Discussed in Thread: OMAP-L138

Hi,

On OMAP-L138/C6748 DSP Experimenter Kit, I am running the following sample code:

CSL McAsp echo (c:\ti\quickStartOMAPL1x_rCSL\OMAPL1x\rCSL_examples\evmOMAPL138\DSP_examples\mcasp\)

in codec.c I have changed the following line to make it work in 16bit mode (the slot size is still 32 bits):

CODEC_FINST(codecPage0Regs.AUDIO_SERIAL_DATA_B, AUDIO_SERIAL_DATA_B_WORDLEN, BIT16);

The demo works as it is but I would need to change it. The simplest manipulation would be to simply divide the audio sample values to change volume.

After collecting the content of the receiving register (RBUF12) I got the following (without any division):

index     type                value                           address

[0]    unsigned int    0x3FF6C000 (Hex)    0x00805000    
[1]    unsigned int    0x007AC000 (Hex)    0x00805004    
[2]    unsigned int    0x3FF78000 (Hex)    0x00805008    
[3]    unsigned int    0x007A4000 (Hex)    0x0080500C    
[4]    unsigned int    0x3FF6C000 (Hex)    0x00805010    
[5]    unsigned int    0x007A0000 (Hex)    0x00805014    
[6]    unsigned int    0x3FF70000 (Hex)    0x00805018    
[7]    unsigned int    0x007A4000 (Hex)    0x0080501C    
[8]    unsigned int    0x3FF6C000 (Hex)    0x00805020    
[9]    unsigned int    0x007A4000 (Hex)    0x00805024    
[10]    unsigned int    0x3FF74000 (Hex)    0x00805028    
[11]    unsigned int    0x007A8000 (Hex)    0x0080502C    
[12]    unsigned int    0x3FF74000 (Hex)    0x00805030    
[13]    unsigned int    0x007A0000 (Hex)    0x00805034    
[14]    unsigned int    0x3FF6C000 (Hex)    0x00805038    
[15]    unsigned int    0x007A0000 (Hex)    0x0080503C    

If I understand it well, based on the ref guide, I have 2 slots (= 2 channels)  in 1 frame. However, the values with odd index look different from the even ones (beginning with 00 vs 3F) and in both cases the 32 bit value has two 0-s on the left and then the 16 bit info seems to come but this format is totally not clear to me. Could anybody please clarify?

Thanks a lot.