ΣSigmaStudio Ask AI Русский Log in

ADAU1761 I2S signal configuration

SigmaDSP & SigmaStudio jaguarondi Mar 12, 2010 00:00 3 replies Original on forum ↗
Subscribe
jaguarondi Question
Mar 12, 2010 00:00

Hi,

I'm having difficulties to get the 1761 issuing a correct I2S data output. What I get now is the data from the ADC on 15 bits instead of 16 like configured. Without signal, inputs internally polarized at VDD/2, I get the following values from the I2S data out: 0 -> 0x0000, 1->0x0001, -1->0x7FFF. If is connect the input to gnd, I get 0x3FFF and to VDD, I get 0x4000. If I shift everything 1 bit to the left, the codec works perfectly.

Now only the ADC has that problem, the DAC works correctly, minimum output voltage corresponds to 0x8000 I2S input data and maximum to 0x7FFF.

So what I currently do is read the I2S data, shift one bit left, send it back to the codec and I get the same signal at the output and input pins.

Here's what I checked already:

- values have been confirmed with a logic analyzer, so it's not a MCU configuration issue

- I bypass the DSP, I followed the app note to use the 1761 like a 1361 configuring all registers like described

- R16->LRDEL is set at 00 to get 1 bit clock delay on data, which is correct on the logic analyzer, the LSB affected by the noise can correctly be identified just right after the LRCLK signal change

- R16-> BPF is set to 1 which is undefined on the datasheet but from these forums, it seems to be the 32 bits per LRCLK setting

- As a test, I connected the output of mixer 1 (record path) to mixer 3 (playback mixer) and could verify that the signal I get on the output lines is correct and identical to the input signal, no shift or whatever on the signal so this means that the signal is correct at the ADC input

- Configuration: MCLK is 12.5MHz, R0=0x01 (no PLL, 256x oversampling), R15=0, R16=0x40 (stereo 16 bits I2S), R17=R18=0 (48KHz), R19=0x13 (both ADC on), R20=R21=0 (no attenuation), , R65=0x7F, R58=R59=0x01, R66=0x03 (all clocks enabled). Except the mixers configurations, everything else is default.

- Here I am, any idea what could be wrong?

By the way, AN-1007 says to set R65 to 0xEF which seems to be wrong and should probably be 0x7F as the bit 7 is reserved in that register. Anyway, both values do the same for me.

Thank you,

David

Audio Signal Processors

SigmaDSP Audio Processors

adau1761

ADIApproved Reply
Mar 12, 2010 00:00

David,

It's likely that your bit shift issue is caused by setting bits BPF to 001, which is a reserved (unsupported) mode. The previous version of the ADAU1361 datasheet did show this setting as 32 bits/frame, but this is not a supported mode and has been corrected in the up-to-date datasheet (Rev A). You should not use this setting on the ADAU1361.

What is the clock frequency of your LRCLK and BCLK signals? Can you set them to support either 48 or 64 bits/frame on the serial port?

jaguarondi Reply
Mar 12, 2010 00:00

I just changed to 64 bits/frame and it indeed fixed the bit shift. Thank you very much.

ADIApproved Reply
Mar 12, 2010 00:00

That's good to hear. I'm glad that we were able to quickly resolve this. Good luck with the rest of your development, and please feel free to post any other questions you might have to our community here.