TI中文支持网
TI专业的中文技术问题搜集分享网站

[TAS5805] I2C data value寫不進

請問一下, TAS5805 i2c write register.

請問TAS5805需在什情況下, i2c data寫入才沒問題.

Ex: { 0x29, 0x7C }, // For check => 開機要等12s後, 寫入值才會進去.

一開始開機, 在切完Play mode後寫, 值寫不進去. I2C寫入API無Error.

請問是否有Read only的功能? 或是須在甚麼mode下寫入值才有效?

Initial_code.log

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
};
Kailyn Chen:

您好上电是否按照这个上电时序进行的?
7.5.3.1 Startup Procedures
1. Configure ADR/ FAULT pin with proper settings for I2C device address.
2. Bring up power supplies (it does not matter if PVDD or DVDD comes up first).
3. Once power supplies are stable, bring up PDN to High and wait 5ms at least, then start SCLK, LRCLK.
4. Once I2S clocks are stable, set the device into HiZ state and enable DSP via the I2C control port.
5. Wait 5ms at least. Then initialize the DSP Coefficient, then set the device to Play state.
6. The device is now in normal operation.

,

yaolin chang:

3. Once power supplies are stable, bring up PDN to High and wait 5ms at least, then start SCLK, LRCLK.

=> 目前接線是PCB 上( I2C: SCL/SDA, I2S: LRCLK/SCLK/SDIN 共5條線, 跳線至TAS5805 EVM.

PDN沒有跳.  PDN是上電後就3.3V了. 這樣會影響嗎? 但為何是12s後寫入才沒問題? 

,

yaolin chang:

剛量ADR/FAULTZ 一開始為3.3V, 12s後變0 V…這會有關係嗎?
重新在下Initial setting後, 變3.3V 且有聲

,

yaolin chang:

Sorry. 目前看起來是PCB上有其他剛好是相同Slave address覆寫了

赞(0)
未经允许不得转载:TI中文支持网 » [TAS5805] I2C data value寫不進
分享到: 更多 (0)