TI论坛
直播中

曹利娟

7年用户 960经验值
私信 关注
[问答]

TAS5548打开AutoMute时关闭PWM输出这个功能后,无法在初始化后就直接生效怎么解决?


  • 寄存器配置如下:
    地址,值:
    0x03: 0xa0  (All Channel enable)
    0x04: 0x02  (No Output Downmix on SDOUT(TX SAP Disable), 默认 Enable DAP automute)
    0xd9: 0x00, 0x00, 0x00, 0x48  (Master volume 0dB)
    0xcc: 0x00, 0x00, 0x01, 0x01 (Stop PWM on auto mute)

    初始化时序如下:
    1. 拉低 RESET 脚.
    2. 拉低 MUTE 脚.
    3. I2C配置TAS5548的寄存器.
    4. 拉高 RESET 脚.
    5. 拉高 MUTE 脚.

    问题1, 在打开 AutoMute 时关闭 PWM 输出这个功能后,无法在初始化后就直接生效, 必须给一个输入后停止输入,此时才会触发。

    对不同时刻TAS5548 PWM 输出引脚进行测试:
    结果:
    刚刚初始化完:


    输入一段音频信号:


    停止输入音频信号:


    目前暂时找不到配置方法, 可以让 TAS5548 在初始化完之后,PWM输出引脚直接为低电平的。

    问题2. 在开启 AutoMute 时关闭 PWM 输出这个功能后,有时候会出现无法从哑音恢复的情况。

    例如,在 AutoMute 之后,PWM 引脚如下:

    这时播放一个信号,在确定输入 TAS5548 的 I2S 数据脚包含有效数据的情况下,TAS5548 的PWM 引脚仍然维持低电平:

    这种情况在开启这个功能后时常发生。

回帖(1)

一曲作罢

2024-9-29 18:07:45
针对您的问题,您提到在打开AutoMute时关闭PWM输出这个功能后,无法在初始化后直接生效,需要给一个输入后停止输入才能生效。这可能是由于寄存器配置或初始化时序的问题。以下是一些建议来解决这个问题:

1. **检查AutoMute功能是否正确配置**:
   确保您已经正确配置了AutoMute功能。在您的寄存器配置中,0x04寄存器的值0x02表示启用了DAP automute。请确认这是否是您期望的配置。

2. **检查PWM输出控制寄存器**:
   您提到的0xcc寄存器用于控制PWM输出。确保这个寄存器的配置是正确的。您提供的值是0x00, 0x00, 0x01, 0x01,这意味着在AutoMute激活时停止PWM输出。请确认这个寄存器的配置是否正确。

3. **检查初始化时序**:
   您的初始化时序看起来是正确的,但是请确保在拉高RESET脚和MUTE脚之前,I2C配置寄存器的步骤已经完成。这样可以确保在芯片复位和解除静音之前,所有的寄存器配置都已经设置好。

4. **检查输入信号**:
   确保在初始化后,输入信号是符合预期的。如果输入信号有问题,可能会影响AutoMute功能的正常工作。

5. **检查硬件连接**:
   检查所有硬件连接是否正确,包括RESET和MUTE脚的连接,以及I2C通信线路。

6. **软件逻辑**:
   如果硬件和寄存器配置都没有问题,那么可能是软件逻辑的问题。确保在软件中正确处理了AutoMute和PWM输出的逻辑。

7. **查看数据手册**:
   重新查看TAS5548的数据手册,确保所有的配置和时序都符合手册的要求。

8. **测试代码**:
   编写测试代码来单独测试AutoMute和PWM输出的功能,以确定问题是否出在这两个功能上。

9. **固件更新**:
   如果可能,尝试更新TAS5548的固件到最新版本,看看是否有改进。

如果以上步骤都无法解决问题,可能需要更深入地分析芯片的行为,或者联系芯片的制造商获取技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分