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.

[参考译文] TAS5805M:TAS5805

Guru**** 2470720 points
Other Parts Discussed in Thread: TAS5805M

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/793669/tas5805m-tas5805

器件型号:TAS5805M
主题中讨论的其他器件: TAS5805

您好!
当我们使用 TAS5805M 时、我们发现当设置数字音量寄存器 DIG_VOL_CTL 寄存器(偏移= 4Ch)时、会不时发出"哔"声。 最后,确定当设定的值从0x22变为0x23时,“嗒”声音就会发出。 设置值也将从0x22到0x23从低电平到高电平。 只有左声道会发出“哔声”声音,右声不会发出。
当嗒较轻的音乐时、这种声音更容易听到。 此现象可在演示板上重现。 当播放所附音乐的前50秒时,这种现象更容易复制。
我们认为这是 TAS5805M 的 FW 故障、请帮助确认!
请帮助我了解可以采取哪些措施来避免这种"吱吱作响"的声音!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否共享我们的 regsiter 配置或测试的*。h 文件? 我们将回顾发生的情况。 您还可以附加您录制的此"哔声"音频。 TAS5805运行了稳健耐用的监听/音频测试、这是该行为的第一份报告。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的所有人
    这是寄存器设置、请帮助我们进行检查

    /
    ;eDigi Technology Co.、Ltd.
    ; /

    #define MAX_VOL14.
    #define VOL_MID7.

    #define TAS5805M_I2C_DEVICE_ADDR0x5a
    #define TAS5805M_DEVICE_CTRL_20x03
    #define TAS5805M_DIG_VOL_CTRL0x4C

    #define DigitalGain_Start_高音 扬声器7.
    Byte_ROM Volume_Table[15]=

    255,90、77、65、55、
    46、38、31、25、20、
    16、12、8、4、0
    };

    extern U8 I2C_Write_n_Byte (U8 DevAddr、U8 addr、U8* dat、U16 n);

    U8 VolumeIndex;

    //==========================================================================================
    //TAS5805M_Volume_UpDwn_Set
    //==========================================================================================
    使 TAS5805M_Volume_UpDwn_set 无效(空)

    U16 tmp16;
    U8 DigitalGain;
    tmp16=Volume_Table[VolumeIndex];
    tmp16+=DigitalGain_Start_高音 扬声器;
    if (tmp16>255) tmp16=255;
    DigitalGain=tmp16;
    I2C_Write_n_Byte (TAS5805M_I2C_DEVICE_ADDR、TAS5805M_DIG_VOL_CTRL、DigitalGain、1);


    使 TAS5805M_IC_INI 无效(空)

    U8设备控制器2;
    VolumeIndex=VOL_MID;
    TAS5805M_PDN_L ();//将 PDL 设置为低电平
    DELAY_1ms (5);
    TAS5805M_PDN_H ();//将 PDL 设置为高电平
    DELAY_1ms (1);
    DeviceCtrl2=0x03;
    I2C_Write_n_Byte (TAS5805M_I2C_DEVICE_ADDR、TAS5805M_DEVICE_CTRL_2、&DeviceCtrl2、1);
    DELAY_1ms (5);
    TAS5805M_Volume_UpDwn_set ();

    使 TAS5805M_Volume_Up 无效(void)

    VolumeIndex++;
    if (VolumeIndex>MAX_VOL) VolumeIndex=MAX_VOL;
    TAS5805M_Volume_UpDwn_set ();

    使 TAS5805M_Volume_Down 无效(void)

    if (VolumeIndex!=0) VolumeIndex --;
    TAS5805M_Volume_UpDwn_set ();
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    客户好!

    设置 TAS5805的卷时、需要将寄存器写入 TAS5805。 卷位于书籍8c/页2a、因此您需要切换书籍/页、然后可以将某些32位(4个8位寄存器)值写入卷。 请参阅:
    静态空 tas5805m_set_volume (struct snd_soc_codec *编解码器、int vol)

    unsigned int index;
    uint32_t volume_hex;
    uint8_t 字节4;
    uint8_t 字节3;
    uint8_t 字节2;
    uint8_t 字节1;

    index = get_volume_index (vol);
    volume_hex = tas5805m_volume[index];

    字节4 =((volume_hex >> 24)和0xFF);
    字节3 =((volume_hex >> 16)和0xFF);
    字节2 =((volume_hex >> 8)和0xFF);
    字节1 =((volume_hex >> 0)和0xFF);

    //w 58 00 00第0页
    SND_SoC_WRITE (编解码器、TAS5805M_REG_00、TAS5805M_PAGE_00);
    /w 58 7f 8c 书籍8c
    SND_SoC_WRITE (编解码器、TAS5805M_REG_7F、TAS5805M_book_8C);
    // w 58 00 2a 第2a 页
    SND_SoC_WRITE (编解码器、TAS5805M_REG_00、TAS5805M_PAGE_2A);
    //w 58 24 xx xx xx xx xx xx xx 32位音量值(用于左声道)
    SND_SoC_WRITE (编解码器、TAS5805M_REG_24、字节4);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_25、字节3);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_26、字节2);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_27、字节1);
    //w 58 28 xx xx xx xx xx xx xx 32位音量值(用于左声道)
    SND_SoC_WRITE (编解码器、TAS5805M_REG_28、字节4);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_29、字节3);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_2A、字节2);
    SND_SoC_WRITE (编解码器、TAS5805M_REG_2B、字节1);


    此致、
    Alix Wan。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    寄存器0x24/0x25/0x25/0x27的值与寄存器0x28/0x29/0x2A/0x2B 的值之间的关系是什么? 如何转换?