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.

Issue with McASP0 - of DM6467 Processor

Hi,

           We are facing a very strange problem with McASP0 port of DM6467 Processor . But before going into detail of the problem , let me give a brief of the system

  • ALL the four serializers of McASP0 are used as Transmitter , where each serializer plays out stereo data

  • The Bit clock for the serializer is 64*(sampling frequency) , which means 32 bits left channel and 32 bits right channel. Out of which we mask the lower 16 bits , since the audio codecs generate only 16bits per channel ( left or right).

  • So the McASP0 transmitter slot size is set to 32 bits and no of slots is 2 ( for I2S mode)

  • The serializers are pushing MSB bit first . 

The system runs perfectly when audio under-run is not happening. When Under-run happens we stop the McASP and when we resume playout we restart McASP.  This is where the problem is happening. We see one wrong sample going out in the all the serializer when we restart the McASP to transfer , but our actual sample start after this wrong sample . Which means we are sending one additional sample not intended.

To add to my worry , this problem only occurs when the MSB bit is set to 1 for left audio channel data on any of the serializer ( we are assuming start of the frame sync is active low and left channel data is pushed first) and not on the right channel data. For example :- if my Left channel data is say 0x7FFF  then no issue  , but is left channel data is 0x8000 then we see a wrong sample .

Any idea why this is happening ?

Regards,

Shantanu Bhaduri