嵌入式声强监控系统设计*
2017-11-03蔡成涛付承涛
蔡成涛,付承涛,刘 祥
(1.哈尔滨工程大学 自动化学院,哈尔滨 150001;2.中国船舶重工集团公司第703研究所,哈尔滨 150078)
嵌入式声强监控系统设计*
蔡成涛1*,付承涛1,刘 祥2
(1.哈尔滨工程大学 自动化学院,哈尔滨 150001;2.中国船舶重工集团公司第703研究所,哈尔滨 150078)
介绍了一种基于ATmega128单片机和A/D转换芯片AD1674的嵌入式声强监控系统。通过对ATmega128单片机和A/D转换芯片AD1674特点和工作原理的分析,设计了嵌入式声强监控系统的总体方案,深入讨论了声强监控系统前端采集、模拟放大、A/D转换以及与ATmega128单片机接口技术的设计。通过串口接口将单片机经过处理后的数据传输至上位机进行显示,并可以在线修改系统监控参数值。最后通过试验验证,所设计的嵌入式声强监控系统操作简单、运行稳定可靠。
嵌入式;声强监控系统;ATmega128;AD1674
采集和分析处理声音信号是工程应用中经常需要解决的问题。如何采集声音信号并利用其监控某一区域的声强变化在科学研究中是一项非常有意义的工作。采集声音信号来监控声强是运用数字信号处理的方法对现场采集的实时声音信号进行分析,为现场状况的预测提供精确的数据分析依据,可以广泛应用于各个领域。本系统采用ATmega128单片机和A/D转换芯片AD1674设计一套嵌入式声强监控系统。系统改善了传统硬件采集电路设计复杂,集成度不高的缺陷,同时设计了计算机操作界面与硬件采集系统互相通信功能,控制命令可以实时修改监控系统的监控指标,使每次修改监控指标都不需要重新下载程序,简化了操作。设计的系统既可以应用在对某一区域进行声强监控,也可以作为高档声控设备使用。
1 系统总体设计
系统用于对周围环境声音信号的声强进行监控。考虑到人类能够听到的声音信号一般是在20 μHz~20 kHz范围内的模拟信号[1],不便于直接观察和分析,故系统需要将模拟信号转换成我们可以进行分析和计算的数字信号。系统设计对分贝值范围在0~110 dB的声强信号进行监控和报警动作;对声音信号采样频率大于50 kHz,信号传输波特率为9 600。设计首先采用声音传感器和信号调理器对周围环境的声音信号进行拾取和信号调理。经过调理的声音信号电压通常为毫伏级,需要对信号进行模拟放大、隔直和阻抗匹配处理后送入A/D转换芯片AD1674进行A/D转换。其次,ATmega128单片机不断读取A/D转换数据。每读取100个数据,将其计算出声强值并判断是否超过预设限定值,如果超限则通过RS-422串口通信发送超限标志位。同时,系统设置的监控操作软件可以实时查询当前声强值,并可以对监控参数进行实时修改。系统结构框图如图1所示。
图1 系统结构框图
2 系统硬件设计
2.1 前端采集
系统对声音信号的前端采集主要通过声音传感器和信号调理器来完成。
本系统的传声器采用北京声望声电技术有限公司生产的MPA231型传声器。传声器是将声音信号转换为电信号的能量转换器。传声器MPA231的特点为集合了1/2英寸预极化驻极体测量传声器与前置放大器,可以进行多路与长距离测量,极大地拓展了测量范围;频率响应范围20 Hz~20 kHz;工作温度范围-40 ℃~100 ℃,宽范围的工作温度可以使系统在各种环境下对周围声音信号进行采集。
经过传声器采集的信号不能直接进入放大电路处理,还需要进行信号调理。这里采用该公司生产的MC102型信号调理器。信号经过调理后送入模拟放大电路模块。
2.2 模拟放大
系统模拟放大部分电路图如图2所示。
图2 系统模拟放大部分电路图
图2为系统模拟放大电路。首先,运放器件的选择对模拟放大电路非常关键,这里选用OP07运放芯片。OP07运放芯片是一种低噪声、非斩波稳零的双极性运算放大器集成电路。OP07同时具有输入偏置电流低、开环增益高的特点使其特别适用于放大传感器的微弱信号。
其次,图2中(a)所示为模拟放大电路。运放U8、U9构成差模输入和差模输出的交叉耦合前置放大电路。采用同相差分输入方式,同相输入可以大幅度提高电路的输入阻抗,减小电路对微弱输入信号的衰减。差分输入可以使电路只对差模信号放大,而对共模输入信号只起跟随作用,使得送到后级的差模信号与共模信号的幅值之比得到提高。这样会使以运放U10为核心部件组成的差分放大电路具有更好的共模抑制能力。
此外,进入模拟放大部分的信号是双极性的,这里采用运放双电源技术,保证信号经过放大后的周期完整性。
最后,放大后的信号需要进行隔直(图2中(b)所示)和阻抗匹配(图2中(c)所示)处理才能送入A/D转换芯片AD1674进行A/D转换。隔直处理采用RC构成的一阶高通滤波器实现。阻抗匹配处理采用运算放大器连接的电压跟随器,因为其输入阻抗非常大,不会影响连接在其前面的电路,而输出阻抗非常小,有足够的能力驱动后续电路,使前一级的信号能最大功率的传输到后一级。
图2所示系统模拟放大电路的放大倍数计算方法如下:
(1)
经式(1)计算得:
(2)
这里取R16=51 kΩ,代入式(2),可以计算出模拟放大电路的放大倍数为60倍,确保采集模拟数据符合设计指标对测量范围的要求。
图3 A/D转换与接口通信硬件电路图
2.3 AD转换与接口通信电路
图3给出了A/D转换与接口通信的硬件电路图。ATmega128单片机外围和接口电路如图3中(a)部分所示。ATmega128是一款具有高性能、低功耗的AVR 8位处理器,运算能力强、运行速度快[2]。外围电路设计用MAX809复位芯片搭建一个上电复位电路,提高系统可靠性,单片机电路加入退耦电容滤波去除干扰。程序通过标准的JTAG接口进行下载和在线调试。
ATmega128单片机接口电路主要功能是读取AD1674转换完成的声音信号电压值,将电压值通过计算转换成声强值。数据通信主要通过数据线DB0~DB11完成。这里需要注意的是DB0~DB3数据线要分别与DB8~DB11并联,否则极易损坏芯片,而且得不到正确的转换结果。
串口通信选用RS-422通信方式。RS-422使用差分信号,具有更好的抗噪性和更远的传输距离的优点。RS-422串口通信电路如图3中(b)部分所示。
图3中(c)部分为A/D转换电路。A/D转换电路的核心是A/D转换芯片,这里选用AD1674。A/D转换芯片AD1674是美国AD公司推出的一种完整的12位并行模/数转换单片集成电路。采样频率高达100 kHz,内部集成采样保持器,保证数据传送的准确性。根据采样定理,AD1674的采样频率远远大于要采集声音信号频率的2倍,完全满足系统对采样频率的要求。其工作模式可分为全控模式和独立模式。这里采用全控工作模式[3]。通过图3中(c)部分可以看到,AD1674有5根控制线,分别是:12/8、CS、A0、R/C、和CE。使用单次转换模式采样时首先需要将片选信号CS置低,选中芯片,然后分别置低R/C和A0信号线,选择12位转换模式,最后将CE信号置高使能芯片,开启A/D转换。读取数据时由于单片机是8位数据总线接口,所以数据的读取需要分两次进行。在读取操作之前首先置低CE信号,关闭芯片使能,然后将R/C信号置高、CE信号置高使能读操作,读取高8位数据,然后保持R/C和CE信号,将A0信号置高读取低4位数据。数据读取完成后将A0和CE信号置低,CS信号置高等待下一次采样开始[4]。此外,由于AD1674芯片分别与模拟电路和数字电路相连,模拟电路与数字电路共地则会相互产生干扰。这里采用模拟地与数字地隔离技术,实现单点接地,确保地线不干扰,不产生压差。
图3中(d)部分是系统的无源触点输出部分,当声强分贝值超过某一预定的阈值时,单片机控制继电器线圈得电吸合,接通A、B两点,完成相应的控制动作。
3 系统软件设计
3.1 下位机软件
系统的软件调试部分采用C语言编写程序,选用AVR Studio软件进行程序下载。由于AVR Studio支持汇编语言编译,不支持C语言编译,因此需要先用ICC AVR软件编写C语言并进行编译,然后使用AVR Studio打开编译生成的*.cof文件,进行程序的仿真调试,或者直接用AVR Studio将编译好的*.hex文件下载到目标板里。
ATmega128单片机采用查询方式判断STS引脚状态判断A/D转换是否完成。具体编程思路是:单片机上电,系统进行初始化,循环程序不断检测STS引脚的电平,一旦A/D转换完成,单片机读取A/D转换数据,并将其存储在数组当中,同时将存储的数据按顺序依次标识。单片机每采集100个数据后对存储在数组内的A/D转换数据进行提取并做均方根运算,然后将数据转换成声音分贝值并与设定限值进行比较,超限则发送报警标志位,同时判断是否有查询指令查询当前采集的数据和系统设置参数值。每当一次判断完毕,程序清除存储在数组中的数据值、清零数据顺序标识并进行下一次处理。修改、读取系统参数值分别通过写、读单片机内的EEPROM完成。下位机软件处理流程图如图4所示。
3.2 上位机软件
嵌入式声强监控系统的上位机软件部分采用VC++语言编写,用来查询下位机通过RS-422串口传送上来的数据,同时根据不同监控任务实时对下位机监控参数值做出相应的修改。声强监控系统上位机测试程序界面如图5所示。
从图5可以直接读出所监控区域的声强分贝值,声强值连续超限时标志位的发送时间间隔,以及设定的声强阈值。同时可以在线修改声强阈值和超限标志位发送时间间隔。
图4 下位机软件处理流程图
图5 声强监控系统上位机测试程序界面
4 试验及结果
本系统试验采用一个恒定值的声强校准器对嵌入式声强监控系统进行测试。声强校准器采用94 dB恒定值,频率为1 000 Hz。数据处理采用每采集到100个数据,将采集到的数据经过均方根处理后计算出实际电压值,按照式(3)和式(4)转换成声强信号进行比对(传感器部分将采集到的声音信号转换成46.8 mV/Pa的电压值)。
P=x/46.8
(3)
式中:x表示采集到的电压值(单位:mV),P表示压强(单位:Pa)
dB=20lg(P/P0)
(4)
式中:P0为常数(值为20×10-6Pa)
通过示波器可以看到通过前端采集采集到的声强校准器本身产生的波形和将其接入系统后经过模拟放大后的波形分别如图6和图7所示。
图6 前端采集到的声强校准器的波形
图7 经过模拟放大后的波形
根据图7所示采集到的电压值是2.99 V,由于前面搭建的运放经实际测得的放大倍数是58倍,可以计算出采集到的实际电压值为2.99 V/58=51.55 mV。根据式(3)和式(4)计算得分贝数为94.81 dB,误差符合要求。系统可以在诸多分贝检测报警系统中得到应用。系统应用图如图8所示。
图8 系统应用图
为了检验A/D转换的准确性,这里将1 ms内通过A/D采集到的数据保存下来,通过MATLAB软件将数据绘制成曲线。绘制的曲线图如图9所示。
图9 通过MATLAB绘制的曲线图
通过MATLAB绘制的曲线图我们可以看到经A/D转换后的数据绘制的曲线与通过示波器监测到的波形相符合,所设计的系统满足要求。
5 结论
本文介绍了一种基于ATmega128单片机和A/D转换芯片AD1674的嵌入式声强监控系统。基于ATMEGA128单片机在低功耗和处理速度方面的独特优势以及AD1674芯片采样频率高、转换精度高等特点,完成了嵌入式声强监控系统的总体设计,并对系统外围电路和接口电路进行了详细阐述,给出了上、下位机软件部分的编程思路。设计的硬件系统与上位机操作界面互相通信功能使使用者通过操作界面就可以实时查询监控区域声强值以及对监控参数进行修改。通过试验验证,设计的嵌入式声强监控系统操作简单、满足设计指标要求。
[1] 白婧敏,曾水平. 基于DSP的声音采集系统硬件设计[J]. 微计算机信息,2010,26(2):144-145.
[2] ATMEL Corporation. ATmega128技术手册[S]. Ref. 2467L-AVR-05/04.
[3] 胡燕,王祥,蒋霞玲. 解析AD1674的用法[J]. 仪器仪表用户,2006(6):127-129.
[4] Analog Device Iac. A/D+D/A Products Databook[R]. 1992.
[5] 李玉峰,韩晓红,刘洋,等. 基于FPGA的高速数据采集系统的实现与性能分析[J]. 电子器件,2012,35(6):709-712.
[6] Lu Qiang,Li Wenfeng,Zhang Xixue,et al. Study for Lung Sound Acquisition Module Based on ARM and Linux[J]. Zhongguo Yiliao Qixie Zazhi,2011,35(4):263-265.
[7] Sen I,Kahya Y P. A Multi-Channel Device for Respiratory Sound Data Acquisition and Transient Detection[C]//Conference proceedings:Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Conference,2007,6:6658-6661.
[8] 鲍海阁,赵涛,王国臣. 捷联惯导高精度加速度计信号采集单元的设计与实现[J]. 传 感 技 术 学 报,2011,24(1):53-58.
[9] 简毅,廖声冲. 基于DSP和USB2.0的声音信号采集系统设计[J]. 现代科学仪器,2012,4(2):54-56
DesignofEmbeddedSoundIntensityMonitoringSystem*
CAIChengtao1*,FUChengtao1,LIUXiang2
(1.College of Automation,Harbin Engineering University,Harbin 150001,China;2.No.703 Research Institute,China Shipbuilding Industry Corporation,Harbin 150078,China)
A kind of embedded sound intensity monitoring system is introduced based on ATmega128 single-chip microcomputer and A/D conversion chip AD1674. The overall scheme of embedded sound intensity monitoring system is designd based on ATmega128 single-chip microcomputer and A/D conversion chip AD1674 characteristics and working principle analysis,the sound intensity monitoring system front-end acquisition,analog amplifier,A/D conversion and the design with ATmega128 single-chip microcomputer interface technology are deeply discussed. Processed data will be transmitted via a serial port interface to host computer for display,and can be modified online system monitoring parameter values. Finally through the test,the design of the embedded monitoring system to collect sound intensity shows its simple operation,stable and reliable.
embedded;sound intensity monitoring system;ATmega128;AD1674
10.3969/j.issn.1005-9490.2017.05.032
2016-09-02修改日期2016-10-20
TP13
A
1005-9490(2017)05-1219-05
蔡成涛(1980-)男,汉族,河南开封人,哈尔滨工程大学自动化学院,副教授,博士生导师,主要研究方向为智能系统,caichengtao@163.com。