請問一下, TAS5805 i2c write register.
請問TAS5805需在什情況下, i2c data寫入才沒問題.
Ex: { 0x29, 0x7C }, // For check => 開機要等12s後, 寫入值才會進去.
一開始開機, 在切完Play mode後寫, 值寫不進去. I2C寫入API無Error.
請問是否有Read only的功能? 或是須在甚麼mode下寫入值才有效?
static TAS5805M_REG TAS5805m_InitTbl[] =
{
// -----------------------------------------------------------------------------
// Initialization Sequence
// -----------------------------------------------------------------------------
//RESET
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x03, 0x02 }, //Hi-Z mode
{ 0x01, 0x11 }, //Reset modules & Reset control port registers
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x03, 0x02 },
{ CFG_META_DELAY, 5 },
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x03, 0x00 }, // Sleep mode
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x46, 0x11 },
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x03, 0x02 }, //Hi-Z mode
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x78, 0x80 }, //ANALOG_FAULT_CLEAR
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x61, 0x0b }, //ADR as FAULTZ output
{ 0x60, 0x01 }, //ADR is output
{ 0x7d, 0x11 },
{ 0x7e, 0xff },
{ 0x00, 0x01 },
{ 0x51, 0x05 },
{ 0x00, 0x00 },
{ 0x02, 0x00 },
{ 0x53, 0x00 }, //Class-D bandwidth control.80kHz;
{ 0x54, 0x00 }, //Analog Gain Control 0db
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x00, 0x00 },
{ 0x00, 0x00 },
//Tuning coeffs
//Register Tuning
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x30, 0x00 }, //SDOUT is the DSP output (post-processing)
{ 0x4c, 0x30 },
{ 0x03, 0x03 }, //Play mode
{ 0x00, 0x00 },
{ 0x7f, 0x00 },
{ 0x78, 0x80 }, //ANALOG_FAULT_CLEAR
{ 0x29, 0x7C }, // For check
};