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.

I have to decrease delay time, help me~

Other Parts Discussed in Thread: PCM4104, PCM4204

I purchased PADK C6727 because it is run with 192kHz and i think it's AD/DA time delay would be faster than C6713DSK..
But, When i tested analogloopback, with 192kHz the time delay between AD/DA was about 750usec.

(C6713 96kHz : 200usec, and the delay time was increased with lower sampling rate..)
Isn't it too big?
How can i decrease the time delay with this board ? 

in the analog loopback example(Lyrtech supplies), I changed

#define FRAME_SIZE  80 to #define FRAME_SIZE  1

to decrease the delay and it was 750usec..

  • the suggestion above was just to increase sampling rate, i think. but the result i showed you is the maximum sampling rate, 192k sampling..

    I think I have to decrease the buffer size, but when I reduce the NUM_CHANNEL,STEREO,PINGPONG number, it fails to produce output.

    I succeeded in decreasing the FRAME_SIZE 80 to 1, but others are not in my ability..

    I don't know how to change that.. Could you tell me?

    //
    //  Audio Buffers
    //
    #define FRAME_SIZE  1
    #define NUM_CHANNEL 4
    #define STEREO      2
    #define PINGPONG    2
    int dmaxDacBuffer[PINGPONG][STEREO][NUM_CHANNEL][FRAME_SIZE];
    int dmaxAdcBuffer[PINGPONG][STEREO][NUM_CHANNEL][FRAME_SIZE];


        // Source Index1 Value
        adcGpxfrParameterSetup.srcIndex1 = (Int16)-(NUM_CHANNEL-1);

        // Destination Index1 Value
        adcGpxfrParameterSetup.dstIndex1 = (Int16)FRAME_SIZE;

        // Source Index2 Value
        adcGpxfrParameterSetup.srcIndex2 = (Int16)-(NUM_CHANNEL-1);

        // Destination Index2 Value
        adcGpxfrParameterSetup.dstIndex2 = (Int16)-( (STEREO*NUM_CHANNEL-1)*FRAME_SIZE - 1),

        // Dimension 0 Count Value
        adcGpxfrParameterSetup.count0 = (Uint16)NUM_CHANNEL;

        // Dimension 1 Count Value
        adcGpxfrParameterSetup.count1 = (Uint16)STEREO;

        // Dimension 2 Count Value
        adcGpxfrParameterSetup.count2 = (Uint16)FRAME_SIZE;  

  • I pointed to that other thread because I'm not very familiar with the PADK kit.  I think what they concluded is that the delay was inherent in the analog hardware.  For example, if you look at the PCM4204 ADC datasheet, it says that the group delay is 37/fs.  If you choose fs = 192kHz, the delay is 37 / 192kHz = 192.7us.  Similarly, the PCM4104 DAC delay is 27/fs.  At fs = 192kHz, the delay is 140.6us.  So 333us of delay is coming from the DAC / ADC hardware itself.

    I would keep the PINGPONG value at 2 to prevent overruns.  I would assume that the FRAME_SIZE, STEREO, and NUM_CHANNEL values will need to match the ADC/DAC settings.

  • thank you a lot for your help ..

    in the 4204 datasheet, there is

    Quad Rate Sampling Mode.. and it's group delay is 9.5/fS..

    anyway, i don't know Quad Rate Sampling Mode.

    1.  is it possible for me to use Quad Rate Sampling Mode for simple loopback code?

    2.  and, how can i reduce number of NUM_CHANNEL values?

  • Hayeong Oh said:

    1.  is it possible for me to use Quad Rate Sampling Mode for simple loopback code?

    2.  and, how can i reduce number of NUM_CHANNEL values?

    I'm not familiar with what the Quad Rate Sampling Mode does.  I would recommend asking the audio DAC/ADC forum: http://e2e.ti.com/support/data_converters/audio_converters/default.aspx

    Looking at the code again, I think you can just change the NUM_CHANNEL value.