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:无法为低功耗设置自动静音

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1398722/tas2505-unable-to-set-auto-mute-for-low-power-consumption

器件型号:TAS2505

工具与软件:

您好、TI:

 旧器件停产后、我将把 TAS2505集成到新器件中。
我已通读相关文档、下面包含了引导顺序以及专用于打开和关闭 DAC/扬声器的部分。

TAS250似乎具有我们希望实现的自动静音功能、但它似乎无法按预期工作。 在 代码中、 某些音频中包括暂停、我希望芯片在这些暂停期间会自动静音。 芯片开启后、扬声器输出会因噪声而保持高电平、直到手动关闭、我无法找到有关自动静音工作原理的更多信息。 非常感谢您提供更多有关这方面的信息!

我已经包含了用于打开和关闭 DAC/SPK 的启动序列和相关序列。 使用 I2S 和引脚 BCLK、WCLK、DIN。
我还包含了示波器读数的屏幕截图。

// TAS2505 Init
//------------------------------------------------------- 第0页
SetRegister (0x00、0x00);//选择 Page 0
SetRegister (0x01、0x01);//执行软件复位
5ms 延迟
//------------------------------------------------------- 第1页
SetRegister (0x00、0x01);//选择 Page 1
SetRegister (0x02、0x01);//将 LDO 输出配置为1.8V、LDO_SEL 高电平

//------------------------------------------------------- 第0页
SetRegister (0x00、0x00);//选择 Page 0
SetRegister (0x04、(0b0 <<7)/*时钟范围*/|(0b01 << 2)/* PLL in*/|(0b11)/* CLKIN*);//将 CODEC_CLKIN 设置为 PLL、PLL 源是 BCLK、低 PLL 范围
SetRegister (0x05、(0b10000000)|(0b001 << 4)/* P*/|(0b0011)/* R*/);//启用 PLL:P=1、R=3
SetRegister (0x06、0x38);//设置 PLL J 值= 56
SetRegister (0x07、0x00);//设置 PLL D MSB 值= 0
SetRegister (0x08、0x00);//设置 PLL D LSB 值= 0

15毫秒延迟

//------------------------------------------------------- 第0页
SetRegister (0x00、0x00);//选择 Page 0
SetRegister (0x0B、0x86);//为 NDAC 上电并设置 NDAC = 6
SetRegister (0x0c、0x81);//为 MDAC 加电并设置 MDAC=1
SetRegister (0x0d、0x00);//将 DAC OSR MSB 设置为0
SetRegister (0x0E、0x20);//将 DAC OSR LSB 设置为128 (DOSR=128)
SetRegister (0x1b、0x00);//设置编解码器接口控制:16位字长、I2S 模式
SetRegister (0x1c、0x00);//使用 BCLK&wclk 输入将数据时隙偏移设置为0
SetRegister (0x3c、0x02);//将 DAC 处理块设置为 PRB #2

SetRegister (0x3f、(0b10000000)/*上电*/|(0b01 << 4)/*通道*/|(0b00)/*软步进*/);//混合、每1个 DAC 字时钟1步进
SetRegister (0x41、0x00);//将增益设置为0dB
SetRegister (0x40、0x04);// DAC 未静音-连续800个直流输入后自动静音


//------------------------------------------------------- 第1页
SetRegister (0x00、0x01);//选择 Page 1
SetRegister (0x0a、0x00);//将 DAC 输出共模设置为0.9V (默认值)
SetRegister (0x30、(0b010 << 4));//将 SPK 驱动器 PGA 增益设置为6.0dB


打开和关闭 DAC/SPK -它们在播放音频片段之前和之后运行

//打开
SetRegister (0x00、0x00);
SetRegister (0x40、0x04);// DAC 开启自动静音开启
SetRegister (0x00、0x01);//选择页面
SetRegister (0x2D、0x02);//上电 SPK
SetRegister (0x30、(0b010 << 4));//将 SPK 驱动器 PGA 增益设置为6.0dB

//关闭
SetRegister (0x00、0x01);//选择页面
SetRegister (0x2D、0x00);//断电 SPK
SetRegister (0x00、0x00);
SetRegister (0x40、0x08);// DAC 关闭

青色= BCLK
紫色= wclk
黄色= DIN
蓝色=扬声器

播放的音频为平坦音-暂停在前~250ms、后~400ms
在声音文件的开头和结尾运行启动/停止代码


谢谢你
-邓肯

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

    大家好、Duncan、

    作为一般做法、只要输入时钟(BCLK 和 WCLK)停止、器件就必须完全重新初始化。
    自动=静音功能仅与 DAC 相关;但是、必须单独控制 D 类。 (与上面关于时钟的注释无关)

    此致、
    伊万·萨拉扎尔
    应用工程师