我们在项目中使用 TLV320AIC3101作为编解码器。 单端麦克风输入连接到 MIC1LP/LINE1LP。 并且 MIC1LM/LINE1LM 连接到 AGND。 输出为 LEFT_LOP/LOM。 音频串行接口的设置为
- DSP 模式
16位帧
- 1位偏移
-无源时钟模式
- MCLK 2.048MHz
-参考采样时钟48kHz
我们使用外部控制器通过 I2C 总线配置编解码器、并处理音频数据。 我们可以听到外部控制器产生的测试音、但从不获取模拟输入。 以下是详细设置的伪代码。
CODE_I2C_WR (1 /*寄存器地址*/、0x80 /*值*/); //将编解码器重置为默认状态*
CODE_I2C_WR (2、0x44); //采样率:48K/3=16K */
CODE_I2C_WR (3、0x91); /* PLL 被启用、P=1、Q=2 */
CODE_I2C_WR (4、0xC0);/* PLL、J=48 */
CODE_I2C_WR (101、0x00);
CODE_I2C_WR (102、0x02);
CODE_I2C_WR (7、0x0A);/* FS (ref)= 48kHz *
CODE_I2C_WR (9、0x48);/* DSP 模式、字长16位*/
CODE_I2C_WR (10、0x01);/*数据偏移= 1位时钟*
CODE_I2C_WR (41、0x00);
CODE_I2C_WR (81、0x00);// 0x80用于 PGA_L 输出*
CODE_I2C_WR (82、0x80);//如果需要 PGA_L 输出*
CODE_I2C_WR (18、0xF0);/* LINE2R 至 R-ADC PGA *
CODE_I2C_WR (19、0x07);/* LINE1L 至 L-ADC PGA *
CODE_I2C_WR (15、0x00);/*撤消 PGA_L 的静音*
CODE_I2C_WR (16、0x00);/*撤消 PGA_R 的静音*
CODE_I2C_WR (43、0x30);/* L-DAC 增益*
CODE_I2C_WR (44、0x30);/* R-DAC 增益*
CODE_I2C_WR (37、0xC0);//为 L-DAC 和 R-DAC 加电*
CODE_I2C_WR (86、0x0B);/*撤消 LEFT_LOP/LOM 的静音*
CODE_I2C_WR (93、0x0B);//取消对 RIGHT _LOP/LOM 的静音*
结束
通过将 REG#82设置为0x00、我们可以关闭测试音输出。 我们希望听到来自 LINE1L 的测试音调输入、因此我们将 REG#81设置为0x80。 但我们听不到任何东西。
请帮我们修复设置。 提前感谢。