PCM3168A: MRST bit doest not return to 1

Part Number: PCM3168A

Tool/software:

I am developing with the PCM3168A codec, when I set the MRST bit to 0, this bit is not set to 1 automatically.

My first question is, if these bits cannot be set to 1 automatically, can the codec work? 
Previously I force an external reset, but it is not solved. I want to know what can be the cause for this behavior. power supply are ok, and clocks are ok 

Clock frequencies:
SCKI: 12288000 HZ
LRCKAD/DA: 16 Hhz
BCKAD/DA: 1 Mhz
the codec is working as slave.
Avery clock is always present and are generated by a FPGA.
I want the codec to work as I2S format, I can see all registers are OK.
All clock signals  and data are ok in a oscilloscope.
I suspect the codec is not working, that is, it is dead. Because when I put MRST bit to 0 value the value 1 is not set automatically, and I think that is the reason the codec does not work.
Thanks

  • Hi Eduardo,

    What steps are you using to write and read to the MRST bit? Do you notice the other registers returning to default value even if MRST is still 1?

    Your post says that the data is okay but the codec does not work? I am confused by this. Can you clarify if the recording and playback operation is working or not?

    Thank you,

    Jeff McPherson

  • Hi Jeff,

    Codec does not work, not recording nor playback. I checked clocks and data signals with a oscilloscope and I can see they are ok. I checked every register and I can see every register is ok. Then I cannot know what to do. I see in datasheet MRST and SRST are bits for resetting the codec. The Linux driver sets that bits to 0 at a time and after a time it sets that bits to 1 at a time. So I thought I can see if codec is alive checking if that bits return to 1 value automatically. First I try setting to 0 value the two bits at a time, I can see they cannot return to value 1. Then I try checking first if MRST returns to 1 automatically and then SRST, but I was unsuccessful. Then Then I try checking first if SRST returns to 1 automatically and then MRST, but I was unsuccessful. The time I am waiting to check if that bits returns to value 1 is 1 second.

    I thought that the codec needs a hardware reset. I can see in datasheet I can set RST signal for more than 100ns. Then I set RST for 200ns, but I was unsuccessful.

    Thank you.

  • Hi Eduardo,

    Understood. Are there any issues with power supplies? They are all the correct voltage according to the datasheet?

    Also is this issue unique to a single device or does it happen across multiple devices.

    Best regards,
    Jeff McPherson