This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM1865: Accessing registers

Part Number: PCM1865

Hi Team,

A customer is trying to access registers 40 and 117 on this device.

On datasheet, Register 40 has reserved bits, but the description says "Reserved. Do not access.", and register 117 is read only and reserved bits description is "Reserved. Always write 0b."

The customer would like to read and write on these registers for their application. Can you please help? Below is the complete customer inquiry:

"I'm trying to make the PCM1865 work. Datasheets lacks a lot of information about how to do things or has wrong information (like figure 50: write and read operation are the same).

Register 40 controls the PLL so i have to "access" it. I need to write to it and maybe read from it. But the question is not about register 40 particulary: registers 41, 42, 43, 51 to 54 (among others) algo have the same descriptio. Then there are same registers that say to write a specific value, like register 96......and then there are some like 97, 114, 115, 116 or 117 that say to write a value but the resister itself is read only, which makes no sense (or maybe the register is "R/W" but the "/W" got erased).

The next thing is that I got told to read a register like this:
* Send slave address from master with write bit
* slave should ACK
* Send register address to read to slave (0x12)
* Repeated/continued start
* Send slave address with read bit
* Slave should ACK
* Slave will then send back data
* I2C Stop

But how do I write to register 0x00 to change the page?"

Thank you.

Regards,

Marvin

  • Hi Marvin,

    This sounds like this question from a few days ago, which I responded to. Is this your customer? :https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1121696/pcm1865-how-to-read-and-write-registers-over-a-i2c-interface

    I'll try to rephrase. If certain bits are labelled "Do not access" you are still allowed to write to the register. You just have to ensure that the reserved bits are not altered from their reset/default values. This is outlined more clearly with registers that say "Always write bXXX" but they are functionally the same. I believe that registers that are Read only are not prevented from being written to, which is why these have the extra distinction. I know this is confusing so I'll raise this with our systems team, as well as the ambiguous figure 50. Refer to this app note instead for how to perform a write operation: slva704.pdf

    To change page you write the desired page number to register 0x00 i.e. w 0x90 0x00 0x03 to change to page 3.

    Best regards,

    Jeff