微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > tas5707严重问题询问

tas5707严重问题询问

时间:10-02 整理:3721RD 点击:

  我们使用你们代理的tas5707芯片发现下面问题:请求帮我们尽力咨询一下原厂FAE。

       错误情况是:使用48KHZ 跟 12KHZ采样率通过tas5707播放音频时出现芯片由于clock error ,很频繁地mute 了我们的音频。然后使用32K 跟16KHZ采样率,也同样会出现,但出现次数相对少很多,可以忽略。

     

我们硬件电路的搭建情况如下:

            1.原理图是按照TI官网提供的开发板音频部分原理图搭建;

            2.提供MCLK的外部晶振是6.144Mhz;

            3. I2S 数据(LRCLK,SCLK,SDO在示波器上显示频率正常,对于时钟的时延时序,只有一个不满足芯片手册要求的地方:LRCLK的上升沿时间,下降沿时间都是60+ns,芯片手册中写到最大不能超过8ns)

            4.I2C 写设备是正常的:(使用逻辑分析仪捕获数据,每次I2C配置都有ACK返回,程序改动不同的I2C配置使用示波器验证会出现不同的结果,所以证明配置是正常配置到tas5707芯片)

            5. 输出端输出的PWM频率正常:48K采样率对应384Khz pwm.

            6.电源部分,AVDD(3.3v) , PVDD (12v),使用示波器测量纹波在正常范围内;(属于稳定)

            7.测量/FALUT引脚,在出现问题的情况下,并没有出现低电平;

(ps: 我们已经排除过I2S信号受干扰的情况(将I2S数据线旁边的有机会的干扰线割断了),出现问题时候error status register (0x02)的值为0x18(LRCLK Error and Frame slip))

     

我们的声卡寄存器配置:(我们使用了两种形式)

            在驱动中:init 流程如下:

形式一:

            1.将RESET 和PDN引脚按时间的顺序使用IO 口设置为0或1.

            2.将0x00写入 0x1b;msleep(53);

            3.设置 bank_switch_control寄存器低4位为 4 ;

            4.将0x00写入0x05寄存器; msleep(180);

            5.将0x00写入0x06寄存器;

     进入正常模式,在歌曲播放时设置时钟寄存器.(其他寄存器处于默认值)

形式二:

            1.将RESET 和PDN引脚按时间的顺序使用IO 口设置为0或1.

            2.将0x00写入 0x1b;msleep(53);

            3.配置如下值:(格式 :寄存器 + 数据大小 + 数据)

0x06, 0x01, 0x3F,

0x04, 0x01, 0x05,

0x11, 0x01, 0xAC,

0x12, 0x01, 0x54,

0x13, 0x01, 0xAC,

0x14, 0x01, 0x54,

0x20, 0x04, 0x00, 0x01, 0x77, 0x72,

0x25, 0x04, 0x01, 0x02, 0x13, 0x45,

//! Biquads

0x50, 0x04, 0x00, 0x00, 0x00, 0x10,

0x29, 0x14, 0x00, 0x7F, 0x0E, 0x38, 0x0F, 0x01, 0xE3, 0x90, 0x00, 0x7F, 0x0E, 0x38, 0x00, 0xFE, 0x1A, 0xA7, 0x0F, 0x81, 0xE1, 0xC8,

0x2A, 0x14, 0x00, 0x86, 0xFC, 0xAA, 0x00, 0x10, 0x2F, 0xFE, 0x00, 0x17, 0x80, 0xDF, 0x0F, 0xE8, 0x13, 0x2B, 0x0F, 0xE9, 0x3F, 0x4D,

0x2B, 0x14, 0x00, 0x80, 0x2C, 0x31, 0x0F, 0x01, 0x5D, 0x68, 0x00, 0x7E, 0x7E, 0x71, 0x00, 0xFE, 0xA2, 0x98, 0x0F, 0x81, 0x55, 0x5D,

0x2C, 0x14, 0x00, 0x77, 0x42, 0xCC, 0x0F, 0x50, 0xA5, 0xD8, 0x00, 0x5D, 0x83, 0x34, 0x00, 0xAF, 0x5A, 0x28, 0x0F, 0xAB, 0x39, 0xFF,

0x2D, 0x14, 0x00, 0x7D, 0x6D, 0x43, 0x0F, 0xC3, 0x11, 0x69, 0x00, 0x6D, 0xFF, 0x11, 0x00, 0x3C, 0xEE, 0x97, 0x0F, 0x94, 0x93, 0xAC,

0x2E, 0x14, 0x00, 0x7D, 0x6C, 0x61, 0x0F, 0x1D, 0x4F, 0x95, 0x00, 0x70, 0xEE, 0x83, 0x00, 0xE2, 0xB0, 0x6B, 0x0F, 0x91, 0xA5, 0x1B,

0x2F, 0x14, 0x00, 0x7F, 0xC8, 0xEC, 0x0F, 0x05, 0x89, 0xB2, 0x00, 0x7E, 0x1F, 0x7D, 0x00, 0xFA, 0x76, 0x4E, 0x0F, 0x82, 0x17, 0x97,

//! DRCs

0x3A, 0x08, 0x00, 0x02, 0xA3, 0x9A, 0x00, 0x7D, 0x5C, 0x65,

0x3B, 0x08, 0x00, 0x01, 0x53, 0x8F, 0x00, 0x7E, 0xAC, 0x70,

0x3C, 0x08, 0x00, 0x00, 0x00, 0x57, 0x00, 0x7F, 0xFF, 0xA8,

0x40, 0x04, 0xFD, 0x82, 0x30, 0x98,

0x41, 0x04, 0x0F, 0x81, 0x47, 0xAF,

0x42, 0x04, 0x00, 0x08, 0x42, 0x10,

0x46, 0x04, 0x00, 0x00, 0x00, 0x01,

0x08, 0x01, 0x19,

0x09, 0x01, 0x19,

0x07, 0x01, 0xFF,

0x1A, 0x01, 0x0A,

0x07, 0x01, 0xFF,

0x05, 0x01, 0x40,

0x1A, 0x01, 0x98,

0x10, 0x01, 0x07

0x06, 0x01, 0x00);

0x05, 0x01, 0x00);

msleep(180);

 进入正常模式,在歌曲播放时设置时钟寄存器.(其他寄存器处于默认值)

Hi,

寄存器这块参考下附件的配置顺序,上电时序按照下图来做:

7457.TAS5707寄存器配置示例代码_Sep-11-2014.pdf

同时检查一下I2S的走线是否过长,有无做包地处理,周边有无DC/DC等干扰。可以在时钟线上各串接22~33Ω电阻加10pF电容到地试试,RC靠近功放端放置。

请教一下,你们这个tas5707 是不是一定要跟mcu 同晶振的?如果是不同时钟源的就很容易出现帧错位的问题对吗?

Hi,

功放不管跟MCU的时钟怎么样,只管给它I2S的时钟必须同源,即送给功放的MCLK、BCLK、LRCLK必须同源同步。

Hi Jacky,

         我们把问题找到了,是由于我们主控芯片做主设备的时候只提供位时钟,帧时钟,跟数据时钟给功放,然后功放是自己采用一个外部的晶振获取MCLK的,所以就出现之前描述的问题。但是我们现在主控无法产生一个12.288MHZ 或 6.144MHz的MCLK给功放,也无法跟功放公用同一个晶振来产生I2S时钟(位时钟,帧时钟,跟数据时钟),请问在这种情况下,你们有没有什么方案?

Thanks

Hi,

如果你们的LRCLK=44.1kHz或48kHz(必须二选一),BCLK=64*LRCLK,功放的MCLK可以和BCLK共用,这是一个临时的解决方案。要么只能选其他的支持无MCLK的功放了,如TAS5754/5756。

Hi Jacky,

         我们现在需要支持16K采样率 和 48K采样率的音频的,如果在我们这个要求下,你们有没有什么好的方案?(使用BCLK 跟 MCLK共用的方案,48K是可以的了)

Thanks

Hi,

这个就比较困难了,只能考虑换其他的可以支持3线I2S的功放了,比如TAS5754/TAS5756。

Hi Jacky,

         您的回答非常不错,非常感谢。然后我们现在有一个疑问:"为什么之前我们外挂6.144MHz晶振,播放48Khz采样率音频的时候出现5707芯片将音频mute掉的情况,远比32khz采样率音频多的呢?这是什么情况?"(希望您能分析一下)

Thanks

Hi,

这个不太好定量的去分析。因为采用外部单独的时钟源造成时钟不同步,只能说采样速率越高,造成的不同步累积误差越大,可能出错的概率就越大。

Hi,

          我们已经打算使用你们的tas5756m芯片,但我们买开发板的时候没有及时买到你们的母板,所以你能不能先提供一个能正常工作的I2C配置给我们先出个效果,等后面申请或采购到你们的母板以后,我们再自行调节音质。

          你们tas5756M 母板对应的型号是PUREPATH-CMBEVM吗?

谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top