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.

TPA3138D2: SD/FAULT 脚的设置问题

Part Number: TPA3138D2

一开始系统上电的时候,SD/FAULT 脚是通过1个47KΩ的电阻下拉到地的。

待系统启动完毕后,通过一个MCU的GPIO口来控制SD/FAULT 脚的上拉。

GIPO口输出电压3V,通过分压电路来控制SD/FAULT脚出电压。

参考芯片的规格书把SD/FAULT的脚的上拉电压控制在2V以上,但是发现功放声音无输出。

直到把SD/FAULT脚的电压上拉到2.6V以上,芯片功放才有输出。

想确认一下,是否芯片规格书内描述有问题?

还有在用万用表量测SD/FAULT脚的电压的时候,会出现芯片功放输出增益有变化,测试下来变化约6dB

可以明显感觉到播放音乐的声音的变化。

这一点非常困惑。

该系统的GAIN SEL是通过1K电阻下拉达到地的,应该增益不会有变化才对啊。

还请麻烦确认一下。

谢谢

以下是部分原理图

  • 是的,SD/FAULT的高电平最小值为2V,另外,上拉电阻取值推荐大于4.7Kohm,您的上拉阻值为多大?

  • 我们接了一个下拉电阻,然后通过一个5.1k的电阻接到MCU的GPIO口。

    我们发现SD/FAULT脚的电压到了2.5V,功放芯片还是没有输出。

    怀疑芯片规格书上写的2V是否正确?

    还有,我们在测量SD/FAULT脚的电压的时候,发现功放的增益会变化,这个很难理解?

    还请帮忙确认一下,是否可能哪里有问题?

    谢谢

  • 您好,datasheet没有问题哈,SD/FAULT引脚内部是OD架构,建议外部通过5.1Kohm电阻上拉到PVDD再试试,不要接再MCU的GPIO引脚。 

  • 我们这边主要是为了考虑系统上电的时候避免POP音,所以一开始通过电阻拉低了。

    然后系统起来后,再通过MCU的GPIO口把SD/FAULT脚拉高。

    我们这样设计有什么问题吗?

    如果有问题的话,有什么推荐的设计来避免POP音吗?

    谢谢

  • 您好,明白您的意思了,SD这样没问题,上电时,保持为低电平,等上电起来之后再将其拉高,同样掉电时,先将SD拉低,再掉电,这样都可以抑制上掉电的POP声。 但是要看下MCU的GPIO内部是否已经上拉,SD是开漏的话,需要上拉的,所以如果GPIO没有上拉的话,建议外部给SD上拉再看看。

  • 谢谢及时回复。

    我们的设计上GPIO是有上拉的。

    不过我们同时GPIO口还复用读取SD的状态,如果功放出错把SD拉低的话,我们会读取到该状态。

    然后把GPIO口下拉使得SD拉低,这样功放就不会自动恢复输出了。

    实际使用的时候,大多数情况下都没有问题。

    但是在做长期测试的时候,出现过工作几天后,功放无输出的现象。

    比如说最近一次测试,工作10天,出现了2次功放无输出的现场。

    经过检查,都是SD被拉低了。

    想询问一下,像我们这种用一个GPIO口对SD的设置复用的情况(读和写)到底会不会有问题呢?

  • 您好,这样的话,因为它内部集成了保护电路,如果发生过温,过流或者过压等现象,会将SD拉低,但是都不能自动恢复输出了。您只能通过reset重新复位或者重新上电才能恢复输出,所以长期使用的话应该是比较麻烦的,也就失去了这颗芯片保护电路的功能了。  

  • 这个我们倒是不介意。

    我们并不需要这颗芯片的保护电路功能。

    但是我们发现另外一个奇怪的现象,就是我们的系统上电以后,发现芯片输出有的时候比较高,有的时候比较低。

    深入调查以后发现是gain的增益变化。

    也就是说有的时候上电以后,系统输出的gain是20

    有的时候上电以后,系统输出的gain是26

    我们的硬件设置上是通过一个1k的电阻接地的,软件上也是系统启动后通过MCU的GPIO口拉低的。

    理论上系统的gain是20,不会变化才是正确的。

    实际上我们测试一下,GAIN SEL的PIN的电压也一直是0V 低电压。

    我们实在想不通,为什么gain 有时候会变成26了呢!?

    还望麻烦确认一下是否哪里可能有问题?

    谢谢

  • 您好,读取gain的值是上电之后,还是等上电起来并稳定之后才读的?

    建议是等上电后,fault/SD拉高之后,等电压稳定起来之后再去读取gain的值,看是否稳定。

    另外,GAIN_SEL的下拉阻值建议小于10Kohm。