工具与软件:
您好、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
在声音文件的开头和结尾运行启动/停止代码
谢谢你
-邓肯