模拟电路前端工程化第1部分作业——音频信号采集前端电路
使用ADALP2000模拟套件中的器件实现“设计一款 - 音频信号采集前端电路”
标签
模拟
模拟电路前端工程化
音频信号采集前端电路
Frankzheng
更新2023-03-21
773

一 概述 1.1 音频信号采集前端电路的设计任务

要求:

 使用ADALP2000模拟套件中的器件实现

 被测音频信号范围:

  1. 信号幅度:0.1mVpp到1Vpp
  2. 信号频率:100Hz到16KHz

 搭建一个带通滤波器,滤除高频和低频部分

 ADC采用套件中的AD7920,转换率设定为96Ksps

  1. ADC前端需要一个抗混叠滤波器,需要设计合适的截止频率

 使用套件中的Micro USB适配器通过USB给面包板供电

 运算放大器可从套件中提供的几个型号中选用

 模拟开关可以使用MOS管搭建,可以尝试将完成前端调理的信号,经过一个隔直电容从3.5mm接口输出

 设计电路并使用LTSpice或CircuitJS对电路进行仿真

 对设计的电路进行测试验证

 撰写一个不少于2000字的设计报告,并拍摄3-5分钟短视频分享在电子森林网站上

 鼓励有单片机的同学将ADC采集到的数据波形显示出来,有礼物赠送

 可以用套件中的麦克风进行测试、演示

1.2 整体设计框图

Fh1xGqWpFZp1eInULWV99PkVpvqz

图1 整体设计框图

这个设计框图是一个音频信号采集前端电路。信号从信号输入端输入,经过带通滤波器进行频率选择,滤除高频和低频部分。然后进入放大电路进行信号放大。接下来信号通过抗混叠滤波器去除高于采样率一半的频率分量,以确保采样后的数字信号不会产生混叠。最后,信号经过ADC转换为数字信号进行处理和存储。这个设计的好处在于,它可以有效地去除干扰信号和噪声,同时保留原始信号的重要部分,以获得高质量的采样数据。抗混叠滤波器可以防止数字信号出现混叠,提高了采样的精度和准确性。带通滤波器和放大电路的组合,可以满足一定范围内的信号采集需求,并可根据需求进行调整。

1.3 采用的ADALP2000模拟套件的器件

  1. 5V转3.3V供电:ADP3300-3.3
  2. 音频信号输入: 麦克风
  3. 带通滤波器: OP27*2
  4. 放大电路: AD8542*1
  5. ADC: AD7920*1

二 电路设计 2.1 带通滤波器设计

带通滤波器是一种滤波器,可以让一定频率范围内的信号通过,而将其他频率的信号阻隔掉。它通过选择合适的截止频率来实现对特定频率范围内的信号进行传输,其作用是滤除高频和低频的噪声,使信号更加纯净。在音频信号采集前端电路中,带通滤波器的作用是滤除采集到的音频信号中低频和高频部分,只保留所需的中频信号,以避免对后续处理产生干扰和噪声。

本次设计所需的信号频率为100Hz到16KHz。采用ADI 滤波器设计工具Analog Filter Wizard(https://tools.analog.com/en/filterwizard/),设计成带通、四阶巴特沃兹的滤波器,以下是详细规格:

  1. 优化目标: 特定元件; +Vs: 5; -Vs: -5
  2. 增益: 0 dB
  3. 通带: -3dB at 20kHz
  4. 阻带: -15dB at 55kHz
  5. 元件容差: 电容 = 5%; 电阻 = 1%; 容差 = 5%; 运放增益带宽积 = 20%

Z

图2 ADI 滤波器设计工具生成的四阶巴特沃兹滤波器电路

9k=

图3 ADI 滤波器设计工具生成的四阶巴特沃兹滤波器电路的幅度响应

LTspice 仿真的结果如下:

gfR6Sv7C3XWmAAAAABJRU5ErkJggg==

图4 LTspice的四阶巴特沃兹滤波器电路的幅度响应

电路图设计:

gwSycpyOeeAn0YStrhb6MgIkQ8dv+mmlfcVjWAi+1nN553I3k7aflrfZptusuuu7521zwgZ0k4ZiGp6XXcZCDl8mh71iKh7fKvf0J6Qwyh0awxSpdUfiU0rmfyQTh5ADpN7DgjJY0geQLdOrLVOFgbCnlDsM8nTATkMhMMhh1EQQyZpyhwGIodDMvncmANC8hiSB+BwMC+VJ9j2RieNDgeHw4BP3E2fFlyAX2tOQ3kCBAgQIECAAAECBAgQIECAAAECBLpQQKq0CwdVlwgQIECAAAECBAgQIECAAAECBAgQqFVAqrRWMeUJECBAgAABAgQIECBAgAABAgQIEOhCAanSLhxUXSJAgAABAgQIECBAgAABAgQIECBAoFYBqdJaxZQnQIAAAQIECBAgQIAAAQIECBAgQKALBaRKu3BQdYkAAQIECBAgQIAAAQIECBAgQIAAgVoFpEprFVOeAAECBAgQIECAAAECBAgQIECAAIEuFJAq7cJB1SUCBAgQIECAAAECBAgQIECAAAECBGoVkCqtVUx5AgQIECBAgAABAgQIECBAgAABAgS6UECqtAsHVZcIECBAgAABAgQIECBAgAABAgQIEKhVQKq0VjHlCRAgQIAAAQIECBAgQIAAAQIECBDoQgGp0i4cVF0iQIAAAQIECBAgQIAAAQIECBAgQKBWAanSWsWUJ0CAAAECBAgQIECAAAECBAgQIECgCwWkSrtwUHWJAAECBAgQIECAAAECBAgQIECAAIFaBaRKaxVTngABAgQIECBAgAABAgQIECBAgACBLhSQKu3CQdUlAgQIECBAgAABAgQIECBAgAABAgRqFZAqrVVMeQIECBAgQIAAAQIECBAgQIAAAQIEulBAqrQLB1WXCBAgQIAAAQIECBAgQIAAAQIECBCoVUCqtFYx5QkQIECAAAECBAgQIECAAAECBAgQ6EIBqdIuHFRdIkCAAAECBAgQIECAAAECBAgQIECgVgGp0lrFlCdAgAABAgQIECBAgAABAgQIECBAoAsFpEq7cFB1iQABAgQIECBAgAABAgQIECBAgACBWgWkSmsVU54AAQIECBAgQIAAAQIECBAgQIAAgS4UkCrtwkHVJQIECBAgQIAAAQIECBAgQIAAAQIEahWQKq1VTHkCBAgQIECAAAECBAgQIECAAAECBLpQ4P8HDEmzRy9NYAEAAAAASUVORK5CYII=

图5 四阶巴特沃兹滤波器电路

2.2 抗混叠滤波器设计

当进行模拟信号采样时,采样率至少需要达到信号最高频率的两倍才能保证采样的准确性,否则会产生混叠现象。抗混叠滤波器是一种用于防止采样信号混叠的滤波器,其作用是在进行模拟信号采样之前对信号进行滤波,去除高于采样率一半的频率分量,从而保证采样后的数字信号不会产生混叠。在本次设计任务中,采样率为96kHz,因此需要设计一个抗混叠滤波器,将截止频率设定为48kHz,以满足采样要求。

搭建一个一阶低通滤波器,R1为330 ohms, C1为10 nF,仿真效果如下:

w8VkT6lpvNGfQAAAABJRU5ErkJggg==

图6 截止频率设定为48kHz的一阶滤波器设计

2.3 运算放大器选择和设计

HySmYpMJTnrNAAAAAElFTkSuQmCC

图7 放大器的设计(含多路复用开关)

放大电路使用了多路复用开关,可以切换两个档位的放大倍数,分别为2.3倍和4.2倍。此外,我还在电路中加入了直流偏置电压1.24V,目的是为了保证放大效果,并避免出现负压。因为ADC的输入电压范围是0-3.3V,如果没有直流偏置电压的话,放大电路的输出信号可能会产生负压,导致无法被正确采样。通过加入直流偏置电压,可以将信号整体向正方向偏移,使得输出信号始终在0-3.3V范围内。这样可以保证ADC能够准确地采集信号。 其中,放大档位为4.2倍的原因是为了放大信号并增强小信号的效果,尤其是对于0~0.5Vpp的信号,放大后有利于ADC采样。另外,多路复用开关可以让用户根据需要选择合适的放大倍数,增强了放大电路的灵活性。通过使用这种设计,可以有效地提高信号的质量,保证ADC采集到的信号是准确的、可靠的,并满足特定的应用需求。

2.4 ADC设计

AD7920是一款12位的单端输入ADC芯片,其信号输入范围为0到Vref之间,Vref的范围为2.5V到5.25V。因此,如果我们选择一个2.5V的参考电压,则ADC的输入范围为0V到2.5V。在本次设计中,我们使用了Vref为3.3V,因此ADC的输入范围为0V到3.3V。

AD7920不需要进行额外的配置和初始化,因为它在启动时就可以直接进行采样和转换。这使得使用AD7920变得更加简单和方便,减少了花费在设置上的时间和精力,使得用户能够更快速地开始使用ADC采集数据。

在使用STM32与AD7920通信时,SCLK速率通常由主设备控制。在本文中,我们需要将SCLK速率设置为1.536MHz以上,以满足AD7920的96ksps的速率采样。

三 测试验证 3.1 测试环境介绍

使用的测试设备:ADALM2000、STM32F103RC

软件:Scopy

本次测试,采用音频输入的方法,然后听喇叭放大声音的效果。此外,通过STM32与AD7920进行SPI通信,用STM32的DAC将通信的ADC结果再发出来。完成“ADC采集到的数据波形显示出来”。

在STM32中,使用的是SPI1,DAC使用的是DAC1。

管脚如下:

AD7920

STM32

SDATA

PA6(SP1_MISO)

SCLK

PA5(SP1_CLK)

CS

PA0

 

PA4(DAC1)

FuvPglsuQpF8ShaVQEQ21xgg7Ob4

具体结果请看视频。

3.1.1 STM32的测试代码

代码具体见附录,这里提供对代码的解释。

测试代码是一个基于STM32的ADC读取程序,使用SPI协议与AD7920 ADC进行通信,并读取转换结果。程序中SPI的时钟频率被设定为APB2总线时钟频率(为72MHz)除以16,即4.5MHz。具体来说,程序首先定义了CS_PIN和CS_PORT,这是AD7920芯片选择信号的引脚和对应的GPIO端口。然后定义了SPI_InitStruct和GPIO_InitStruct结构体,用于配置SPI和GPIO的相关参数。

在AD7920_Init()函数中,程序通过使能SPI1和GPIOA时钟来启用SPI和GPIO的功能,并配置了SPI的时钟极性、相位、NSS信号以及通信速率等参数。同时,将CS_PIN设置为输出模式,并将CS信号设置为高电平以停止转换。在AD7920_Read()函数中,程序将CS信号拉低,启动转换,并向AD7920发送一个无意义的16位数据,以启动SPI总线的时钟线。然后程序等待转换完成,并从接收缓冲区中读取转换结果。最后将CS信号拉高,以停止转换。

在主函数中,程序调用AD7920_Init()函数进行初始化,并进入一个无限循环中。在每次循环中,程序调用AD7920_Read()函数读取ADC的转换结果,并将结果存储在ad7920_data变量中。

最后通过DAC输出还原。

3.2 测试结果展示

见视频

四 设计报告总结

本次总结,有些瑕疵的部分在于DAC似乎不能很好的传输数据出来显示ADC采样波形。

五 参考文献

  1. 知乎 [如何理解 Nyquist 采样定理?](https://www.zhihu.com/question/24490634)
  2. [香农-奈奎斯特采样定理 Shannon Nyquist Sampling Theorem](https://www.bilibili.com/video/BV12W4y1i7Bb/?spm_id_from=333.337.search-card.all.click&vd_source=94c2b3982ce2b4282277f532d1dd68c0)
  3. [【MATLAB】一维信号的临界采样/过采样/欠采样与恢复](https://www.bilibili.com/video/BV1Wy4y1M7T9/?spm_id_from=333.788.recommend_more_video.-1&vd_source=94c2b3982ce2b4282277f532d1dd68c0)
  4. [控制系统】七-基础版1 #数字控制设计# #信号和采样# 🆕#Aliasing混叠#](https://www.bilibili.com/video/BV1LS4y1F7vn/?spm_id_from=333.788.recommend_more_video.6&vd_source=94c2b3982ce2b4282277f532d1dd68c0)
  5. [常见电源问题——ADC常见问题1:混叠效应](https://www.bilibili.com/video/BV1Sq4y1u7sZ/?vd_source=94c2b3982ce2b4282277f532d1dd68c0)

六 附录

代码见”软硬件“,其中,电路图没有忘记加抗混叠滤波器和音频驱动电路,这是另外单独焊接上去的。

附件下载
main.c
团队介绍
个人
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号