语音播报实时数据处理系统的设计与实现分析.docx
- 文档编号:26518731
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:21
- 大小:772.11KB
语音播报实时数据处理系统的设计与实现分析.docx
《语音播报实时数据处理系统的设计与实现分析.docx》由会员分享,可在线阅读,更多相关《语音播报实时数据处理系统的设计与实现分析.docx(21页珍藏版)》请在冰豆网上搜索。
语音播报实时数据处理系统的设计与实现分析
毕业设计(论文)
题目:
语音播报实时数据处理系统的设计与实现
学生姓名:
学号:
所在学院:
专业班级:
届别:
指导教师:
本科毕业设计(论文)创作诚信承诺书
1。
本人郑重承诺:
所提交的毕业设计(论文),题目《基于单片机的实验室环境检测》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;
2.毕业设计(论文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源;
3.毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;
4.本人已被告知并清楚:
学校对毕业设计(论文)中的抄袭、业设计(论文)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;
5。
若在省教育厅、学校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。
学生(签名):
日期:
年月日
语音播报实时数据处理系统的设计
摘要:
这篇论文主要是详细介绍了语音播报实时数据处理系统的设计与实现过程。
采用高性能、低成本、低功耗的32位结构的微控制器stm32作为核心芯片,利用温湿度传感器模块,ENC28J60以太网模块模块的配合,实现温度,湿度的实时测量,并网页上提供了友好的用户界面,使数据明了可观,方便操作控制.本设计还通过非特定人声语音识别模块设计了口令识别算法,可以通过口令识别的方式判断寝室是否有外部人员入侵。
这个设计非常实用,可以让我们可以方便、快捷、准确地了解当时的温度、湿度信息。
也拥有简单实用的防盗功能。
关键词:
语音播报;stm32;温湿度传感器;ENC28J60以太网模块;非特定人声识别模块
VoicebroadcastDesignofrealtimedataProcessingSystem
Student:
MengTang(FacultyAdviser:
BenyouWang)
(CollegeofInformationEngineering,WestAnhuiUniversity)
Abstract:
Thispapermainlyintroducesthedesignandimplementationofreal-timevoicedataprocessingsystem.Usingthe32bitmicrocontrollerSTM32structureofhighperformance,lowcost,lowpowerconsumptionasacore,usingtemperatureandhumiditysensormodule,Ethernetmodule,ENC28J60moduletorealizereal-timemeasurementoftemperature,humidity,andWebpageprovidesafriendlyuserinterface,thedataclearlyobservable,convenientoperationandcontrol。
Thisdesignalsobyspeakerindependentspeechrecognitionmoduledesignpasswordrecognitionalgorithm,canthroughthepasswordrecognitionwaytodeterminewhetherthereareexternalstaffdormitoryintrusion。
Thisdesignisverypractical,sowecanbeconvenient,fast,andaccurateunderstandingofthetemperature,humidityinformationatthetimeofthe.Alsohastheanti—theftfunctionissimpleandpractical。
Keywords:
voicebroadcast;STM32;Temperatureandhumiditysensor;TheENC28J60Ethernetmodule;speakerindependentrecognitionmodule
1绪论
随着嵌入式技术的飞速发展和它在生活和生产中的越来越广泛的应用。
单片机技术已经显示出了其明显的优势和非常广泛的应用前景。
单片机控制系统取代了以前的利用模拟线路或者数字电路构成的控制系统,实现了系统的智能化。
有着微处理器所没有具备的功能,它可以单独完成现代工业控制所要求的智能化控制的功能,已成为现代电子科学技术应用领域非常重要的技术之一。
当下的单片机技术较以往在内部结构、功率消耗、外部电路等级以及制造工艺上又有了非常大的进步.同时用户对单片机的功能需求越来越多,各方面要求也越来越高。
1)内部结构的进步
单片机在内部集成数量越来越庞大的部件,这些部件包括一些常用的功能电路.
2)功耗、封装以及电源电压的进步
单片机的功耗日趋变小,特别是很多系列的单片机设置了功率等级化的工作方式。
根据单片机的工作状态的不同合理地分配这些工作方式可以达到很好地节能效果.
3)工艺上的进步
采用CMOS技术,特别地有一些公司,如Motorola采用了0。
35mm甚至是0。
25mm的光刻工艺。
4)单片机应用的可靠性技术的发展
在单片机的应用中,可靠性是最主要的属性。
为了拓展单片机的应用范围的领域,增强单片机自身的可靠性是一种有效的方法.近年来,单片机的生产商在单片机设计上采用了各种可以提高单片机可靠性的新技术,EFT(EllectricalFastTransient)技术和低频时钟技术就是其中的代表。
我的这次毕业设计语音播报实时数据处理系统的设计与实现选用了stm32。
我们选择它的原因也不仅仅是因为它具有集成度高,功耗低、抗干扰性小、体积小、价格低廉等特点,更因为这款单片机的功能强大、性能稳定、应用的前景很广泛。
单片机技术的应用以及渗透到我们生活的各个领域,在科学技术飞速发展的趋势下,单片机的功能会变得越来越强大。
而单片机技术的发展是控制技术发展上浓墨重彩的一笔。
2系统设计
设计由硬件部分和软件部分二者组成。
硬件部分我们用AltiumDesigner10软件绘制电路原理图并完成焊接和调试,软件则是编写设计模块工作的程序,在集成开发环境IAR下调试通过后下载到主控芯片中.最后实现温度,湿度数据的采集,网络上数据的查询,意外情况下口令的识别.
2。
1设计需求
高校学生寝室是大学生休息、生活、学习的重要场所.对于一个在校学生来说大约有二分之一的时间在宿舍度过,学生人口密度大,贵重物品多。
因此存在消防安全、财产安全、卫生安全等一系列的安全隐患。
这些安全问题是高校宿舍管理要解决的重要内容。
本设计是高校学生寝室内部环境监控系统,通过寝室内部各种数据的采集、处理。
实现对寝室的辅助智能化管理,使其更适合学生学习生活。
现代各种监测技术广泛应用于医学,交通,银行,国防等许多领域.如近年来系统,温度监测,车辆监测,水文监测等等.使用的仪器也是各种防盗监测系统,防火监测系统,温度监测,车辆监测,水文监测等等.但国内外极少在宿舍或教室安装相应的监测系统。
学校正向着自动化,集成化,系统化,智能化,网络化方向发展。
如之前图书馆借书通过人工操作,现在使用计算机图书馆系统.随着这种自动化,集成化,系统化,智能化,网络化方向发展的发展趋势,应用于宿舍的一种综合的监测系统正需开发,也将会在不久的将来得到广泛的应用。
2.2系统原理
本系统是基于stm32寝室数据处理系统。
采用高性能、低成本、低功耗的32位结构的微控制器stm32作为核心芯片,利用温温湿度传感器模块烟雾传感器模块及以太网模块ENC28J60模块的配合,实现温度、湿度数据的实时测量,并对其实现网络查询,用户界面友好可观。
温度测量范围0摄氏度到125摄氏度,可以通过按键来控制系统对温度,光线,烟雾的测量与播报.通过电脑上的浏览器访问我们所,可以使数据可观,方便操作控制.本设计还通过非特定人声设别模块设计了口令识别算法,通过口令识别的方式判断寝室是否有外部人员入侵。
根据本系统的原理,系统有四个模块组成,分别为单片机stm32模块、电源模块、温湿度传感器、ENC28J60以太网模块、newway非特定人声识别模块。
下图就是本设计的系统框图。
图2-1系统结构图
3系统硬件设计
3。
1电源模块
电源模块是电子系统中必不可缺的一部分,它为这个系统提供能量。
电源模块的硬件电路如图3-1所示。
USB输入电压或5V电源经过AMS1117-3.3和AMS1117-2.5产生3。
3V和2.5V的直流电源供系统使用。
C2可以防止电感效应而产生的自激,C6的作用是减弱因为负载上的电流瞬时变化时引起的高频干扰,C5的作用是进一步减小输出电压的波动,使电源输出更加稳定。
D1是电源工作的指示灯。
图3-1电源模块电路
3。
2微控制器模块
本设计中的微控制器选用的是意法半导体公司推出的STM32F103RBT6[4]主控芯片,这款芯片基于ARMCortex-M3内核设计,片上集成有丰富的资源,可达到最高72MHz的工作频率,是一款功能强大性价比又很高的ARM处理器,是低成本ARM嵌入式开发的很好的选择。
引脚分布如图2-3所示.
图3—2STM32F103RBT6引脚图
3.3非特定人声语音模块
3。
3.1模块特性
本模块的使用基于非特定人声语音设别技术。
模块对语音的识别度很高,可以识别普通话、方言、外语等各种形式的语音。
它的抗噪性能也非常优秀,在低分贝的声音环境下基本上可以完全识别,在较高分贝的声音情况下也可识别大部分,而且可以最多识别1600条语句。
模块对于识别词条的编程是通过汉语拼音的方式导入,以普通话为标准,方言或其他语言需要经过拼音模拟。
板上资源非常丰富,板载有flash存储器、io口、继电器等器件。
通过flash我们可以任意增加或者修改提示音。
模块对语言识别后的结果或者其他信息可以通过io口来传达给单片机,可以让单片机据此作出相应的动作。
板上的继电器也可以外接外部大功率的器件,这样模块就可以通过继电器操纵外部大功率器件。
模块的实时性非常好,在我们输入语音信号结束后0.5秒内即可得到结果。
并且可以设置识别超时,对未识别的状态做出很好地对应,可以避免模块的工作进入阻塞状态。
3。
3.2接口说明
图3-3语音模块接口说明图
1)电源接口:
模块供电口,接DC4—16V电压。
2)RS232通讯接口:
标准DB9头,可进行RS232通讯。
板载继电器接口:
左边为常开、中间为公共端,右边为常闭。
3)外接IO接口:
可编程IO口,可以由语音识别结果触发IO口动作,可以设置为普通输出和推挽输出.设置成推挽输出时可以提供更大的驱动电流,但是需要接1K以上限流电阻。
IO(n):
第n个IO输出接口,VCC:
电源正极(此处没有电源反接保护,无法作为电源输入,只能做输出使用)GND:
电源负极。
4)功能按钮:
在启动时,如果按下功能按钮模块将启动下载模式,此时可以用于设置和语音向模块内下载.在使用过程中,如果把模块设置为单次识别触发,按下该按键时将启动一次识别过程。
5)TTL串口:
TTL串行接口,可以直接接到单片机.VCCOUT:
模块电源输入(输入范围DC4—16V),如果电源接口已经电源,此接口不能接任何电源,以免产生冲突,损坏器RX:
模块TTL串行口接收端。
TX:
模块TTL串行口发送端GND:
模块地(电源负极).
3.3。
3模块应用图解
图3-4语音模块应用图
3。
4DHT11数字温\湿度传感器
3.4.1DHT11产品概述
DHT11数字温湿度传感器的输出信号都是被修正校验过的信号,这是一款感应温度和湿度的综合传感器.该产品中加入了温湿度传感技术和模块化得采集技术,保证了产品的可靠性和稳定性。
传感器中加入了一块电阻式得感湿原件和NTC感温原件。
所以本产品的优点有以下几点:
1产品质量好响应速度快2抗干扰能力较强3价格便宜性价比高。
每个产品都在温湿度校验室中进行过精确的校验后才会出厂.校准的系数会以程序得形式放在内存中,当传感器工作时就会调用这些校准系数已达到处理信号的目的。
数据线是一根串行线这样的系统简易快捷.也导致了产品体积小、功耗低、传输距离远等特点。
本产品的封装为4针单排引脚得封装。
连接更为方便。
3.4。
2DHT11功能特点和技术参数
DHT11的功能特点和技术参数如下:
DHT11的主要功能就是检测改芯片周围的环境的温度和湿度,他的温度测量范围是0度-50度;湿度的测量范围为20%-95%并且湿度的误差仅仅为+—5%,由此可见款芯片的精度比较高.它的工作电压为3.3v—5v,输出的信号已经由内部系统转化为数字信号,这对使用者而言是极大的便利。
它还设有固定螺栓孔,方便安装.它的尺寸:
3.2cm*1.4cm每套重量约为8g,还配有红色指示灯。
3.4。
3DHT11引脚说明
表3—2DHT11引脚说明
PING
名称
注释
1
VCC
供电3.5-5V
2
DATA
串行数据,单总线
3
NC
空脚,请悬空
4
GND
接地,电源负极
3.4.4DHT11的工作原理
DHT11数字湿温度传感器的数据线是由一根单一的串行总线进行传输,这样单个一根数据线就可以传输数据。
传输的数据包有5BYTE即40bit。
高位先出。
这40bit的数据分为5小段分别是:
1、8比特湿度整数数据2、8比特湿度小数数据3、8比特温度整数数据4、8比特温度小数数据5、校验和。
因为传感器传输的数据是未进行编制过的数据,所以数据之间应该分开处理。
例如,下面为单片机从DHT11接收到的的数据如图示:
图3-5DHT11的数据包结构图
我们可以从上面的数据得到温度和湿度得数值,计算方法:
湿度=byte4。
byte3=45.0(%RH)
温度=byte2.byte1=28.0(℃)
校验=byte4+byte3+byte2+byte1=73
(=湿度+温度)(校验正确)
每次传感器和单片机的通信时间是3毫秒左右,所以主机对传感器的数据读取时间应该尽量大于100毫秒。
DHT11的数据发送得时序流程如下图所示:
图3-6DHT11的数据发送时序图
DHT11输出数字‘1’的时序如下图所示:
图3-7DHT11传输1时的时序图
3.4。
5DHT11电路原理图
图3—8DHT11的电路原理图
3。
5ENC28J60以太网模块
3。
5.1模块简介
传感器ENC28J60是携带着行内标准串行外部设备接口SPI的独立的以太网控制器。
他可以为任何可以拥有SPI接口的控制器提供以太网接口.图3—10是该模块硬件原理图。
图3—9ENC28J60硬件原理图
3。
5。
2接口说明
ENC28J60以太网模块与我们的主控器stm32之间通过SPI进行通信,它拥有6个外接的引脚,它们的连接方式如下:
1)PB13ENC28J60-INT
2)PA6-SPI1-MISOENC28J60—SO
3)PA7—SPI1-MOSIENC28J60-SI
4)PA5—SPI1-SCKENC28J60-SCK
5)PA4-SPI1-NSSENC28J60—CS
6)PE1ENC28J60-RST
3.5.3模块功能组成
1)SPI接口:
为stm32和ENC28J60以太网模块之间提供通信通道。
2)控制寄存器:
ENC28J60的控制盒监视。
3)RAM缓冲器:
用于数据包的接受和发送。
4)判优器:
控制当DMA或其他数据发送和接收模块发出数据请求时对RAM缓冲器的访问。
5)总线接口:
对通过SPI所接受的信息进行解析。
6)MAC模块:
实现MAC逻辑.
7)物理层模块:
编译双绞线上的模拟数据。
4系统软件设计
整个软件系统的设计和书写,我们是在IAR编译环境下进行的。
IAR是IARsystems公司开发的一个高性能的ARM处理器集成开发环境。
对比于其他的ARM开发环境,它有入门快捷,使用简单,代码书写方式紧凑的特点.所以在这里我们选用了ARM来对这个设计进行软件开发.在软件的书写过程中我们采用模块化的编程方式并严格地遵守编程的书写规范,这样有利于程序的移植同样也有利于我们在编译调试的过程中发现问题然后快速地提出解决方案。
最后在IAR环境下把软件写好后,可以通过J—link将我们的软件下载到主控板上运行调试。
观察软件所实现的功能能否达到我们的要求。
4.1整体流程
从下面的软件整体流程图来看我们的整个系统,启动开始后,先初始化各个模块的数据,紧接着进行温湿度数数据的采集,经过均值滤波得到一个稳定有效的数据,然后再通过网络模块传输到网上,提供给我们通过浏览器来查询。
同时系统会对我们的数据进行异常验证,若有异常则进入警报模式,若正常者进入下一次的数据采集.
4。
2以太网模块软件方案
4。
2.1流程框图
图4—1以太网模块流程图
4.2.2软件实现方法
因为整个系统的软件要实现模块化的编程,我们将与以太网模块有关的程序封装到spi_enc28j60.c、enc28j60。
c、ip_arp_udp_tcp.c、web_server。
c这几个c文件中.Spi_enc28j60。
c中主要提供的是以太网模块SPI通信的功能函数,包括一些SPI的初始化函数,数据传输函数。
enc28j60。
c里面则是一些模块的接口驱动函数,函数enc28j60Init(mymac)就是其中之一。
ip_arp_udp_tcp。
c里面提供的是网络通信协议的服务函数比如init_ip_arp_udp_tcp(mymac,myip,mywwwport).最后web_server。
c则是web服务的应用函数库。
4.2。
3功能的实现操作
这个模块的软件设计,实现了在浏览器上创建了一个web服务器,我们可以通过web中的命令来获得我们想要的温湿度信息.用户需要一定的操作来实现功能,首先我们要在PC机的DOS界面输入一个ping命令:
ping192.168.2.10(这个ip是我们在程序中设定的),看能不能ping的通。
如果能ping通的话就打开PC机上的浏览器,输入http:
//192.168。
2.10,这样就会弹出一个网页,上面会提示需要一个password,再接着输入我们事先设定的密码123456。
这样我们就能在该网页中看到温湿度传感器所获取的温湿度信息。
4。
3语音模块软件方案
口令正确口令错误
图3—9语音模块软件流程图
非特定人声语音模块的软件编写依赖于一个特定软件编译环境NewWaySpeechRecognitionStudioWinter。
在这个环境下可以通过编写程序让模块可以完成设计语音播报上的要求。
我们在通过这个环境建立一个新的工程以后,根据软件上相应的提示对模块的硬件参数进行设置,使得模块在当前的外部环境下达到一个很好地工作状态.接着要将需要播放的MP3文件加载到工程中,以供后面的编程使用.这个环境下的编程方法是基于模态来工作的。
程序的编写需要我们建立各种不同的模态作为基础,建立模态之后需要根据模态的功能需求要对模态的状态参数进行设置。
然后再在模态上面加载各种不同的指令。
下面简单列举几个常用的指令:
MP3语音播报指令,该指令会使模块将指令要求的MP3进行播放。
语音识别指令,该指令会使模块对外界的声音进行识别,检测是否是程序中所要求的识别的声音,以作出不同的应对.
定时器加载指令,该指令会在语音模块的工作中加载一个定时功能,用来应对语音识别过程中超时的情况。
模态跳转指令,该指令会使语音模块的工作在不同模态下跳转。
IO设置指令,该指令可以将板载的IO口、继电器接口的电平进行设置.可以外接单片机对信号进行处理,也可以接外部的大功率器件进行控制。
在该环境的程序编写中的指令加载有下面三种方式:
追加方式:
在程序指令列表的结尾添加一条指令;
前插方式:
在被选中的指令前面添加一条指令;
后插方式:
在被选中的指令后面添加一条指令。
图4—2语音模块编程环境指令添加界面
在每个模态的工作过程中,都会有进入动作(进入模态后会首先执行的指令集)、离开动作(离开模态前执行的指令集)、未识别动作(语音未识别状态的指令集)和识别词条(语音识别的词条集)。
整个工程的开始会首先进入初始模态,之后会经过多种指令的运行和模态的跳转后结束所有动作,结束工程。
5系统调试
首先我们必须对单片机的可用性进行检测,具体做法是下载一个厂商提供的简单的测试程序进行测试,若能出现预期效果,则单片机正常可用,能够进行下面的操作。
然后再在单片机中下载温湿度传感器DTH11的测试程序,检测模块是否可用.然后使用同样的方法对以太网模块ENC28J60进行测试,若以上模块出现问题的话我们需要找出根源再提出解决方案排除掉已出现的问题.
在单片机的各个系统都组装完成后,进行整体的模块的联调。
调试的目的是为了排除一些系统的故障,从而从故障中找出原因解决掉故障,完善整个系统。
如:
程序排错和优化整个程序的结构,使系统能够达到我们预先的功能,进而使其产品化,价值化。
我们在进行单片机的调试的时候,是软硬件同时交替进行的.可以先排除一些较为明显的硬件故障,如电源故障。
然后再进行软件在线进行调试。
5。
1硬件电路故障及解决方法
1)由于在最开始的设计上面出现的失误,可能导致短路和开路这种错误.
解决方法:
在画好的原理图当中仔细寻找出其中的故障点,并进行修改和矫正.
2)元器件损坏:
由于对元器件的生疏而导致使用不当,从而损坏元器件。
解决方法:
我们在设计规划电路当中要明确知道各个元器件的作用及使用条件,避免发生各种故障核损坏其他元器件影响整个电路的工作.
3)电源故障:
在设计电路过程中电源故障可能会对元器件造成永久性的损坏。
如电源电压不符合要求,电源和接地接反了导致短路烧毁芯片等等。
解决方法:
电源电路必须单独出来调试好,等测试过后再加入电路中
5.2硬件调试方法
在本设计产品上电之前,要先使用万能表对照原理图对各个线路和元器件进行线路准确性的验证,对元器件检查,看看是否有不符合规格和要求的元器件,要重点观察电源部分的走线,防止短路、短路这种故障的发生。
第二步则是对各个元器件引脚上的电位进行检测看看各个引脚得点位是否正常,防止对仿真器的损坏。
第三步是去除单片机然后把各个元器件接上,并且将单片机的接口和仿真器的接口相互连上,为后面的测试做好准备工作。
6结束语
我自从2010年9月进入学皖西学院开始学习以来已经有3年多了,这3年里我在大学的课堂上学习了很多理论知识,在实验室里也进行了很多的实验练习。
即便如此,我仍然觉得在我所学的专业面前我依旧是个门外汉.值此时节,即将毕业的我知道我即将面临的社会里蕴含着巨大挑战和机遇,然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 播报 实时 数据处理系统 设计 实现 分析