SSM2603 right output offset issue

Hi!


I try to use the SSM2603 chip on Zybo Z10 board for a month now and I still have the same problem: if I try to play a sinewave, the output signal look like that: (blue=right, yellow:left)


I triple check everything:

-My i2s input signal is OK, two's complement on 24bit:

(sorry, I only have a small part due to my logic analyzer)


I try to configure it with 2 method:

I2C IP based on this

www.digikey.com/.../viewpage.action


And software from the zynq7 processing system like here:

www.instructables.com/.../


Here is the soft config:



If I try to swap the right/left output channel (by changing the LRSWAP bit on Reg7), the problem stay on the right channel (but my input signal is well swap)

All clock are verified.


I try to read all the register after a config and they are all right configured.

Well there is just a little thing: if I send any register address to read, the SSM send me back the R0 register value each time. I have to ask to read 10 byte for the SSM to send me the first 10 registers value. It's not how I understand the read function of i2c but anyway...


And finally, here is the I2S and I2C transaction:

I2S


I2C


My main concern is that if I do a lot of resets, eventually it's gonna work fine... So I suspect a bad config but I can't figure it out


Thanks for your help