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.

DM6467 McASP Related

Other Parts Discussed in Thread: CDCE949

Hi

I have to design an audio system where DM6467 McASP is the Master (Providing frame sync and data)

to a passive, oversampled DAC(CS4353, Cirrus Logic). The serial clock is provided by CDCE949.

McASP frame sync (for Tx) depends on

1) Serial Clock (SCLK)

2) No of slots/Frame

3) Slot size.

2 & 3 can be programmed thru McASP registers, and serial clock is fixed.

Currently SCLK =256KHz, no of slots=2 (I2S), slot size= 32 bits.

In this case frame Sync is 4 KHz. Surprisingly, the DAC gives output for a stream originally

sampled at 8 KHz, 16 bit/Sample. When I increase the frame sync to 8 KHz, by making slot size=16,

the play back is not normal (plays at double speed).

Why is it so?

I get some noise with the audio , when the frame sync is at 4 KHz.

How, in an audio system based on DM6467 , similar to the above ,

can support streams with multiple sampling rates? Is there any problem with the DAC I am using?

How DM6467-AIC33 combination is able support various sample rates? Pls help

Regards

JK

  • By SCLK, I am assuming you meant ACLKX.

    Are you doing the experiment under Linux or in CCS?

    I don't understand what you meant, please explain:

    jayakrishnan said:

    In this case frame Sync is 4 KHz. Surprisingly, the DAC gives output for a stream originally

    sampled at 8 KHz, 16 bit/Sample. When I increase the frame sync to 8 KHz, by making slot size=16,

    the play back is not normal (plays at double speed).

    You should use an O-scope to see whether the McASP is outputing what you want it to do.

    I am not familiar with the particular DAC you are using. If you want, you can try the DAC we have on our EVM.

     

    Also, I'd appreciate it if you can explain this:

    jayakrishnan said:

    How, in an audio system based on DM6467 , similar to the above ,

    can support streams with multiple sampling rates? Is there any problem with the DAC I am using?

    How DM6467-AIC33 combination is able support various sample rates?

     

  • By  SCLK  I mean, ACLKX. It is an input pin.

    I work in Linux.

    In the McASP, FS  generated = SCLK/((Slot size) * No of Slots)

    Ex: When SCLK = 256KHz., Slot size = 32, no of  slots= 2

    Therefore FS=4 KHz. 

    I wanted  an 8 KHz  clk as FS  but  wanted  to keep SCLK, slotsize  and no of slots  as  above.

    Is this  possible?

     

     

  • Hi,

    I don't think it is possible. 8khz*2slot*32bit=512khz bit clock, so that 's the min you need. There is no clock multiplier inside McASP, so 256 is not good enough

  • Hi  Paul,

    Thank you  very much.

    For  another board, which uses AIC33 , I have  no problem when the  slot size is

    configured  as  32 bit.,( no padding ,I2S)(Here FS  and  serial clk is  provided by AIC33)

    (SCLK=256KHz, FS=8KHz, for a stream originally sampled at 8KHz  and sample size=16 bit)

    When I configure the  slot size to 16 bit, (no padding, I2S) the  audio plays  at  double  speed.

     

    Why is it  like that?  How  can I  play  audio  files  with  different  sample  sizes (assuming same sample rate)?

     

     

  • Hello,

    Please try board-dm646x-evm.c, davinci-mcasp.c, and davinci-evm.c. You should be able to set it to 16 bit in one of these places.

     

  • Hi  Paul ,

    My  question  was not related  to  how  to set the slot size of McASP ports.

    Sorry, if  I  confused  you. My problem is , if  I vary the  slot size, the

    frame  sync (AFSX) also  varies. And  since  this  frame sync  drives  my 

    DAC, it  causes  rendering  problems. In my  system, I have  to accept  streams

    with  varying sample rates (8, 16 and 48 KHz)and sample sizes(8, 16 and 24 bit)

    and  produce  analog outputs. In such  a  scenario, is  it possible  to  use davinci

    as  a  source  of  frame sync   to DAC?  Or  otherwise,  do  I have  to  get the 

    frame sync from some  other  source?

     

  • Actually the frame sync and clock source can be modified at the same place I mentioned to you (I've done similar things myself). I'd suggest you write up several concise and simple questions to our Linux forum if you need more suggestions.