TI论坛
直播中

刘艳

7年用户 2352经验值
私信 关注
[问答]

用TLV320AIC3101开始录音,出现0.4S左右的破音正常吗?


  • 我们用TLV320AIC3101 开始录音,电路按照规格书,出现0.4S左右的破音,正常吗?用耳机监听,有明显的POP声
    有没有好的解决办法?

回帖(3)

李奂善

2024-10-14 09:31:05
这完全取决于你的录音顺序,你能分享出你的顺序吗?
举报

梅利号

2024-10-14 09:32:32

以下是我的建议:

volatile

unsigned int delay = 0xFFF;


/* Select Page 0 */


CodecRegWrite(AIC31_P0_REG0, 0,sizeof(CodecWrite));


/* Reset the codec */


CodecRegWrite(AIC31_P0_REG1, AIC31_RESET,sizeof(CodecWrite));


while(delay--);


CodecRegWrite(AIC31_P0_REG9, (0u << 6u | 2u <<

4u),sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG10, 0,sizeof(CodecWrite));


CodecRegWrite( AIC31_P0_REG8, 0x00,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG7, 0x0A,sizeof(CodecWrite));


//set ADC


CodecRegWrite(AIC31_P0_REG15, 0x00,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG16, 0x00,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG17, 0x0F,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG18, 0xF0,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG25, 0x40,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG19, 0x04,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG22, 0x04,sizeof(CodecWrite));


//set DAC


CodecRegWrite(AIC31_P0_REG37, 0xE0,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG41, 0x02,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG42, 0x6C,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG47, 0x80,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG46, 0x80,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG51, 0x01,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG64, 0x80,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG63, 0x80,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG65, 0x01,sizeof(CodecWrite));

//The

delay below should match the ramp up time set  in register 42.  this is to allow

the output to power up.Alternately wait until Reg 94 D1 = '1'.


CyDelay(500);


CodecRegWrite(AIC31_P0_REG51, 0x09,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG65, 0x09,sizeof(CodecWrite));

//

the delay below is a function of the soft stepping. if set to 1step per sample

this is 508/fs .  if set to 1 step every 2 samples then 1016/fs.


CyDelay(500)


CodecRegWrite(AIC31_P0_REG43, 0x00,sizeof(CodecWrite));


CodecRegWrite(AIC31_P0_REG44, 0x00,sizeof(CodecWrite));

//

the delay below is a function of the soft stepping. if set to 1step per sample

this is 508/fs .  if set to 1 step every 2 samples then 1016/fs.


CyDelay(500);

}

如果你能利用HPOUT上的弱偏压,这将消除任何剩余的POP音。所以在设备首次初始化时启用弱偏压。当然,在启用时会有轻微的电流消耗。


举报

无人岛

2024-10-15 18:11:41
首先,我们需要了解TLV320AIC3101是一款音频编解码器,用于音频信号的处理。在开始录音时出现0.4秒左右的破音可能是由于多种原因导致的。以下是一些可能的原因和相应的解决办法:

1. 电源问题:不稳定的电源可能导致音频编解码器在启动时出现破音。请确保您的电源供应稳定,并且符合TLV320AIC3101的规格要求。

2. 电路设计问题:请检查您的电路设计是否完全符合TLV320AIC3101的规格书要求。确保所有连接正确,并且没有短路或断路的情况。

3. 时钟问题:TLV320AIC3101需要一个稳定的时钟信号来正常工作。请检查您的时钟信号是否稳定,并且符合规格要求。

4. 音频输入信号问题:请检查您的音频输入信号是否干净,没有噪声或干扰。如果输入信号有问题,可能会导致编解码器在处理音频时出现破音。

5. 软件设置问题:请检查您的软件设置是否正确。确保录音模式、采样率、位深等参数设置正确,以避免出现破音。

解决办法:

1. 优化电源设计:确保电源供应稳定,可以使用线性稳压器或开关稳压器来提高电源稳定性。

2. 检查电路设计:仔细检查电路设计,确保所有连接正确,没有短路或断路的情况。

3. 优化时钟信号:使用稳定的时钟信号源,确保时钟信号符合规格要求。

4. 优化音频输入信号:使用高质量的音频输入信号,避免噪声和干扰。

5. 调整软件设置:检查并调整软件设置,确保录音模式、采样率、位深等参数设置正确。

6. 使用消音电路:在音频输入端添加消音电路,如RC低通滤波器,可以减少破音现象。

7. 软件处理:在录音软件中添加消音算法,可以在一定程度上减少破音现象。

8. 硬件优化:如果以上方法都无法解决问题,可以考虑更换其他型号的音频编解码器,或者寻求专业技术支持。

总之,要解决TLV320AIC3101在开始录音时出现的破音问题,需要从多个方面进行排查和优化。希望以上建议对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分