主题中讨论的其他器件:TAS5805
您好,
一位客户在其应用中使用了 TAS5805、 FS=384Khz、Hybird 模式。 禁用静音时、有一种声音像 POP、但声音不大。
从 深度睡眠到睡眠、每次都有这种声音。 如果它播放后 变为高阻抗、在短暂的时间后、返回播放模式、它也会发出此声音。
请帮您进行分析。
#define AP_MUTE_SLEEP 0
#define AP_MUTE_SLEEP 1.
#define AP_MUTE_HIZ 2.
#define AP_MUTE_SOFT 3.
#define AP_MUTE_MODE AP_MUTE_HIZ
#define AP_FSW_768K 0
#define AP_FSW_384K 1.
#define AP_FSW_480K 2.
#define AP_FSW_576K 3.
#define AP_DAM_MODE_BD 0
#define AP_DAM_MODE_1SPW 1.
#define AP_DAM_MODE_HYBRID 2.
#define AP_FSW AP_FSW_384K
#define AP_DAMP AP_DAM_MODE_HYBRID
#define AP_DEV_CTRL ((AP_FSW<4)|| AP_DAMP)
void _EXT_HW_MUTE ()
{//测试结果24V // 384K +混合模式
//软静音= 36mA
// HIZ = 10mA
//睡眠= 6mA
//深度睡眠= 0mA
//返回;
PUT ("SPK MUTE\n");
if (b_ap_mute_flag = 0)
{
Ps ("SPK HIZ ("SPK HIZ)");
TAS5805_Write_Reg (TAS5805_ADDR、0x00、0x00);
TAS5805_Write_Reg (TAS5805_ADDR、0x7F、0x00);
TAS5805_Write_Reg (TAS5805_ADDR、0x00、0x00);
#if (AP_MUTE_MODE = AP_MUTE_SOFT)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x08 | 0x03);//软静音+播放
#elif (AP_MUTE_MODE = AP_MUTE_HIZ)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);//HIZ
#elif (AP_MUTE_MODE = AP_MUTE_SLEEP)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);//HIZ
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x01);//HIZ
#elif (AP_MUTE_MODE = AP_MUTE_SLEEP)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);//HIZ
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x00);//深度睡眠
#endif
// TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x00);//深度睡眠
TAS5805_Write_Reg (TAS5805_ADDR、0x78、0x80);// Clrear 模拟故障
IIC_Idle();
}
b_ap_mute_flag = 1;
}
void _EXT_C_HW_MUTE ()
{
//返回;
PUT ("SPK 取消静音\n");
if (b_ap_mute_flag = 1)
{
//00
//3ms
//7F 00
//4ms
//00
//r 03 00
//00
//7F 00
//00
//03 02
//r 03 02
//03 03
//r 02 12.
PUT ("SPK AP\n");
TAS5805_Write_Reg (TAS5805_ADDR、0x00、0x00);
TAS5805_Write_Reg (TAS5805_ADDR、0x7F、0x00);
TAS5805_Write_Reg (TAS5805_ADDR、0x00、0x00);
#if (AP_MUTE_MODE = AP_MUTE_SOFT)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x03);//播放
#elif (AP_MUTE_MODE = AP_MUTE_HIZ)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x03);//播放
#elif (AP_MUTE_MODE = AP_MUTE_SLEEP)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);//HIZ
DELAY_2ms (5);
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x03);//播放
#elif (AP_MUTE_MODE = AP_MUTE_SLEEP)
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x00);//深度睡眠
DELAY_2ms (5);
TAS5805_Write_Reg (TAS5805_ADDR、0x02、0x00);//BD 模式
DELAY_2ms (5);
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);//HIZ
DELAY_2ms (5);
TAS5805_Write_Reg (TAS5805_ADDR、0x02、AP_DEV_CTRL);//384K /混合模式//384K +混合模式电流最低
// TAS5805_Write_Reg (TAS5805_ADDR、0x02、0x00);//BD 模式//混合模式
DELAY_2ms (5);
// TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x03);//播放
TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x03);//播放
#endif
// TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x00);//深度睡眠
// delay_2ms (5);
// TAS5805_Write_Reg (TAS5805_ADDR、0x02、0x00);//BD 模式
// delay_2ms (5);
// TAS5805_Write_Reg (TAS5805_ADDR、0x03、0x02);// HIZ
// delay_2ms (5);
// TAS5805_Write_Reg (TAS5805_ADDR、0x02、0x12);//384K /混合模式//384K +混合模式电流最低
// TAS5805_Write_Reg (TAS5805_ADDR、0x02、0x00);//BD 模式//混合模式
// delay_2ms (5);
TAS5805_Write_Reg (TAS5805_ADDR、0x78、0x80);// Clrear 模拟故障
IIC_Idle();
}
b_ap_mute_flag = 0;
此致
Kailyn