基于ARM单片机LPC2148的音频分析仪设计

2010年11月04日 21:10    发布者:techshare
随着微电子和信息技术的快速发展,以单片机为代表的数字技术发展日新月异。单片机由于具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,而广泛应用于各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理。事实上,通过采用单片机来进行控制,可以实现仪器仪表的数字化、智能化和微型化。本文通过对比选择采用了LPC2148芯片解决方案来实现音频分析仪的设计。

1 系统分析与选择

1.1 信号处理原理分析

在对音频信号进行分析的过程中,本文采用了快速傅立叶变换FFT算法,即首先对音频信号进行离散化处理,然后进行FFT运算,求出信号各个离散频率点的功率数值,并得到离散化的功率谱,最后在频域计算被测音频信号的总功率。

1.2 系统的选择

在处理器的选择上,通常可以选择8位、16位或者是32位的MCU。但是,由于在处理信号的过程中,通常会用到快速傅立叶变换FFF算法,所以需要进行大量的浮点运算,而且一个浮点要占用四个字节,故在处理过程要占用大量的内存,同时浮点运算时间也很慢,所以采用普通的8位MCU和16位MCU一般难以在一定的时间内完成运算。综合考虑系统内存的大小以及运算速度,本系统选用Philips公司的32位单片机LPC2148。该芯片具有32 KB的RAM,而时钟频率高达60 MHz,所以,对于浮点运算,不论是在速度上,还是在内存上都能够很快的处理。在信号采样方式上,由于本系统所选用的32位MCU芯片LPC2148是60 MHz的单指令周期处理器,定时精度为16.7 ns,可以实现40.96 kHz的采样率,而且控制方便,成本便宜,所以,本设计由MCU进行直接采样,而不采用DDS芯片配合FIFO对信号进行采集。

2 系统设计

2.1 总体设计

在系统总体设计中,音频信号的采样过程非常关键。当音频信号经过一个由运放和电阻组成的匹配网络进行采样时,首先要由量程控制模块对信号进行处理,如果信号电压在100 mV~5 V的范围内选择直通,也就是不对信号进行衰减或者放大控制,则可减少误差。但是,当信号强度太小时,12位的A/D转换器在2.5 V参考电压下的最小分辨率为1 mV左右,这时如果选择直通,其离散化处理的误差将会非常大。因此,当采集到信号后,若发现其强度太小,如在20~250 mV之间,这时就应该将其认定为弱信号,故应对其经过增益放大器放大之后再进行A/D采样。

经过12位A/D转换器ADS7819转换后的数字信号可由32位LPC2148进行FFT变换和处理,以分析其频谱特性和各个频率点的功率值,然后将这些值送到Atmega16进行显示控制。信号由32位LPC2148分析后,可判断其周期性,可由Atme-gal6进行测量,然后在LCD显示屏上显示,其功能框图如图1所示。





2.2 放大电路设计

当信号输入后,首先要根据信号强弱进行放大处理,图2所示是其放大电路原理图。该放大电路通过R1和R2两个电阻和一个高精度仪表运放AD620实现跟随功能,并在进行阻抗匹配后。通过继电器控制来决定是将信号直接送给AD转换还是放大后再进行AD转换。





由于需要对音频信号的频率及其功率进行检测,并且要测量正弦信号的失真度,因此要求在对小信号进行放大时,要尽可能少的引入信号的放大失真。正弦信号的理论计算失真度为0,对引入的信号失真非常灵敏,所以,本设计选择了低噪声、低失真的仪表放大器INA217,以将失真度控制在1 kHz频率之内。

2.3 AD转换电路设计

本系统采用12位AD转换器ADS7819来对信号进行转换,并将转换的数据送往32位控制器进行处理,其转换电路原理图如图3所示。





3 软件设计

由于系统主控芯片LPC2148的处理速度比较快,所以,软件设计采用C语言来进行编程比较简单快捷,其软件设计流程图如图4所示。





4 结果分析

笔者对本系统的音频信号进行了测量,并得到了如表1所列的数据。由于实验室能够模仿的音频信号只有正弦信号,所以,实验采用信号发生器来产生正弦信号,然后对其进行测量和误差分析,根据时域和频域的测量结果可以发现,其测量误差在5%的范围之内,且没有发现明显失真,基本可以满足实验的测量要求。





5 结束语

经过实验检验,本系统架构设计合理,功能电路较好,系统性能优良、稳定,系统设计基本可以满足音频分析的基本要求,且误差较小。但是,由于音频信号有多个频点,没有一定的规律性,因而导致测量过程中音频信号波动较大,这一点在应用过程中,还要对系统进行进一步的改进和完善。