I2S codec...

Status
Not open for further replies.
Hi!
I'm trying to use I2S to interface an ARM micro to a PCM3060 codec using I2S. I'm just feeding it a ramp function using my code.

The trouble is that nothing comes out of the codec!

I don't have a logic analyser, so the best I can do is measure the clocks using my analog scope. There seems to be data on the SD line.

I'm using 2 x 16bit channels at 44100 with the MCU as master.

Here are my measured clocks:

MCK: 11.63 MHz
CK: 2.86 MHz (BCK)
WS: 45.45 kHz

So CK/WS = 62.9 and MCK/WS = 255.9

Do these clocks seem ok enough for the format? I'm trying to figure out if my codec's broken. It'll take me a few days to get my hands on a new one...I'd like to make sure it's not just me being dumb first! 😀
 
Last edited:
Hi sjalloq, indeed it was! Thanks for that. I fixed that value, so now the clocks are running at:

MCK: 11.63 MHz
CK: 1.46 MHz (BCK)
WS: 45.45 kHz

Still nothing from the codec. Just noticed offset of 1v on the + output and 1.5v on the - output.

I think it might be time to swap the codec after all....
 
Doh! Fixed the problem. Set the codec to hardware control to eliminate config options, then discovered i was sending 16 bit frames.

Set up microcontroller to send 24 bits in 32 bit frames and all is working! Thanks sjalloq
 
Status
Not open for further replies.