Part Number: TAS5782M
Hi there!
I would like to find more detailed application information for controling volume on TAS5782 applications.
So far, I have found that there are two registers controlling the volume:
1) 0x3D in book 0x7F
2) 0x44 in book 0x8C, page 0x1E
What would be the correct way of using these registers in order to achieve user-control over sound, as well as factory preset for different setups?
So far I am using 0x3D to give user a live control over loudness, and 0x44 as factory preset, however each time I want to change loudness in 0x3D I have to MUTE amplifier trough the hardware MUTE pin, otherwise it does not return i2c acknowledge for command. Is this intended to be so?
void TAS5782_SetVolume(uint32_t volume, uint8_t addr)
{
AMP_MUTE_ENABLE;
//return to page 0
TAS_tx_buff[0]=0x00;
TAS_tx_buff[1]=0x00;
I2C_Transmit_pack(TAS5782_1_I2C_ADDR, TAS_tx_buff, 2, pI2C);
//select book 0
TAS_tx_buff[0]=0x7f;
TAS_tx_buff[1]=0x00;
I2C_Transmit_pack(TAS5782_1_I2C_ADDR, TAS_tx_buff, 2, pI2C);
//select register
TAS_tx_buff[0]=0x3D;
//transmit 4 bytes:
TAS_tx_buff[1]=(volume)&0xFF;
TAS_tx_buff[2]=(volume)&0xFF;
I2C_Transmit_pack(TAS5782_1_I2C_ADDR, TAS_tx_buff, 3, pI2C);
AMP_MUTE_DISABLE;
}
Any reccomendations?
Thanks,
BR,
Tim
