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.

Davinci McASP Sound_read Issue

CPU : Davinci DM6467

OS : Linux 2.6.38

On our current product we are trying to read 8, 32bit streams/channels on the McASP.
The streams are interleaved and hence after reading a bloack of data using Sound_read call we separate the streams in software.

What we observe is that the amount of data received is more than the calculated data size that needs to come for the configured
sample rate.

This causes problems when we try to compare the received data with a reference data for fingerprint matching.

What could be the possible cause for this since we have observed that there is no clock skew (using oscilloscope) and
also that the davinci-pcm isr runs in correct time as is calculated for the sample rate configured.

 

  • Can give more detail on the difference in the data size? Whats the sampling rate and how many bytes is EDMA transferring for each transaction?

    Regards,

    Vaibhav

  • Hi Vaibhav,

    We are getting about  1500KB data extra for a 10 minutes duration.

    The sampling rate is 48000 samples/sec.

    Sample size = 32 bits

    Total no. of channels is 8.

    The EDMA transfers 8192 bytes in one transaction ie the period size is 8192 bytes

    Thanks and Regards

    Mohammed Anwar

  • Hello Anwar,

    Could you proceed further on this? We will need exact number of bytes not approx as you have mentioned on e2e. Can you please confirm it is 80 extra samples per second per channel?

     

    I suspect a clock configuration issue/mismatch. Is MCASP internally clocked or external input is given? The external ADC may be sending in additional pulses due to this mismatch rendering in more samples. Can you please look into this. Also share your clocking and block diagram...

    Best Regards

    Feroz

  • Hi Feroz,

    We are getting approximately 560 samples extra per second.
    Although this is not the exact number but on average this is what has been measured

    as mentioned earlier the sampling rate is 48000 samples per second with 8 channels and 32bit sample size.

    we tried the incoming bit clock but it seems to be stable.

    I their any setting that we can configure in the McASP which would give an interrupt if the incoming bit clock or frame clock varies?

    Thanks and Regards
    Mohammed Anwar