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.

TAS5733L: TAS5733L的MCLK问题

Part Number: TAS5733L

在芯片手册上写着TAS5733L可以不接MCLK,但是在英文论坛中我看到一篇说TAS5733L必须要外部提供MCLK,否则会没有声音输出,事实上,我现在没有接MCLK,结论也确实是没有声音输出,那我可以将MCLK与SCLK短接吗?让SCLK=48khz*32*2大于3Mhz来提供MCLK,但是芯片手册上SCLK最高只能选择24位,我到底应该如何处理

  • 您好,  目前您使用内部晶振提供MCLK是吗? 输出有声音, 和SCLK是怎么接的?

    我这边再确认下. 

  • 是的,使用内部晶振提供MCLK,SCLK是由蓝牙模块提供的,SCLK=48k*16*2=1.536Mhz,用示波器看SCLK也是1.536Mhz,MCLK是通过10k电阻下拉到地,输出并没有声音,蓝牙工作的时候测喇叭处的电压为5.8V,静态时喇叭处电压基本为0,PVDD输入为12V/0.2A,关于上电时序的问题,我只控制了AVDD比PVDD先上电,并没有控制RST,PDN,I2C,I2S的时序,是否跟这个有关系,芯片能反馈上电时序错误导致的问题吗?

  • #include "tas5733.h" uint8_t reg[13]={0x00,0xa0,0x03,0xf0,0x01,0xac,0x54,0xac,0x54,0x30,0x68,0x57,0x02};

    void tas5733_init() {

    IICwriteBytes(0x56,0x1b,1,&reg[0]); delayMs(100);

    IICwriteBytes(0x56,0x02,1,&reg[0]);

    IICwriteBytes(0x56,0x03,1,&reg[1]);

    IICwriteBytes(0x56,0x04,1,&reg[2]);

    IICwriteBytes(0x56,0x0e,1,&reg[3]);

    IICwriteBytes(0x56,0x10,1,&reg[4]);

    IICwriteBytes(0x56,0x11,1,&reg[5]);

    IICwriteBytes(0x56,0x12,1,&reg[6]);

    IICwriteBytes(0x56,0x13,1,&reg[7]);

    IICwriteBytes(0x56,0x14,1,&reg[8]);

    IICwriteBytes(0x56,0x19,1,&reg[9]);

    IICwriteBytes(0x56,0x1a,1,&reg[10]);

    IICwriteBytes(0x56,0x1c,1,&reg[11]);

    IICwriteBytes(0x56,0x05,1,&reg[12]); delayMs(5);

    uint8_t a[2]={0x00,0x3c};

    IICwriteBytes(0x56,0x07,2,a);

    IICwriteBytes(0x56,0x08,2,a);

    IICwriteBytes(0x56,0x09,2,a); }

    这是我使用的初始化代码,是否可能是因为初始化代码错误导致的没声音

  • 您好,我使用示波器测量了一下AMP的输出端发现有输出356khz的方波信号,但是经过LC滤波器之后,只剩下一个6V左右高电平,我想这应该就是没有声音输出的原因所在,我想问下这是为什么,电感我采用的是33uH的功率电感,电容使用1uF的电容,根据计算,截止频率应该是在30khz,应该是没有滤除声音成分的,但是为什么最后经过滤波器之后的方波变成了单单一个高电平

  • 您好,关于MCLK,如果需要使用3线I2S,那么MCLK和SCLK需要外接在一起, 并且SCLK也只有在2.8224~24.576Mhz范围内才能工作.

    如果不提供MCLK,放大器的内部振荡器产生放大器所需要的内部时钟,这种工作模式下, 放大器不会输出音频流,直到外部提供一个有效的MCLK. 通常使用的是48Khz 的fs和32bit位宽, 因此SCLK=32*2*48Khz=3.072Mhz, MCLK也可以使用这个频率.

    如果您提到只有24bit,那么SCLK=24*2fs. 您这边可以试试,将MCLK和SCLK接在一起,然后提供24fs的SCLK, 看是否有输出?如果不能,那么说明必须使用3.072Mhz也就是32fs的频率.

  • 非常感谢您的指导,在将SCLK与MCLK接在一起,并使用3.072Mhz的SCLK后,能够正常的发出声音了

  • 非常高兴您的问题得以解决, 感谢您的反馈.