https://e2e.ti.com/support/audio-group/audio/f/audio-forum/681483/tas2505-tas2505-high-current-draw
器件型号:TAS2505主题中讨论的其他器件:CC2640R2F、 TPS799、 TLV320AIC3256
我一直在使用连接到 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);