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.

[参考译文] TAS2505:tas2505高电流消耗

Guru**** 2394305 points
Other Parts Discussed in Thread: TAS2505, CC2640R2F, TPS799, TAS2505EVM, TLV320AIC3256

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/681483/tas2505-tas2505-high-current-draw

器件型号:TAS2505
主题中讨论的其他器件:CC2640R2FTPS799TLV320AIC3256

我一直在使用连接到 cc2640r2f 的 tas2505。  我已使用1.92Mhz 的 bclock 和48kHz 的 wclk 配置了这些器件。 我已关闭 HP 电源。 我已选择 PTM_P2。  我以19-20kHz 音调驱动 DAC。  配置文件已附加。

 tas2505配置有为 AVDD 和 DVDD 供电的内部 LDO。  SPKVDD 和 IOVDD 被连接至3.0V。  我已断开扬声器和 HP 输出、以测试内部电流消耗。

我得到的读数为47ma。     根据《TAS2505应用参考指南》第2.5.2.1和2.5.3.1节的表格、我预计电流消耗约为18mA (加上 PLL 电流)。  我已经尝试重新配置 tas2505和 cc2640r2f、以便禁用 PLL、但它只将电流减少到46mA。  由于18mA 已经在推动我的功率预算、有人知道我有什么问题、还是您可以为工作推荐低功耗 DAC/放大器?

audioCodec_reset ();

//基于 TAS2505应用参考指南 SLAU472中的示例脚本
//# I2C 脚本将器件设置为回放模式
//#键:W 30 XX YY =>写入 I2C 地址0x30、寄存器0xxx、数据0xYY
//#此脚本设置通过混频器路由到 HP 驱动程序和 D 类驱动程序的 DAC 输出
//#=>注释分隔符



//===========
//重置
//===========
//#页切换到第0页
// W 30 00 00
audioCodec_pageSelect (audio_codec_page_0);
//#断言软件复位(P0、R1、D0=1)
// W 30 01 01
audioCodec_regWrite (audio_codec_sw_reset_REG、0x01);

//=========
//电源
//=========
//#页切换到第1页
// W 30 00 01
audioCodec_pageSelect (audio_codec_page_1);
//# LDO 输出被编程为1.8V 并且电平转换器加电。 (P1、R2、D5-D4=00、D3=0)
// W 30 02 00
audioCodec_regWrite (AUDIO_CODE_LDO_CTRL_REG、0x00);

//===
// PLL
//===
//#页切换到第0页
// W 30 00 00
audioCodec_pageSelect (audio_codec_page_0);
#if 1.
//# PLL_CLKIN = MCLK、CODEC _CLKIN = PLL_CLK、MCLK 应为11.2896MHz (P0、R4、D1-D0=03)
// w 30 04 03
//不同、我们使用 BCLK @ 1.92MHz PLL_CLKIN = BCLK、CODE_CLKIN = PLL_CLK
audioCodec_regWrite (audio_codec_clk_MUX_REG、0x07);
//#加电 PLL、设置 P=1、R=1、(页0、寄存器5)
// w 30 05 91
//# set J=4,(页0,注册器6)
// w 30 06 04
//# D = 0000、D (13:8)= 0、(页0、寄存器7)
// w 3007 00
//# D (7:0)= 0、(页0、寄存器8)
// w 30 08 00
//我们有不同的时钟(输入11.2896Mhz、44.1kHz 与1.92Mhz、48kHz)
audioCodec_regWrite (AUDIO_CODE_CLK_PLL_P_R_REG、0x11 | 0x80);// PLL 上电、P=1、R=1
audioCodec_regWrite (audio_codec_clk_pll_j_REG、48); // J=48
audioCodec_regWrite (AUDIO_CODE_CLK_PLL_D_MSB_REG、0x00); // D = 0
audioCodec_regWrite (AUDIO_CODE_CLK_PLL_D_LSB_REG、0); // D = 0

#if 1.
//#添加 PLL 锁定的15ms 延迟
// d 15.
Task_sleep (15 * 1000 / Clock_tickPeriod);
#endif




//===================
//时钟分频器
//===================
// DAC NDAC 上电,NDAC=4 (P0、R11、D7=1、D6-D0=0000100)
// W 300B 84
// DAC MDAC 加电,MDAC=2 (P0、R12、D7=1、D6-D0=0000010)
// W 30 0C 82
// DAC OSR (9:0)-> DOSR=128 (P0、R12、D1-D0=00)
// W 30 0D 00
// DAC OSR (9:0)-> DOSR=128 (P0、R13、D7-D0=10000000)
// W 30 0E 80
//同样,我们有不同的时钟。
//我们使用1.92MHz BCLK 作为 PLL 和的源时钟
//我们的采样时钟为48kHz
audioCodec_regWrite (audio_codec_clk_ndac_REG、3 | 0x80); //NDAC 分压器加电、NDAC = 3;
audioCodec_regWrite (audio_codec_clk_MDAC_REG、5 | 0x80); // MDAC 分频器加电,MDAC = 5;
audioCodec_regWrite (AUDIO_CODE_DAC_OSR_MSB_REG、0x00); // DOSR = 128
audioCodec_regWrite (audio_codec_dac_osr_lsb、128); // DOSR = 128
#else
audioCodec_regWrite (audio_codec_clk_MUX_REG、0x01);
audioCodec_regWrite (audio_codec_clk_ndac_REG、1 | 0x80); //NDAC 分压器加电、NDAC = 1;
audioCodec_regWrite (audio_codec_clk_MDAC_REG、5 | 0x80); // MDAC 分频器加电,MDAC = 5;
audioCodec_regWrite (AUDIO_CODE_DAC_OSR_MSB_REG、0x00); // DOSR = 100
audioCodec_regWrite (audio_codec_dac_osr_lsb、100); // DOSR = 100
#endif

//===========
//字格式
//===========
//#编解码器接口控制字长= 16位、BCLK&WCLK 输入、I2S 模式。 (P0、R27、D7-
// D6=00、D5-D4=00、D3-D2=00)
// W 30 1B 00
audioCodec_regWrite (audio_codec_audio_if_1_REG、0x00);// 0x00 16位、I2S、BCLK 为器件输入
//#数据时隙偏移00 (P0、R28、D7-D0=0000)
// W 30 1C 00
audioCodec_regWrite (audio_codec_audio_if_2_REG_data_offset、0x00);


//===========
// DSP 配置
//===========
// DAC 指令编程 PRB #2用于单声道路由。 类型内插(x8)和3可编程
//双二阶。 (P0、R60、D4-D0=0010)
// W 30 3C 02
audioCodec_regWrite (AUDIO_CODE_DAC_SIG_P_BLK_CTRL_REG、0x02);


//========================================
// DSP 双二阶系数
//========================================
#if 1.
// msw too 我们应该保持这种通用并将此过滤器移动到
// 波特源代码
//添加双二阶滤波器
//########## -------- 开始系数--------------------------------------------------------
//# reg 00 -页选择寄存器= 44
//将3个 BQ 的活动页设置为第44页(BQ-A、BQ-B、BQ-C)
//w 30 00 2C
audioCodec_pageSelect (audio_codec_page_44);

//
///---------------------------------------------------------
// BQ-A = 19500Hz 带通带宽= 5000Hz
//使用 PurePath Studio 计算并对照 http://engineerjs.com 进行验证
///---------------------------------------------------------
//注意:系数是大端字节序
//过滤器 系数 单声道 DAC 通道
// Biquad A N0 C1 (第44页、寄存器12、13、14)
// N1 C2 (第44页、寄存器16、17、18)
// n2 C3 (第44页、寄存器20、21、22)
// D1 C4 (第44页、寄存器24、25、26)
// D2 C5 (第44页、寄存器28、29、30)

// reg 12/13/14 - N0系数= 0.25342714786529541015625 = 0x20704D
audioCodec_regWrite (12、0x20);
audioCodec_regWrite (13、0x70);
audioCodec_regWrite (14、0x4D);
// reg 16/17/18 - N1系数= 0 (注:这是传统 N1的1/2)
audioCodec_regWrite (16、0x00);
audioCodec_regWrite (17、0x00);
audioCodec_regWrite (18、0x00);
//reg 20/21/22 - N2系数=-0.25342714786529541015625 = 0xDF8FB3
audioCodec_regWrite (20、0xdf);
audioCodec_regWrite (21、0x8F);
audioCodec_regWrite (22、b3);
// reg 24/25/2/26 - D1系数=-0.655541896820068359375 = 0xAC1734
//请注意这是传统 D1的负1/2
audioCodec_regWrite (24、0xac);
audioCodec_regWrite (25、0x17);
audioCodec_regWrite (26、0x34);
// reg 28/29/30 - D2系数=-0.49314534664154052734375 = 0xC0E09D
//请注意,这是传统 D2的负值
audioCodec_regWrite (28、0xc0);
audioCodec_regWrite (29、0xe0);
audioCodec_regWrite (30、0x9d);
#else
//添加双二阶滤波器
//########## -------- 开始系数--------------------------------------------------------
//# reg 00 -页选择寄存器= 44
//将3个 BQ 的活动页设置为第44页(BQ-A、BQ-B、BQ-C)
//w 30 00 2C
audioCodec_pageSelect (audio_codec_page_44);

//
//全通滤波器
//
//注意:系数是大端字节序
//过滤器 系数 单声道 DAC 通道
// Biquad A N0 C1 (第44页、寄存器12、13、14)
// N1 C2 (第44页、寄存器16、17、18)
// n2 C3 (第44页、寄存器20、21、22)
// D1 C4 (第44页、寄存器24、25、26)
// D2 C5 (第44页、寄存器28、29、30)


audioCodec_regWrite (12、0x7f);
audioCodec_regWrite (13、0xff);
audioCodec_regWrite (14、0xff);

audioCodec_regWrite (16、0x00);
audioCodec_regWrite (17、0x00);
audioCodec_regWrite (18、0x00);

audioCodec_regWrite (20、0);
audioCodec_regWrite (21、0);
audioCodec_regWrite (22、0);

audioCodec_regWrite (24、0);
audioCodec_regWrite (25、0);
audioCodec_regWrite (26、0);

audioCodec_regWrite (28、0);
audioCodec_regWrite (29、0);
audioCodec_regWrite (30、0);
#endif

//#页切换到第1页
// W 30 00 01
audioCodec_pageSelect (audio_codec_page_1);
//#主基准加电(P1、R1、D4=1)
// W 30 01 10
audioCodec_regWrite (audio_codec_REF_POR_LDO_BGAP_CTRL_REG、0x00);
// DAC 的输出共模设置为0.9V (默认值)(P1、R10)
// W 30 0A 00
audioCodec_regWrite (audio_codec_common_mode_CTRL_REG、0x00);
#if 0
//#混频器 P 输出连接到 HP 输出混频器(P1、R12、D2=1)
// w 30 0C 04
//# hp Voulme,0dB 增益(P1、R22、D6-D0=0000000)
// W 30 16 00
//#无需启用混频器 M 和混频器 P、AINL Voulme、0dB 增益(P1、R24、D7=1、 D6-D0=0000000)
// W 30 18 00
//#加电 HP (P1、R9、D5=1)
// w 3009 20.
//#取消 HP 静音、增益为0dB (P1、R16、D4=1)
// w 30 10 00
#else

//将耳机静音-
audioCodec_regWrite (audio_codec_HPL_DRV_GAIN_CTRL_REG、0x40);
//关闭耳机电源
audioCodec_regWrite (AUDIO_CODE_OP_DRV_PWR_CTRL_REG、0x00);
#endif

audioCodec_regWrite (audio_codec_playing_CFG_REG、0x08);

//# SPK 收件人 增益=0dB (P1、R46、D6-D0=000000)
// W 30 2E 00
audioCodec_regWrite (AUDIO_CODE_SPKR_AMP_VOL_CTRL_1_REG、0x00);
//# SPK 驱动器增益=6.0dB (P1、R48、D6-D4=001)
// W 30 30 10
audioCodec_regWrite (AUDIO_CODE_SPKR_AMP_VOL_CTRL_2_REG、0x10);
// SPK 加电(P1、R45、D1=1)
// W 30 2D 02
audioCodec_regWrite (AUDIO_CODE_SPKR_AMP_CTRL_1_REG、0x02);


//#页切换到第0页
// W 30 00 00
audioCodec_pageSelect (audio_codec_page_0);
// DAC 加电、软步长为每 fs 1。 (P0、R63、D7=1、D5-D4=01、D3-D2=00、 D1-D0=00)
// W 30 3F 90
audioCodec_regWrite (AUDIO_CODE_DAC_CHANNEL_SETUP_1_REG、0x90);
// DAC 数字增益0dB (P0、R65、D7-D0=00000000)
// W 30 41 00
audioCodec_regWrite (audio_codec_left_dac_VOL_CTRL_REG、0x00);
//# DAC 音量未静音。 (P0、R64、D3=0、D2=1)
// W 30 40 04
audioCodec_regWrite (AUDIO_CODE_DAC_CHANNEL_SETUP_2_REG、0x04); 

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

    我假设在 SPKVDD 上测量的电流为47mA、对吧?
    实际上、电流消耗应接近 ARG 上的规格、在 EVM 上、我看到大约为15mA。 您是否有机会与大家分享原理图、看看是否有什么因素会导致更高的功耗?

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、它是在 SPKVDD (也连接到 IOVDD)上测得的。  我目前正在进行基准原型设计、以证明我们可以在我们的功率预算内工作。  我们正在 使用 SimpleLinkTm低功耗 BluetoothRegisteredCC2640R2F 无线 MCU LaunchPadTm开发套件开发经过修改的 TI Designs LED 音频 DevPack。

    我已标记 了 LED 音频 DevPack 原理图的 pdf。  抱歉、这有点令人失望。

    e2e.ti.com/.../tidrfr0_5F00_MOD.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对已标记的原理图有几个问题:
    - VBUS 是来自 PC USB 的5V 电压、对吧?
    -似乎 VBUS 短接至 VDD、绕过 TPS799 LDO。 IOVDD 连接到 VBUS = 5V? 这不正常。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    未使用 USB 连接器。  LAUNCHPADXL-CC2640R2通过 J2提供3V 电源、因此在较短的情况下、IOVDD 和 SPKVDD 均可提供3V 电压。  

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

    我使用4.0.7示例寄存器设置通过 DAC 和耳机/扬声器播放数字数据、验证了 TAS2505EVM 的15mA 电流
    输出。

    然后我配置了 TAS2505EVM,使其具有相同的电源配置我修改 的 LED 音频 DevPack -> 3.3V 至 IOVDD、3.3V 至 SPKVDD (连接至3V3测试点)、选择的 LDO、删除了 DVDD 和 AVDD 的跳线,并在 AVDD 和 DVDD 之间运行线。 加载了4.0.7示例寄存器设置、SPKVDD 电流约为20mA。 因此、它看起来是可行的。

    我修改(并检查)我的设置(LED 音频 DevPack)、以确保它与4.0.7示例寄存器设置(除了必须不同的时钟/PLL 配置)相同、并且它以44mA 的电流运行。

    我目前正在思考:
    它可能与 LED 音频 DevPack 上的浮动 MCLK 引脚有关
    -我已混乱时钟/PLL 设置
    -我损坏了 LED 音频 DevPack

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是根据 TAS2505应用参考指南4.0.7中的设置检查 PLL/时钟设置、以通过 DAC 和耳机/扬声器播放数字数据。 该示例的 PLL_CLK 为45.1584Mhz。 ARG 的第2.6.1.1节 PLL 说明指示这超出范围。

    这是否与我的问题有关? 我是否需要不同的 PLL 时钟限制、或者示例是否有问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PLL_CLK 是 PLL 的输出、45.1584MHz 可以满足器件限制条件、您为什么说它超出范围?
    尽管如果 MCLK 为11.2896MHz、您可以绕过 PLL 并设置 NDAC = 1、MDAC = 2和 DOSR = 128、如其他示例设置中所示。

    在您的原始帖子中、我看到以下内容:
    -设置1:MCLK 为11.2896MHz、在这种情况下、您应该设置以下时钟设置-> PLL = OFF、CODE_CLKIN = MCLK、NDAC = 1、MDAC = 2、DOSR = 128。
    -设置2:无 MCLK 且 BCLK 为1.92MHz、在这种情况下、您应该设置以下时钟设置-> PLL = ON、PLL_CLKIN = BCLK、CODEC _CLKIN = PLL_CLK、PLL_P = 1、PLL_R = 1、 PLL_J = 48、PLL_D = 0、NDAC = 3、MDAC = 5、DOSR = 128

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Ivan Salaza]PLL_CLK 是 PLL 的输出、45.1584MHz 对于器件限制是可以的、为什么您说它超出范围?

    AGR 表2-15. PLL_CLK 频率范围 表示 PLL_CLK 必须介于75和150Mhz 之间。   它还将这些器件称为 TLV320AIC3256、因此我猜可能是剪切和粘贴错误。

    Setup1来自原始 AGR 示例脚本、我无法使用它、因为时钟不同(cc2640r2f 被限制为它可以提供什么时钟... 基本上是48M 的积分除法)、LED 音频 DevPack 上没有可用的 MCLK。

    [引用 USER="Ivan Salazar]-设置2:无 MCLK 且 BCLK 为1.92MHz、在这种情况下、您应设置以下时钟设置-> PLL = ON、PLL_CLKIN = BCLK、CODEC _CLKIN = PLL_CLK、PLL_P = 1、PLL_R = 1、 PLL_J = 48、PLL_D = 0、NDAC = 3、MDAC = 5、DOSR = 128[/报价]

    这些是我使用的设置。  我还尝试过(差异最小)

    - PLL =打开、PLL_CLKIN = BCLK、CODEC _CLKIN = PLL_CLK、PLL_P = 1、PLL_R = 1、 PLL_J = 48、PLL_D = 0、NDAC = 4、MDAC = 5、DOSR = 96

    - PLL =打开、PLL_CLKIN = BCLK、CODEC _CLKIN = PLL_CLK、PLL_P = 1、PLL_R = 1、 PLL_J = 24、PLL_D = 0、NDAC = 3、MDAC = 5、DOSR = 64

    我已经做了一些禁用 PLL 的实验、它看起来没有太大的影响。

    注意:我还尝试了不同的 LED 音频 DevPack、结果相同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您在哪里测量系统上的电流? 请确保您在靠近 SPKVDD 引脚的位置进行测量、以便不会有其他电流消耗影响测量。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦! 看起来我发现了问题。 LED 音频 DevPack SPK 输出上的22nF 电容器 C399和 C400。 我不知道我看了很多次,我想是22pF…… 不是问题、但在22nF 时、它们是问题。 删除了它们、现在一切都按预期工作(17mA)