how can i set the sample rate of the codecs to 32kHz?
I use the codec u2(ak4556). The ak4584 generates the LRCLK for the other codecs. What do I have to change?
I can´t find this information in the datasheet of the ak4584.
I do not have a soundbite, so I can only offer some general help with the codec. The codec can be configured for 32 kHz in a number of ways. I would bet that the soundbite supports one of these two.
One way is to select 48 kHz, and then simply run the clock slower by programming the ESAI. (I'm assuming the AK4584's clock MCLK is generated by the ESAI). The frequency of MCLK can be changed by modifying the TPMn bits in the TCCR register and/or the RPMn bits in the RCCR register.
But another way is to change the MCLK to LRCK ratio. When you are setup for 48 kHz sample rate, the MCLK/LRCK ratio is likely to be 256fs or 512fs. If you change that ratio to 368fs or 768fs (respectively) you will then have a 32 kHz sample rate. This can be done be changing the slot-length in the TCR or RCR (or both, depending on your application) from 32-bits to 24-bits.
Note that 192fs, 384fs and 768fs modes are only available when the ak4556 is in slave mode. I am assuming that the soundbite allows the AK4556 to be configured for slave mode. (otherwise, it's pretty useless).
Thank you for your help.
It works like this:
move #>$3a,x1 ; set clock mode control
jsr TX_AK4584 ; 0a = 96 kHz, 2a = 48 kHz, 1a=64, 3a=32
sorry to say, 32kHz sample rate seems not to be possible using the Symphony SoundBite board.
if you use the assembly template (SOUNDBITE_ASSY_TMPL) example from here
you can find in the file sb_codecs.asm the following lines:
move #>9,x0 ; AK4584 Clock Mode Control
move #>$4a,x1 ; Sampling rate: 4a = 96 kHz, 2a = 48 kHz, 1a = 64 kHz
Since that it seems to be only possible to select 48kHz,62kHz or 96kHz.