如何搭建一个音频电路将模拟量传输给单片机采集

发布日期:2023-01-01
如何搭建一个音频电路将模拟量传输给单片机采集

电工优优今天要和大家分享的如何搭建一个音频电路将模拟量传输给单片机采集相关信息,接下来我将从如何搭建音频自媒体这几个方面来介绍。

设计了一个电路,进行详细分析,并说明了软件设计的一些要点。

P1是麦克风的接线端子,用于外接麦克风;

R1上拉到电源电压VCC,用于给MIC提供偏置电压,其电阻值需要根据MIC的规格书选定。

R3,R4串联接到VCC,其分压连接到运放的同相输入端,作为运放的直流偏置,我们选择VCC/2作为运放的直流偏置,有两个目的,一个是运放可以用单电源供电,另一个目的将交流的音频信号做电平抬升至正电压,以输入到MCU的ADC口。

由于电容C1的存在,运放U1A的直流通路是一个电压跟随器,也是是同相、反相和输出端的直流电平都是VCC/2.

人耳可以听到的声音范围是20Hz-20KHz,一般人说话的声音在几百到2KHz范围内,高音部分可能最高到8KHz左右。考虑到MCU的资源和性能,我们把ADC转换率做到8KHz ,根据奈奎斯特采样定理, 8KHz的ADC可以还原4KHz的信号。

C1和R2,R5构成高通滤波器,可以选择合适的C1,R2,使得该高通滤波器的截止频率在几十Hz左右。

R5,C2构成低通滤波器,选择合适的C2,R5,使得截止频率做到10KHz左右。

运算放大器的放大倍数为R5/R2,可以根据MIC输出的信号幅度,选择合适的放大倍数;

R6,R7进一步分压,使得运放输入的信号最大和最小值在MCU的ADC输入范围内。

R6,R7和C3的截止频率应该小于2倍的ADC采样率,否则会发生频谱混迭,导入高频干扰。

R6,R7应该在5K以内取值,太大会导致ADC的采样电容无法正确采样到电压进行转换;

接下来讲一下软件设计:

刚才说到,ADC的转换频率需要做到8KHz,也就是125uS需要做完一个转换。

如果我们采用16位的AD,至少需要16个ADC的时钟完成一次转换,再加上采样时间。因此ADC的时钟需要设置在5us左右。

另外ADC的转换的启动触发,最好采用定时器自动触发ADC转换,MCU如果没有这个功能,需要用定时器软件中断去触发转换。

设置定时器每125us中断一次,在中断程序里,在读取上一次转换值之后,再启动下一次的转换;

ADC转换数据的存储及处理:

根据MCU任务调度的分配,ADC的数据处理宜在每隔几百ms处理一次。

这个处理可能是存在flash,或者是通过串口/网络发送给其它设备;

存储的速度或者数据发送速度必须要大于转换速度。

8kHz的转换率,如果是16位AD,需要flash以大于16Kbyte/s的速度进行存储。

串口的波特率以及网络发送速度至于大于128Kbps。

这样需要一个先进先出的环形数组,数组大于必须要能保存几百ms的数据,需要大概几k的RAM空间。

最好是通过DMA进行数据存储和发送。

综上,MCU需要有8K转换率的ADC,几K的RAM空间,要有高速的串口或网络发送模块,或者是大于16Kbyte/s的存储媒介,最好有DMA功能,定时器能自动触发AD启动转换。

以上就是"电工优优"为大家介绍的如何搭建音频自媒体的相关信息,想了解更多"如何搭建一个音频电路将模拟量传输给单片机采集,如何搭建音频自媒体"相关知识,请收藏电工无忧吧。