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.

[FAQ] TAS2563: Adjusting Digital Volume Control using I2C

Part Number: TAS2563

What is the I2C address to change the digital volume control for playback?

  • The I2C addresses for digital volume control is called DVC_PCM. Since digital control is 32 bits, DVC_PCM takes 4 registers(address 0x0C - 0x0F) in total with the first one located in Book 0, Page 2, in register 0x0C. 
  • DVC_Slew is the register that controls the rate at which volume changes. In similar format, the first register is located in Book 0, Page 2, in register 0x10.
    • DVC_Slew =  round(exp(-1/(0.2*fs*time in seconds))*2^31)

How can I adjust the volume?

  • To adjust the volume, first you need to convert the volume in dB to decimal.
    • Ratio(decimal)  = round(10^(gain/20)  * 2^30)
  • Then convert the Ratio in decimal to HEX
    • For example: -3dB -> 2d 4e fb d6

  • Write the HEX  (32 bits) to DVC_PCM1 - DVC_PCM4
    • Example I2C command:
    • w 98 00 00
      w 98 7f 00
      w 98 00 02
      w 98 0c 2d 4e fb d6