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
And software from the zynq7 processing system like here:
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:
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