基于单片机的LD3320实现语音智能声控家居毕业设计论文_第1页
基于单片机的LD3320实现语音智能声控家居毕业设计论文_第2页
基于单片机的LD3320实现语音智能声控家居毕业设计论文_第3页
基于单片机的LD3320实现语音智能声控家居毕业设计论文_第4页
基于单片机的LD3320实现语音智能声控家居毕业设计论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辽宁工程技术大学毕业设计(论文)语音识别控制智能家居本章重点在于对语音识别智能家居的基本情况进行分析,概括研究其背景意义及国内外研究现状、剖析论文研究的目的、介绍国内外发展史以及当下的市场现状及发展趋势。2.1选题目的、意义目前在家庭生活中,通常用手动开关和无线开关这两种方式来控制家电开关。前者主要是以开关按键形式,通过手动操作按下开关之后来控制通断;后者主要是通过远程遥控,利用手机或者电脑无线控制通断。这两种方法在一定情况下显得特别麻烦、不方便,需要人去直接触碰开关,然而有些家庭电线老化,可能存在漏电的安全隐患,同时控制距离短、控制地点少等缺点。在日常生活中,人们有时躺在床上看书或看电视,书可以很容易地放在身边,电视可以用遥控器的按键关闭,但当我们躺在床上时,另一处电器开关如何方便控制呢?难道非要我们起床去关断?这样也太麻烦了吧。然而基于单片机的语音智能控制家电设计系统很好的解决了传统家庭开关的不方便、不安全、控制地点受限制等问题,此设计源于大千世界声音无处不在,声音在空气中传播,当我们使用的电器能听到我们的声音之后,就能快速的关断家电设施。于是,基于半导体技术的声控开关、基于GSM网络的远程遥控器、基于物联网技术多功能插座等新型家电控制方式相继出现,虽然在很大程度上填补了市场空白,但仍无法满足人们,特别是老年人、残疾人对家电控制的无接触作、一语多控的个性化要求。语音识别技术是一种以语音研究为基础的人机交流技术,通过语音信号处理自动识别计算机,是目前最流行、最有前途的信息技术之一。随着电子科技的发展,语音信号作为一种最基本、最方便、最为直接的人机交流方式,更加受到人们的欢迎。本设计主要研究了非特定人语音对家用电器的远程控制技术,其意义不光在智能家居上得以体现,同时,它也可以应用于公共照明系统、卫生系统、楼宇对话、导航仪等多种领域。语音识别技术在计算机的“语音输入”中成功地应用了它的简单、快速、灵活的优点,它应用于公共照明系统、卫生系统、导航仪、自动售货机、感应炊具、微波炉、智能家电方面的应用正方兴未艾。简而言之,它更加方便了人们的生活,使普通人同样可以能够享受科技水平提升带来的便利。应用LD3320语音芯片,编写驱动程序,“语音识别模块”的设计实现“家电控制指令”识别,高识别率,而且使用起来也很简单。“声音和家用电器”的控制,安全、便捷,具有很强的抗干扰能力,方便老年人和残疾人使用,前景广阔。“智能家居”的兴起,是当前各先进领域的电子信息技术同居家生活有关的各种电器完美地集合。它是以住宅为平台,集系统、构造、控制于一体,综合管理家中设备,创造一个便捷、高效、节能、健康、绿色的居住生活环境空间,在当今社会,智能家居控制系统因为它便捷、安全的优势,也越来越得到关注,与此同时,随着人们生活水平和绿色节能意识的提高,基于单片机的语音智能控制家电设计系统也必将会得到迅速的发展。2.2国内外的研究现状和发展趋势从20世纪八九十年代开始,随着HMM算法的不断探索和发展,在贝尔实验室的许多科学家的努力下[3],使HMM算法从理论变为应用,从框架成为工程模型,使大词汇量、连续、非特定人的语音识别系统的开发成为可能。与此同时,作为更加先进的,符合时代需求的语音识别发展方向和研究前景的重要要素之一,对人工神经网络进行探索与更深层次的研究就显的尤为重要,在自我组织能力和自我学习能力这个问题上,语音识别问题已经是当前发展道路上的一个亟待解决的问题。而20世纪90年代之后,多媒体应用对语音识别的需求空前地増大。许多发达国家和公司企业,例如美国、日本等,都不惜花费重金购买语音库,开发语音识别技术从而研究并创建自己特有的语音识别实用化系统。在这期间,又提出一种新型的机器学习方式——支持向量机[4],它是一种用来学习算法的监督学习模型,具有识别模式,可以分析数据,用来分类和回归分析。这个时期还出现了基于语音情感的识别算法,通过使用支持向量机对人类语言的情感进行分类,并对语音信号中的谐波进行情感识别。到了21世纪,语音识别理论并没有实现突破,而是通过视觉辅助进行语音识别的视听识别开始兴起[5]。将图像信息和语音信号两者进行特征融合,再通过HMM算法进行匹配,最终得到识别结果[6]。但该技术仍然存在着模型复杂,实时性较差的特点,还有待进一步研究和完善。与此同时,语音识别的嵌入式系统得到了空前的发展,随着互联网的发达和智能穿戴设备的兴起,电子智能家电等,都使嵌入式平台的语音设备具备了更广阔是发展前景。在我国,虽然语音识别的研究开始时间较晚,但也取得了一些成就[7]。最早的是中国科学院,这项研究始于上世纪50年代,其他的国内相关领域是70-80年,从80年代开始,因为对中文识别交互的了解已经达到一定程度的发展和突破。在1990初,国家在“863”计划中增加了词汇的研究、持续的汉语语音识别,意味着站在国家技术发展战略的角度,对语音识别技术的研究和发展进行深入的探讨。21世纪后,中国跟随世界技术的步伐,随着嵌入式芯片和云存储技术的逐渐完善,出现了一系列支持语音识别技术的商业产品,如电话中的语音输入法,,听歌识曲,智能语音玩具等等。2.3本文研究的内容本设计以语音控制家电系统,是基于单片机技术、LD3320非特定人的语音识别技术、设计“语音遥控器”,并且将它应用于智能家居的开关控制中,具有语音的识别与控制功能。首先采集人的“语音命令”[8],通过语音识别模块识别指令,然后单片机把控制指令转化成家电中相应的“操作指令”,以实现远程家电操作。本设计支持人体非特定ASR语音识别[9],采用双重口令语音识别控制,口令模式+IO控制模式,增加了识别的准确率。在使用语音识别指令之前,都要先进行一级口令识别:“小白”,然后才能进行二级口令识别:开灯,关灯;打开风扇,关闭风扇等等控制指令,实现语音关断继电器,从而模拟智能家庭电气控制。3语音识别系统的分类与器件选择本章将首先介绍语音识别的功能模块并在此基础上对其进行分类。同时对离线语音识别系统进行介绍,分析其优势和缺陷,。3.1语音识别系统的介绍与分类3.1.1语音识别的功能语音识别是一种交叉学科,它必须基于了声学、语音学和语言学等知识的处理机制,从而才能实现良好的应用和发展,获得高效的语音识别交互系统[10]。语音识别技术是以特征提取技术、模式匹配准则以及和模型培训技术为技术手段,让机器能够识别和理解语音信号。如图2-1所示,可以将其划分为若干个子模块,其中特征提取模块主要是用来采集说话人的语音模拟信号并将其转换为可以进行处理的数字信号的一种方法;声学解码则是用来将匹配出的向量序列而推测出候选的识别词网的手段,而语言解码模块则是将候选的词网结构进行分析处理,选出概率较大的识别词语。图3-1语音识别功能模块Fig.3-1SpeechRecognitionFunctionModule3.1.2语音识别的分类语音识别是以模式识别为基础的一种分类过程。通过学习和训练,系统将说话人的语音内容进行处理并按照一定的算法对其进行匹配分类最后再获得识别结果,影响语音识别准确度的因素主要有说话人、语速快慢、内容、周边环境[11]等。根据不同的分类标准,将语音识别分为下几种:1.词语库任何一个识别系统都有着自己的识别词库,系统将基于词库中的说话者的声音来查找相识的并对其识别。很显然如果词语库很庞大,那么识别识别过程就变得更复杂,识别难度也随之増大。2.讲话风格顾名思义,举止指说话人的讲话风格不同,相应的识别难度也会略有不同。因此可以分为两种:第一种是比较正规的说话方式,如演讲、播音等,说话缓慢有停顿;第二种是我们平时生活中的说话方式,属于非正规方式。后者在识别过程中更为困难。3.识别对象由于每个人说话时发出的语音信号可对其数字化和分类,其分类标准则是声纹迭个概念。不同的人有不同的声纹特征。然而同样的语音识别识别比各种不同的语音识别识别更简单。这就是特定人与非特定人之间识别语言的区别,后者需要大量的训练数据而前者则是对单个人进巧训练便可得到匹配模板。4.识别环境识别环境可以分为两种:其一就是图书馆环境、家庭环境等这样比较安静的环境;第二种则是不良语音环境,例如工厂、闹市还有汽车等机械或者人为噪音的环境下识别。很显然后者的识别难度远大于前者。3.1.3离线语音识别系统离线语音识别,简单来说其实就是本地语音识别,与它相关的的是在线语音识别系统。前者是在离线下的语音识别,通常具有以下一些基本特征[12];词语库量即可比较小,不依赖网络环境,识别过程在系统硬件内部自动完成。但由于受嵌入式硬件平台的限制,导致离线语音识别不能占有过多的存储空间,而且运算处理不能进行过于复杂。目前主要以嵌入式平台为主,通过启动专用语音识别芯片的方法来进行语音识别。而后者是一种可对大型词汇表进行连续语音识别得分布式语音识别系统,通过在服务器中存储算法和单词库,每次识别前将需要识别的语音内容上传至服务器,服务器进行运算处理后与词语库进行匹配,最后选出最相近的结果反馈给说话者。离线语音识别是一种在本地实现的快速识别模式,包括语音信号的采取,预处理,特征提取[13],进行识别分类等这些过程。它不受网络信号强度的限制,不存在识别延迟等问题,应用于移动环境是一种更理想的识别模式。而在线识别系统则更适合在固定的以及网络信号较为稳定的环境下进行识别。3.2基于LD3320语音识别芯片的方案设计和器件选择3.2.1硬件系统的设计需求本文依靠的课题是人机交互方向的语音识别应用系统这一部分,目的是实现语音识别声控智能家居,具体需要实现下功能:1.实现男女声的识别功能,即非特定人语音识則;2.保持90%以上的识别准确率;3.丰富的语料库和关键词列表;4.动态添加识别指令;5.识别结果以中文形式体现;为了可以在任何场景进行语音识别,满足家庭环境下的特定需求,而且不受信号强弱限制,并且尽可能小的占用CPU资源等这些条件,本文选择非特定人离线语音识别系统[13]LD3320。它的优势在于:无须训练,识别快速没有延时。但是缺点在于存储命令太少,更改匹配指令列表的过程复杂(需要烧写程序)等。3.2.2硬件系统的设计结构为了实现之前所说的具体需求,我们需要通过一个专门的语音识别芯片进行语音信号的处理和识别,通过一个单片机为主控芯片加以控制。与此同时,为了更好地解决离线语音识别系统的缺点,我们通过外接一个可在单片机上直接擦写的外部寄存器,并用于主控芯片对其读写。送样可以动态地添加和编辑需要识别的词语库,不仅改善了系统的交互友善度,更在本质上提高了对词语库的识别范围。读写寄存器的加入,使得我们可以任意修改需要识别的操作指令而不需要通过烧写程序来修改单片机ROM中的程序内容,这样就避免了存储命令过少和内容死板的问题。专用的语音识别芯片可以用麦克风(MIC)接收说话者的语音信号,进行处理和识别,最终通过MCU主控芯片将结果发送至单片机,进行控制。3.2.3嵌入式语音识别框架本文主要通过研究基于专用嵌入式识别芯片,设计相关的功能和模块,从而实现具体的需求。嵌入式语音识别的传统框架中,整个系统主要由MCU主控芯片、专用语音识别芯片、识别列表以及语音采集等几个主要模块组成。1.核心控制器:用来控制专用语音识别芯片的主控芯片,可以对其编程实现相关功能,本文通讯方式采用的是串口的方式。2.语音采集:用来采集语音信号的一个模块,并将采集来的语音模拟信号送入端点进行检测,预处理之后变为数字信号,目的是为了对数字信号进行特征提取模式匹配得到最终的识别结果。3.识别列表:作为离线语音识别最具特征性的一个模块。它是在识别列表中临时存储,它较在线识别相比,不能使用网络来调用语音识别库[14]。与识别芯片的识别结果进行匹配,从而得到匹配度最高的识别结果反馈给用户。3.3主流专用语音识别芯片比较目前主流的专门用来进行语音识别的芯片主要有三种。分别是ICRoute公司的LD3320,凌阳公司的SPCE061A和科大讯飞的XFS5152CE等,如下表3-1所示:表3-1主流识别芯片对比Tab.3-1Comparisonofmainstreamidentificationchips芯片是否训练非特定人列表指令个数市场价格SPCE061A是否<30¥25XFS5152CE否是<50¥50LD3320否是<50¥35凌阳公司的SPCE061A是一种专门针对处理语音信号的一种16位控制芯片,可完成对于特定人语音识别训练和识别的功能。科大讯飞的XFS5152CE是于2013年推出的轻量级主要用作语音合成的芯片,其语音识别的命令存储不能超过30条;ICRoute公司推出的LD3320芯片是基于关键词语列表的识别芯片,尤其在对于非恃定人和中文识别领域非常成熟,与前一种相比,存储容量相对较大,是特殊芯片的自然语音识别。由于语音识别芯片设计能够满足需求的语音识别系统,因此在权衡上面三种芯片的条件之后,本文选用LD3320芯片进行开发。3.4单片机选型目前,大多选用的单片机位STC89C52RC和STC89C51RC,价格也相对便宜,而宏晶科技公司生产的STC12系列单片机价格稍微高些,但是它较普通的8051单片机相比,它以高速/低功耗/超强抗干扰的优点优越于传统8051,并且指令代码包含传统8051,响应速度快8-12倍。内部集成复位电路,可以用于高速通信、智能控制和强干扰场合。12系列MCU计时器0/定时器1/串口与传统的8051相兼容,独立的波特率发生器,消除了对定时器2的需要。全面提高传统的8051111指令执行速度[15]。同STC12LE5A60S2是3.3V的,而STC12C5A60S2是5V的,对于STC单片机来说,芯片型号里的“LE”代表它是3.3V的单片机,“C”代表它是5V的单片机,再比如STC89LE52RC为3.3V单片机,STC89C52RC为5V单片机LD3320的官方数据手册明确要求LD3320的工作电压为3.3V以及跟LD3320连接的单片机的IO口的高电平电压也为3.3V,所以如果我们要用单片机来控制LD3320,就必须要用3.3V的单片机,不能用5V的单片机!!!综合上述,由于性能的优越性及电源电压的需求,所以采用STC12LE5A60S2单片机作为控制器。4系统的硬件电路设计本章首先对硬件设计的具体要求与方案进行阐述,之后对目前主流的专用语音识别芯片做出比较和选择。然后阐明了LD3320语音识别芯片的功能以及原理。设计基于该芯片的嵌入式识别系统,主要包括单片机STC12LE5A60S2为主控芯片的模块、外围接口电路模块等[16]。分析了硬件各部分的工作原理,提出了具体需求的设计思路和解决方案,阐述了各模块的通信方式,并给出了硬件模块的接线图,最后给出了一个总结。4.1系统的总体方案设计图4-1系统结构框图Fig.4-1systemblockdiagram整个系统由家用电器语音控制平台组成,分为以下部分:语音识别芯片、51单片机、外部接口电路等。整个系统由核心控制和语音识别组成的硬件电路。控制部分是STC12LE5A60S2单片机,语音识别部分是LD3320语音识别芯片系统。在用户输出口令传递至语音识别模块后,LD3320与单片机并行处理数据[17],再由单片机发送命令对电器实施远程控制操作。4.2微处理器电路模块4.2.1STC12xx系列单片机简介12系列单片机有以下特点:1.工作电压:STC12Cxx系列工作电压:5.5V-4.1V/3.7V(5V单片机);STC12Lxx系列工作电压:3.6V-2.4V/2.1V(3V单片机);2.STC12xx系列单片机是片上集成了1280字节或256字节RAM;通用IO口有36/40/12/14/16个;并且每个IO口都具有驱动20mA的能力,复位后为(1)准双向口/弱上拉(普通8051传统IO口);(2)可设置成四种模式:3.ISP(在系统可编程)/IAP(在应用可编程),可通过串口(RxD/P3.0,TxD/P3.1)引脚直接下载编程程序,下载速度数秒即可完成。4.它具有EEPROM功能。5.它共2个16位定时器(与传统8051兼容的16位定时器T0和T1);STC12xx有1个独立波特率发生器。4.2.2STC12LE5A60S2系列单片机的内部结构STC12LE5A60S2系列单片机的内部结构框图如图4-2所示。图4-2单片机引脚图Fig.4-2single-chippindiagram1.复位电路在单片机的九引脚是复位引脚(Reset),当这个引脚连接到一个超过两个机器周期的高电平时,可以产生一个复位动作。将外部电解电容与复位引脚相连接,即为电源复位。当复位引脚连接到Vcc时,此时电容是短路的。在短时间内,电容器将被充电。此刻电路等效于断路。另一个是手动复位是选择的设计,它的连接如图4-3所示,是在STC12LE5A60S2复位引脚外部的电容并行连接到一个开关上。当开关没有按下时,电容器就处于充电状态;当按下按钮时,电容器就会在此时开始放电,这样就可以在复位引脚上产生一个高电平,从而使电路复位。图4-3复位电路Fig.4-3Resetcircuit2.晶振电路图4-4晶振电路Fig.4-4crystaloscillatorcircuit石英振荡器简称晶体振荡器,晶振分为有源晶振和无源晶振两种,它的作用是在电路中产生振荡电流,发送一个时钟信号。晶振电路是以集成电路和其他部件的方式提供参考频率,它也是时钟电路中的一员。振荡电路是由晶体振荡器和单片机XTAL0和XTAL1构成,他的作用是产生谐波,这个谐波对电路几乎没有影响,但会降低电路时钟振荡器的稳定性。为削减偕波对电路的稳定性的影响,ATMEL公司将晶振的两引脚接入两个一定型号的瓷片电容接地,作用是稳定电路的稳,通常晶振所配的电容在10pf-50pf之间,接法如图4-4所示。4.3基于LD3320语音识别芯片的硬件设计LD3320芯片是利用了“关键词列表”匹配的方法的识别技术。用户在使用前将需要识别的指令按照数字序号和拼音字符串对应的格式,然后写入主控芯片的ROM中,每次识别时,主控芯片会将这些识别指令列表按顺序写入芯片寄存器中,芯片将处理每个语音信号并识别它,然后在关键字列表中使用“候选”指令来匹配最高匹配结果的识别,然后反馈给了单片机,然后将结果回馈到控制器当中。芯片使用了非特异性语音识别技术,这种技术是基于一种语言学家使用语言的建模技术,在中国近百G的声音数据分析的前提下成立后的中文语音数学模型,然后在经过成千上万的算法工程师运用演算的数学模型和算法的研究结果取最优的每个关键的基元语音特性集成在芯片中,这是最好的统计概率[18]。4.3.1芯片LD3320功能介绍1.该公司具有了独特的快速、稳定的优化算法,用户也不需要训练声音模型,然后就可以进行非特定人语音识别,识别准确率高达了95%以上。2.芯片本身不需要任何外部辅助器件如RAM芯片以及和AD/DA芯片等,自身就可以独立完成了语音识别。它真正的是单芯片语音识别系统。3.每次识别最多可以设置为50个关键语句,单词、短语或短句都可以,但是长度不得超过10个中文字符或79个字节的拼音字符串。另一方面,可以动态编辑标识的内容,以便使用更加多样化的内容。4.芯片内含16位A/D转换器、16位D/A转换器和放大器电路,麦克风和单声道扬声器可在使用,通过插拔或焊接连接其他器件。5.芯片支持了对于软件和硬件的串行和并行两种时序的读写方式,用户可以根据需要自己选择。6.芯片具备自我休眠功能,这种方式实现了节约能源。7.工作供电为3.3V,方便携带。4.3.2电路说明这个芯片的简单逻辑图如图所示,通过每个引脚的定义我们可以更加方便我们连接导线。图4-5LD3320内部逻辑图Fig.4-5LD3320internallogicdiagram芯片管脚输入的电压范围如下:高电压(逻辑为“1”):0.7*VDDIO-VDDIO,低电压(逻辑为“0”):0-0.3*VDDIO。因此,我们要求单片机输入的工作电压稳定在3.3V,并且LD3320器件要求电源输入不得超过3.3V.4.3.3LD3320芯片电路设计1.LD3320与MCU通信方式通讯方式是硬件平台当中最为核心的一环,语音识别芯片LD3320与主控制芯片STC12LE5A60S2之间的读写过程主要是通过功能寄存器完成的。语音芯片LD3320的寄存器分别支持了软件、硬件的串行SPI读写方法、软件模拟并行读写和硬件并行读写四种读写方式。本文使用的是并行的软件模拟时序。并行写的时序如图所示:图4-6并行写时序Fig.4-6Parallelwritetiming当准备好读写的地址之后,在并行读写时序中,对于写入地址,我们需要令A0为1,然后再拉低CSB*以及拉高WRB*;当开始读入数据时,令A0等于我们拉低CSB*和将RD*拉高。图4-7并行读时序Fig.4-7Parallelreadtiming在这种读写情况下芯片的MD管脚需要拉低,这是一个需要值得注意的问题。此时DELAY_NOP有关部件会有较长时间的延时,这对于0x37寄存器进行写入数据的操作会受很大的影响,芯片此时也会受到干扰导致工作不正常。在进行识别工作时,0x37寄存器开始控制芯片工作的入口[19],从而启动芯片识别的运算和整个识别流程。2.芯片内部的简单逻辑图如上图所示,通过各个引脚的定义我们可以清楚地了解它与单片机连接时候需要注意的一些关键问题。表4-1管脚说明Tab.4-1PinDescription管脚标号名称IO方向AD分类说明1,32VDDIO--数字I/O电路用电源输入7VDD-D数字逻辑电路用电源8,33GNDD-DIO和数字电路用接地9,10MIC[P,N]IA麦克风输入(正负端)11MONOIA单声道LineIn输入12MBS-A麦克风偏置续表4-1管脚标号名称IO方向AD分类说明13,14LIN[L,R]IA立体声LineIn(左右端)15,16HPO[L,R]OA耳机输出(左右端)17GNDA-A模拟电路用接地18VREF-A声音信号参考电压19,23VDDA-A模拟信号用电源20EQ1OA喇叭音量外部控制121EQ2IA喇叭音量外部控制222EQ3OA喇叭音量外部控制324GNDA-A模拟电路用接地25,26SPO[N,P]OA喇叭输出27,28LOUT[L,R]OALineOut输出31CLKID时钟输出4-48(MHz)34P7I/OD并行口(第7位)35P6I/OD并行口(第6位)36P5I/OD并行口(第5位)37P4I/OD并行口(第4位)38P3I/OD并行口(第3位)39P2/SDCKI/OD并行口(第2位),共用SPI时钟40P1/SDOI/OD并行口(第1位),共用SPI输出41P0/SDII/OD并行口(第0位),共用SPI输入42WRB*/SPIS*ID写允许(低电平有效),共用SPI片选信号(低电平有效)43CBS*/SCS*ID并行方式片选信号,共用SPI片选信号44A0ID地址或者数据选择。在WRB*有效时,高电平表示P0~P7是地址,而低电平表示P0~P7是数据。45RDB*ID读允许(低电平有效)46MDID0:并行工作方式1:串行工作方式(SPI协议)47RSTB*ID复位信号(低电平有效)48INTB*OD中断输出信号(低电平有效)说明:其中I表示输入;O表示输出。A表示模拟信号:D表示数字信号。4.3.4LD3320接线图图4-8LD3320接线图Fig.4-8LD3320wiringdiagram图4-9最小系统Fig.4-9Minimumsystem其中单片机的P0.0-P0.7及其他引脚与LD3320的对应引脚相连接,P3.6和P3.7两引脚主要是对芯片LD3320进行读写处理,而在P1.0-P1.3分别连接了各负载。实物共连接了4个LED指示灯。当电源供电时,电源指示灯亮,表示系统已经准备好,可以工作了。由于电源指示灯是接地和接电源练成了回路,故通电即亮。而红蓝绿三个LED是由单片机控制的,根据引脚高低电平,使LED亮灭。当识别完成时,管脚输出为高电平,灯熄灭,下一次识别后,管脚输出为低电平,灯亮。为了实现对家电电器的控制,我们采用LED灯观察识别效果和继电器控制4路负载演示实际家电,通过语音识别远程控制家用电器的开关,在电源上电时,红蓝绿三个LED指示灯会闪烁三次并熄灭。当语音识别系统识别到关键词时,开发板的3个红绿蓝LED指示灯会常亮,并等待下一级命令。当接收二级语音指令“开灯”或者“关灯”时,3个红绿蓝LED指示灯逐渐熄灭,此时继电器控制的负载运行。根据灯的变化情况来判断LD3320芯片识别过程。根据STC12LE5A60S2的引脚连接图可以对应LD3320的芯片管脚的连接。在系统的硬件中,我们焊接了引脚底座定义为模块JP2.该模块如图4-10。在该模块中,我们将芯片中的一些功能一样引脚都连接在了一起,其中LD_SPOP和LD_SPON代表喇叭输出的正极和负极;LD_LINR和LD_LINL分别代表立体声LineIn的右端和左端;LD_MICN和LD_MICP分别为麦克风输入的负极和正极。图4-10语音识别底座Fig.4-10Speechrecognitionbase4.3.5辅助电路1.喇叭音量的外部控制喇叭的音量可以通过外部电路来改变,就是通过调节连接的两电阻比值,例如下图中两电阻R9和R8的阻值分别是33K和10K,那么33/10=3.3,则声音被放大3倍以上。而如果给R9接入可变电阻,就可以手动调节音量了。图4-11喇叭音量的外部控制Fig.4-11Externalcontrolofthespeakervolume2.麦克风偏置的辅助电路麦克风偏置(MBS)引脚为12引脚,它需要外接一个电阻电容电路,作用是提供麦克风一个输出纯净的浮动电压。图4-12麦克风增益的辅助电路Fig.4-12Auxiliarycircuitformicrophonegain4.4L9910H电机驱动芯片ICL9110是一种控制和驱动双通道集成一体的电路设备,这样不仅降低了成本,同时也提高了机器的可靠性。芯片具有较好的抗扰动性;两个输出信号就可以直接驱动电机的正向和反向运动,它具有大电流驱动能力,每个通道可以通过连续800毫安电流,峰值电流容量高达1.5A;电感负载的反向涌流有内置钳位二极管释放,所以它是一种驱动继电器,应用领域在直流电机、步进电机中。由于安全可靠的特点,因此L9110被广泛应用于玩具电机驱动和步进电机驱动及其它电路中[20]。它还有其他名字:L9110S,L9110H,LG9110S。他具有以下特征:1)低静态工作电流;2)宽电流电压范围:2.5V-12V;3)较低饱和压降4)TTL/XMOS输出电平兼容,可直接连CPU;5)控制和驱动集成于单片IC之中6)具备管脚高压保护功能;7)工作温度:-20oC-80oC。表4-2管脚定义Tab.4-2PinDefinitions序号符号功能1OAA路输出管脚2Vcc电源电压3Vcc电源电压4OBB路输出管脚5GND地线6IAA路输入管脚7IBB路输入管脚8GND地线表4-3逻辑关系图Tab.4-3LogicaldiagramsIAIBOAOBHLHLLHLHLLLLHHLL图4-13应用电路图Fig.4-13Applicationcircuitdiagram每个IC都由两通道构成,当输入信号A为高电平时,则输出A也为高电平,反之亦然。B通道原理相同。图4-14窗帘电路图Fig.4-14Curtaincircuitdiagram4.5直流LM1117-3.3V稳压芯片LM1117是一款三线端正电压输出的低压降线性稳压电路。LM1117是在值1.25-13.8V输出电压单位的可调电压版本,它通过2个外部电阻调节实现。输出端须要添加外接10uF的电容,通过滤波来来保障电源的纯净。1.特征:1)提供1.8V、2.5V、2.85V、3.3V、5V和可调电压的型号2)节省空间的SOT-223和LLP封装3)电流限制和热保护功能4)输出电流可达800mA5)线性调整率:0.2%(Max)6)负载调解率:0.4%(Max)7)温度范围:—LM1117:0oC-125oC2.应用领域:1)开关DC/DC转换器的主调压器2)高效线性调整器3)电池充电器图4-15稳压电路图Fig.4-15Regulatorcircuitdiagram由于LD3320识别芯片的工作电压不能超过3.3V,并且作为主控芯片的单片机工作电压也需要保持一致。因此我们需要通过电源稳压电路[21]如图所示,将5V的电源变成3.3V5软件设计本章首先介绍基于LD3320的识别系统具体的工作流程,各个模块对数据的处理和生成,彼此之间的通讯都在流程中具体体现。之后详细介绍各个模块之间的功能和定义。还要对硬件的调试方面进行了叙述。5.1系统流程图图5-1系统程序流程图Fig.5-1Systemprogramflowchart5.2系统程序流程图声控系统单片机程序流程图如图所示。图5-2声控系统单片机程序流程图Fig.5-2voicesystemsystemprogramflowchart5.3声控智能家居系统的软件程序设计1.单片机的初始化的函数:voidMCU_init()名称:voidMCU_init()[22]。功能:单片机的初始化的过程。2.中断处理函数:voidExtInt0Handler(void)interrupt0名称:中断处理函数。功能:处理语音识别芯片的中断请求。其他说明:当语音识别模块接收到音频信号后,内部将对其进行处理,最终获得识别结果,若无结果,则设置寄存器开始下次识别。3.用户执行函数:voidUser_handle(uint8dat)名称:用户执行函数。功能:识别成功后,单片机再进行处理。4.LD3320复位函数:voidLD_Reset()功能描述:语音识别芯片复位模块。voidLD_Reset(){ RSTB=1; delay(5); RSTB=0; delay(5); RSTB=1; delay(5); CSB=0; delay(5); CSB=1; delay(5);}5.LD3320初始化的函数:voidLD_Init_Common()功能描述:语音识别芯片模块的初始化。voidLD_Init_Common(){ LD_ReadReg(0x06); LD_WriteReg(0x17,0x35); delay(10); LD_ReadReg(0x06); LD_WriteReg(0x89,0x03); delay(5); LD_WriteReg(0xCF,0x43); delay(5); LD_WriteReg(0xCB,0x02); /*PLLsetting*/ LD_WriteReg(0x11,LD_PLL_11); LD_WriteReg(0x1E,0x00); LD_WriteReg(0x19,LD_PLL_ASR_19); LD_WriteReg(0x1B,LD_PLL_ASR_1B); LD_WriteReg(0x1D,LD_PLL_ASR_1D); delay(10); LD_WriteReg(0xCD,0x04);// LD_WriteReg(0x17,0x4c); delay(5); LD_WriteReg(0xB9,0x00); LD_WriteReg(0xCF,0x4F); LD_WriteReg(0x6F,0xFF);}6.LD3320ASR功能的初始化函数:voidLD_Init_ASR()功能描述:语音识别芯片模块ASR功能的初始化。程序为:voidLD_Init_ASR(){ LD_Init_Common(); LD_WriteReg(0xBD,0x00); LD_WriteReg(0x17,0x48); delay(10); LD_WriteReg(0x3C,0x80); LD_WriteReg(0x3E,0x07); LD_WriteReg(0x38,0xff); LD_WriteReg(0x3A,0x07);LD_WriteReg(0x40,0); LD_WriteReg(0x42,8); LD_WriteReg(0x44,0); LD_WriteReg(0x46,8); delay(1);}7.运行ASR识别处理函数uint8RunASR(void)功能描述:运行ASR识别流程。返回值:asrflag:1->启动成功;0->启动失败。其他说明:识别顺序如下:1)RunASR()函数实现一次完整的ASR语音识别流程;2)LD_AsrStart()函数实现了ASR初始化;3)LD_AsrAddFixed()函数添加关键词语到LD3320中;4)LD_AsrRun()函数启动一次ASR语音识别流程。任何一次ASR识别流程都要从初始化开始,之后按照此顺序进行。uint8RunASR(void){ uint8i=0; uint8asrflag=0; for(i=0;i<5;i++) { LD_AsrStart(); delay(50); if(LD_AsrAddFixed()==0) { LD_Reset(); delay(50); continue; } delay(10); if(LD_AsrRun()==0) { LD_Reset(); delay(50); continue; } asrflag=1; break; } returnasrflag;}8.语音命令添加函数:uint8LD_AsrAddFixed()功能描述:向LD模块添加关键词。返回值:flag:1->添加成功。9.识别结果获取函数:uint8LD_GetResult()功能描述:获取识别结果。返回值:LD_ReadReg(0xc5),读取寄存器返回的识别码。6程序的编译下载及设备调试6.1KEILuVision4的使用步骤KeiluVision4在2009年发布,它的管理系统引入了灵活的窗口,使开发人员能够同时在多台监视器操作,并提供了视觉上的表面可以控制窗口的的任何地方。新的用户界面可多窗口开放,这样更好地利用屏幕空间,提供一个高效,整洁的开发应用程序。KEILuVision4集成开发软件管理文件的方式是以工程的形式,而不是单一文件。工程项目文件里统一管理源程序(包括C程序、汇编程序)、头文件、说明性的技术文档。一般创建一个KEIL应用程序需要下列过程。1.创建一个工程项目文件;2.新建一个文档;3.输入程序代码;4.保存创建的源程序项目文件(本设计是用C语言编程因此存盘时输入的文件名应带扩展名.c);5.将写好的源程序文件添加到项目中;6.根据毕设所需要实现的功能,对程序进行编写、修改、最后仿真,一直到最终的仿真结果没有错误停止;7.程序写完就可以编译调试并生成hex文件了,首先对工程进行设置,打开工程菜单,点击设置。8.将晶振频率设置成22.1184MHz。9.勾选输出标签页的“生成HEX文件”,保存退出设置菜单。10.先点击编译,后点击建立目标文件,若没有错误的话,HEX文件即可生成。6.2STC-ISP芯片烧录软件的使用1.安装好连接驱动程序,将单片机与电脑连接好,打开STC-ISP。2.选择单片机类型为STC12LE5A60S2。3.加载刚才KeiluVision4生成的hex文件。图6-1选取生成的hex文件Fig.6-1hexselectthegeneratedfile4.选对COM口,在设备管理器中查看所连接单片机的通讯端口号,波特率默认,其他选项无需设置,点击下载,然后单片机上电即可完成程序烧录。图6-2选对COM口并开始烧录Fig.6-2ChoosetheCOMportandstartburning6.3系统测试6.3.1设备实测控制命令,如表4-1所示。LD3320语音识别芯片可以依据用户的需求制定个性化的关键词语音控制指令,最多可以写入50条[23]。本论文的设计是为了研究LD3320语音识别芯片在家庭电路中的应用,所以只写入了比较基本的指令。表6-1控制命令Tab.6-1Controlcommands序号语音命令字符串1开灯kaideng2关灯guandeng3打开电扇dakaidianshan4关闭电扇guanbidianshan5播放音乐bofangyinyue6停止播放tingzhibofang7打开窗帘dakaichuanglian8关闭窗帘guanbichuanglian9全部打开quanbudakai10全部关闭quanbuguangbi在烧录程序,完成硬件连线并上电复位后,系统即进入运行状态。向系统说出控制命令(尽可能用普通话),比如说“开灯”“关灯”“播放音乐”“停止播放”等命令后,系统会根据识别结果执行对应动作,点亮熄灭灯泡或者通断电扇运行。6.3.2设备实物展示本设计支持人体非特定ASR语音识别,采用双重口令语音识别控制,为防止其他音源的干扰,口令模式+IO控制模式,增加了识别的准确率。在使用语音识别指令之前,都必须先说出:一级口令“小白”,然后进行二级口令识别,4路负载输出端分别控制:LED灯泡、迷你风扇、MP3音乐、电机马达,代表4种不同的电器控制:电灯、风扇、音乐、窗帘。二级识别口令:开灯,关灯;打开风扇,关闭风扇;播放音乐,停止播放;打开窗帘,关闭窗帘。通过4路继电器去输出可以去控制家里的家电,比如风扇,电视,音响强电控制等等,可以说:“打开风扇”,“关闭风扇”或者“播放音乐”,“停止播放”等等,一系列的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论