白利慧
(山西机电职业技术学院, 山西 长治 046011)
基于MC9S128XS128单片机控制的声音定位系统设计
白利慧
(山西机电职业技术学院, 山西 长治 046011)
本系统是基于MC9S128XS128单片机设计的声音定位系统。电路主要由声音处理模块和数据处理模块及显示模块组成。声音模块接收到声音信息后,经过处理将信号送至以MC9S128XS128单片机为核心的控制电路中,通过三角形定位算法得出声源距离核心控制电路的距离,再将结果于液晶显示屏上显示出来,为实际应用提供数据参考。
MC9S128XS128单片机;声音定位;三角形定位算法
随着科学技术的迅猛发展,人们在越来越多的场合需要通过声音的来源来判断位置,以此提供必要的信息作为进一步处理数据的依据。当前声音定位系统在实际生活中也得到了应用。如渔船的声呐,雷达等,通过声音进行测距。在高科技领域,很多国家都在研究智能机器人,声音定位系统更是完善机器人功能的核心要件之一。声音定位系统的普遍应用将显著提高人们生活的智能性,给人们生活带来更多的便捷和舒适。
本文中,作者通过MSP430单片机最小系统PWM功能产生500Hz的基波频率,并控制声音持续发声1s钟,进行声源的模拟。再通过麦克风获取声音数据。该系统数据处理的实时性要求较高,综合功耗和考虑和运算速度要求,我们采用MC9S128XS128这款增强型16位单片机作为系统核心数据处理器,它能够较好的完成系统的各项功能。通过测试,系统运行稳定,实现了设计目的。
(一)系统设计框图及原理
本系统设计由MSP430单片机PWM功能实现产生500Hz频率,再由三极管将信号放大后输入蜂鸣器发声。用麦克风作为声音信号的采集终端,经过放大电路和鉴频滤波电路对采集到的声源信号做初步处理,最终将符合500Hz频率要求的声音信号输入到系统数据处理的核心MC9S128XS128单片机中,处理器进行算法运算后,通过液晶显示器,将声源信号的位置显示出来,为使用者提供信息参考,实现声音定位的功能。系统设计框图如图1所示。
图1 系统框图
(二)系统硬件设计的实现
根据声源模拟电路的设计要求,我们将按键开关连接在MSP430单片机上具有时钟电路功能的端口,实现产生1S钟声响的要求,也可以更便捷的控制声音信号的产生。利用该单片机的输出端口输出PWM信号。当开关闭合时,时钟端口输入高电平,并在输出端口产生500Hz的方波,该信号持续1S钟,方波信号再经三极管放大后送入蜂鸣器,使蜂鸣器鸣响。该部分硬件电路图如图2所示。
图2 声源模拟电路
在声源信号采集电路中,由于麦克风采集到的声音信号较弱,核心系统单片机MC9S128XS128无法识别,因此采用LM358芯片进行二级放大,将信号放大为采集到的原始信号的100倍。声源信号采集电路中的信号放大电路如图3所示。
由于信号放大后会产生很多干扰信号,该部分电路设计了以LM567为核心的鉴频滤波电路,通过RC电路实现带通滤波功能,将高频和低频干扰频率滤除,选出频率为500Hz的信号输入核心系统的单片机中按照算法进行数据处理。鉴频电路如图4所示。
图3 信号放大电路
图4 鉴频电路
系统设计中我们制作了规则形状的木板,并在木板上制作了坐标图,在固定的位置上安装声音采集电路。在确定的范围内随机放置声源模拟硬件设备。我们设计了4个声音信号采集电路,当声源发声时,4个声音接收模块会将接收到的信号输入系统单片机内。由于声源与4个声音接收模块的距离不同,单片机接收到到信号的传播时间不同。通过核心系统单片机内定时器,可以计算出采集到的不同声音信号所形成的时间差,再由三角形算法编程求出声源坐标(X,Y),最终由系统单片机控制输出,将位置坐标值显示出来。
(一)程序设计流程图
按照硬件设计要求和实现功能的标准,我们结合三角形算法,进行了软件程序的编写和测试。系统运行,开始硬件的初始化,包括声源模拟电路、系统核心单片机以及液晶显示屏的功能初始化。由MPS430单片机判断是否有按键按下,若有发出声音,在核心单片机系统输入信号后,开始按照算法计算坐标,并通过液晶显示屏显示坐标,程序流程图如图6所示。
图6 程序流程图
图7 声源与声音采集硬件位置示意图
(二)数据处理中算法的基本原理
系统麦克风可以采集到蜂鸣器发出的声音,由于声源按照一定的周期发出声音信号,而声音在空气中传播的速度约为340m/s,当声音信号被四个位置的麦克风接收时,由于传播距离不同,每个麦克风接收到的时间不同,我们以其中三个接收器接收到音频信号的所形成的时间差作为变量,可以推算出可移动声源的具体位置。声源信号与采集声音信号硬件位置关系示意图如图7所示,并设定S0,S1,S2坐标为已知。设声速为C,音源到麦克风S0,S1,S2的传递时间分别为t1,t2,t3,时间差为Δt1=t1-t2,Δt2=t3-t2,声源发生的位置坐标为(x,y),极坐标表示为(r,θ),三个麦克风坐标分别为x0(0,0),x1(0,450),x2(600,0),表示并满足
把(2)式展开并利用(1)式可得
DesignofanAcousticPositioningSystemBasedon MicrocontrollerMC9S128XS128
BAI Li-Hui
(Shanxi Institute of Mechanical&Electrical Engineering,Changzhi 046011,China)
An acoustic positioning system based on Microcontroller MC9S128XS128 is designed.The system mainly consists of an acoustic processing module,a data processing module and a display module.The acoustic module processes the acoustic information received and sends the acoustic signal to the control circuit which is based on Microcontroller MC9S128XS128.The triangle location algorithm is used to work out the distance between the acoustic source and the control circuit.Then the results will be shown on the liquid crystal display (LCD),which provides data reference for applications.
Microcontroller MC9S128XS128;acoustic positioning;triangle location algorithm
TP68.1
B
2016-11-13
白利慧(1982-),女,山西大同人,讲师,研究方向:电子电气。E-mail:lihuibai001@163.com.
1671-802X(2016)06-0020-03