声控小车.docx
《声控小车.docx》由会员分享,可在线阅读,更多相关《声控小车.docx(38页珍藏版)》请在冰豆网上搜索。
![声控小车.docx](https://file1.bdocx.com/fileroot1/2023-6/9/0dc25777-52d2-47ab-9de5-6cf7afe60082/0dc25777-52d2-47ab-9de5-6cf7afe600821.gif)
声控小车
学士学位毕业设计(论文)
基于单片机的声控小车
学生姓名:
XXX
指导老师:
XX
所在学院:
信息技术学院
专业:
电气工程及其自动化
中国·大庆
2015年5月
摘要
本文主要设计一种用语音进行控制的单片机小车。
声控小车以拥有可编程音频处理的凌阳SPCE061A单片机作为整个系统的控制核心,不需要添加额外的语音芯片就能实现语音控制功能;声控小车采用H桥电路控制小车电机转动,根据语音识别技术,采用C语言进行编程,实现小车的前进、停止左转和右转,以及语音播报功能。
关键词:
SPCE061A声控小车语音识别H桥电路
ABSTRACT
Thispaperstatesthedesignofavoicecontrolcarbasedonsinglechipmicrocomputer.Inhardwaredesignofthecar,weuseSPCE061Aasthecontrolcenterinthesystem,whichhaveprogrammableaudioprocessingandcanrealizevoicecontrolfunctionwithoutadditionalvoicechip.VoicecontrolcaruseH-bridgecircuittocontrolthecarmotorrotation,accordingtothespeechrecognitiontechnology,usingClanguageprogramming,realizethecarforward,stop,turnleft,turnrightandvoicebroadcast.
Keywords:
SPCE061AVoicecontrolcarSpeechrecognitiontechnologyH-bridgecircuit
前言
随着人们生活水平的提高,电子产品的快速发展,普通电子产品的消费已经满足人们需求。
人们开始追求具有最新科技和更多功能的产品,拥有高科技含量的电子式智能玩具迅猛发展。
语音识别技术和传感器技术等一系列火热的一门技术已经开始运用在玩具、电气、交通等各个方面。
电子科技、通信技术和互联网的高速发展,人们的生活也逐步走向信息化、自动化、智能化时代。
语音识别技术可以运用在玩具中,所开发的新产品会有很大的市场,受到消费者的青睐。
语音识别技术不仅仅是在运用,已经开始逐渐的改变我们的生活。
人们利用语音识别技术设计出各种各样的具有实用价值产品,用这些产品去替换一些陈旧的设别,或者去开发一些新的领域,这些都让我们的生活更加美好。
现在,你在家要打开电灯或者电视,只要对着语音接受器说出来就能打开电灯或者电视,而不需要走过去或者用手打开。
本文主要研语音识别技术如何运用在小车上,运用语音识别技术,把传统的遥控操作变成了语音控制,用语音来控制小车。
主要解决问题是语音识的过程,让机器听懂我们的语音指令,并把这些指令通过单片机反映给小车的电机驱动模块,让小车做出相应的动作。
本文所设计的声控小车只是实现了一些基本的功能,还有很大的开发空间。
我们可以在本设计的基础上添加一些功能模块,来实现更多的功能。
如果添加一些传感器模块、摄像头模块和无线传输模块,可以实现拥有更多功能智能小车。
1绪论
1.1国内外研究发展和现状
1.1.1国际语音识别技术的发展和现状
语音是别技术是语音处理技术的一个分支,语音处理技术的发展可以分为三个阶段:
萌芽阶段、发展阶段、应用阶段和再发展阶段。
最开始的萌芽阶段,也就是19世纪70年代至20世纪50年代,而语音处理技术真正意义上的研究是从1876年贝尔电话的发明开始,一直到20世纪50年代,人们对语音处理技术的研究也仅仅是利用语音学科里面的知识,实现一些简单的语音处理功能。
例如,人们利用声波信号中的若干特征参数,制作一些模拟电路来模仿人类的发音。
1952年,AT&TBell实验室的Davis等人研制出第一个可识别10个英文数字的特定人语音增强系统——Audry系统,Audry系统的诞生标志着语音识别技术的开始[1]。
1956年,美国普林斯顿大学RCA实验室的Olson和Belar等人研制出能识别10个单音节词的系统,该系统采用带通滤波器组获得的频谱参数作为语音增强特征。
1959年,Fry和Denes等人尝试构建音素器用来识别4个元音和9个辅音,并采用频谱分析和模式匹配进行决策,这大大提高了语音识别的效率和准确度[2]。
从此,语音识别技术开始受到了各国科研人员的重视并进入语音识别的研究。
中期的发展阶段,即20世纪60年代初至80年代初,随着集成电路技术和计算机技术的发展,语音识别的理论和技术也日趋完善和成熟。
60年代初,苏联的Matin等人提出了语音结束点的端点检测和Vintsyuk提出了动态编程,使语音识别水平得到显著提升,这一提法在以后的识别中不可或缺[3]。
60年代末、70年代初,信号线性预测编码(LPC)技术和基于现行预测倒谱及动态时间规整(DTW)技术的特定人鼓励语音识别系统被提出[4]。
80年代,能够有效地解决了语音信号的特征提取和不等长语音匹配问题的矢量量化(VQ)和隐马尔可夫模型(HMM)理论[5]被提出,这些技术和理论的提出推动了语音识别技术的成功运用[6]。
语音识别技术的应用阶段,即20世纪90年代至21世纪初,随着遵循摩尔定律的超大规模集成电路技术的迅速发展,计算机多媒体技术的研究也得到迅猛发展,人们开始走进信息化时代[7]。
1990年基音同步叠加方法的提出,让语音的音色和自然度得到有效的提高,并且基于同步叠加法的英语、德语、法语、日语等语种的文语转换系统的研制成功,为语音识别技术在世纪生活中的应用奠定了基础[8]。
1996年9月,股票报价系统作为第一个大规模商用语音识别应用系统成功问世,这个系统的运用大大地提高了服务的质量和股民满意度,节省了呼叫中心的费用,之后不久,语音骨片交易系统也被开通。
2000年,美国电信运营商Sprint中的PCS部门开通了语音驱动系统,为使用客户提供语音拨号、查号、客户服务和地址更改等业务,并因此成为卓越和创新的客户服务的电信运营商[9]。
语音识别技术的在发展阶段,即从本世纪初至今,电子科技的高速发展,带动人们的生活也逐步走向信息化、自动化、智能化。
随着人工智能的提出和云计算的运用,人们的生活已经慢慢的走进新时代的大门。
2011年,RATS项目重点解决语音识别和语种识别在噪声环境下的问题,它主要面对口语环境,计划实现99%的背景噪声辨析率,把噪声降到最低。
2012年的BOLT项目要求准确地讲普通话和其它一些语言翻译成英语,BOLT能够让用户在多语言资源中金鹰英语检索,得到针对行性的资料[9]。
1.1.2国内语音识别技术的发展和现状
我过对于语言识别技术的研究起步比较晚,但是在上世纪80年代基本上跟上了国际研究的脚步,研究也行实验逐步走向实际运用。
我过得语音识别技术研究过也经历了从共振峰的合成到LPC再到应用PSOLA的过程。
1983年,我国开始执行863计划[10],国家863专家组专门设立语言识别技术项目,每两年滚动一次,汉语转化系统研究取得了令人瞩目的成果。
在世纪初,KX-PSOLA、联想佳音、TH_SPEECH和KDTALK等系统的相继问世,让合成的汉语普通话的清晰度和可懂度得到很大的提升,但是仍然伴随很重的语音机器味道,语言的自然度不够流畅,这严重的制约了语音识别技术的大规模应用。
现今,语音识别技术已经应用在我们生活的各个领域,我们的生活也将伴随更多智能化产品的问世而更加的智能化。
但是,我国在语言识别技术芯片上的研究和开发还与国际上有很大的距离,我过独立自主研发的芯片还很少。
现阶段我国的语音识别技术已经达到很高的水平。
随着我国云计算的发展,语音识别技术得到了更大的发展空间。
语音识别技术不仅仅是在运用,已经开始逐渐的改变我们的生活。
现在,你在家要打开电灯或者电视,只要对着语音接受器说出来就能打开电灯或者电视,而不需要走过去或者用手打开。
买个语音玩具,也不再只是一个普通的玩物,它可以和你一起对话,进行互动。
未来的语音识别技术将运用在更多的领域中,你饿的时候,也许你只要说一句话,智能机器人就能在几分钟把热腾腾的饭菜摆放在你的面前。
1.2研究主要内容
随着计算机技术和信号技术的发展,语音识别技术已经应用在办公、家具、交通和机器人等方面,特别是在PC、信息处理、自控和通信等领域。
当今,语音识别在人们的生活中所占用的比例已经很大,并且会越来越多。
人们利用语音识别技术设计出各种各样的具有实用价值产品,用这些产品去替换一些陈旧的设别,或者去开发一些新的领域,这些都让我们的生活更加美好。
本文中所设计的基于SPCE061A的声控小车[11],主要运用语音识别技术,把传统的遥控操作变成了语音控制,让操作者仅仅通过发送语音指令就能控制小车。
语音识别技术和电机及其驱动电路是声控小车设计主要研究的内容。
本设计采用孤立词特定人的语音识别技术,经过特定人的语音训练后,对训练人的语音具有很高识别率[12]。
本设计中的语音训练命令只有“前进”、“左转”、“右转”和“停止”,在语音训练完成后,小车根据操作人的命令去完成指定的动作。
电机及其驱动电路主要用H桥电路配合单片机的I/O端口实现控制电机的正反转和停止,来达到实现小车的“前进”、“左转”、“右转”和“停止”。
1.3研究的目的和意义
随着人们生活水平的提高,电子产品的快速发展,普通电子产品的消费已经满足人们需求。
人们开始追求具有最新科技和更多功能的产品,拥有高科技含量的电子式智能玩具迅猛发展。
语音识别技术作为当今社会运用火热的一门技术,如果运用在玩具中,所开发的新产品会有很大的市场,受到消费者的青睐。
现在的玩具市场大都开始运用传感器技术,而这些高科技技术的结合所产生的玩具机器人,已经开始出现在电子玩具市场中。
本文所设计的声控小车只是实现了一些基本的功能,还有很大的开发空间。
我们可以在本设计的基础上添加一些功能模块,来实现更多的功能。
如果添加一些传感器模块、摄像头模块和无线传输模块,可以实现可视化的多功能智能小车。
如果把这些放在现实中,就是一辆无人驾驶的汽车。
就想电影美国队长2里面神盾局的局长尼克·佛瑞所驾驶的汽车,在尼克·佛瑞受伤的时候,自动启动语音系统,用语音来操纵汽车行驶和攻击。
相信在未来的几十年里,那些电影中出现的科技肯定会出现在我们的显示生活中。
2小车的设计方案
2.1设计方案的选择
基于单片机的声控小车大致可分为两种设计方案:
一种是用普通的MSC-51系列单片机作为微处理单元,利用外围的语音芯片电路作为语音控制单元,两者相互结合对小车的电机驱动进行控制的设计;另一种是使用凌阳公司生产内部具有语音识别功能的SPCE061A作为核心的控制单元,直接对小车的电机驱动电路进行控制的设计。
在基于MSC-51系列单片机的设计方案中,MSC-51系列单片机是一种广泛运用的单片机,价格便宜和易于学习,其开发方面的技术已经非常成熟,并且已被大部分人熟练掌握[13]。
但是,MSC-51系列单片机结构简单,功能相对与其他单片机来说较少,若果要实现小车的语音控制功能,就必须要在单片机外围电路额外加上语音芯片以及与其相关的MIC和AD转换电路。
语音芯片是一种新型的产品,要实现语音控制功能还要进行语音的压缩、编码、解码和语音识别,这些都需要运用相对应的算法,进行大量的计算,把声音信号转化成数字信号。
然后,通过单片机对小车的电机驱动电路进行控制。
在基于凌阳公司生产的SPCE061A的设计方案中,SPCE061A是一款能单一芯片实现少量语音录制和播放单片机,不需要依靠外围的语音芯片,通过自带的语音识别单元把声音信号通过内部的ADC输出数字信号,直接控制小车电机驱动电路。
凌阳公司为用户提供大量语音库文件,可以直接进行调用,省去了编码和解码需要进行的大量操作,这大大节省了时间[14]。
综合上面的分析,采用基于凌阳公司生产SPCE061A的设计方案更合适,这样可以在较少外围电路情况下实现相同的功能,让整个设计更加简洁。
2.2整体设计方案
声控小车的电路整体设计按照各部分实现的功能可以分为三大模块:
语音识别模块、MCU核心控制模块和电机及其驱动模块,这些模块之间的关系如图1所示。
图1系统整体设计方案
实际中,语音识别模块主要进行声控小车中“声”的部分。
语音模块主要通过麦克风采集小车操作人员发出指令的声音信息,提取有效的特征语音和模板库里面的语音进行对比,识别出操作人员所发出的指令,把信号发给MCU核心控制模块[15]。
MCU核心控制模块针对语音模块输出的信号,进行处理,做出下一步指令,并传送到电机驱动模块,控制相对应的电机运转。
例如:
当操作人发出“前进”指令时,语音模块根据采集的声音,把“前进”的指令转换成为数字信号发送给MCU,MCU小车后轮的电机运转,而方向电机不运转,小车前进。
声控小车的车身整体设计根据传统的设计,采用常用的双电机四轮驱动的车身底座。
后轮作为动力部分的驱动轮,为整个小车提供动力,驱动小车行驶;前轮作为方向部分,可以灵活转动,在连杆和支点的作用下,控制小车的前轮摆动,改变小车的行驶方向,使其向左或者向右行驶[16]。
自然状态下,前轮在弹簧的作用下保持在中间位置,电机正反转时候方向发生改变,其大致结构如图2所示。
图2小车车身和电机驱动结构图
3系统的硬件设计
声控小车的硬件部分按照其主要实现的功能分为四大类:
语音模块、MCU核心控制模块、电机及其驱动电路模块和电源模块。
3.1MCU核心控制模块设计
在小车的整体设计方案中,通过对MSC-51系列单片机和凌阳SPCE061A单片机的对比发现凌阳单片机的内置语音单元,可以让整个小车的设计变得更简洁。
采用凌阳SPCE061A单片作为整个设计的控制核心,可以直接使用凌阳公司大学生计划中的凌阳61开发板[17]。
3.1.1凌阳61A开发板
凌阳61A板有两种,一种是集成所有常用功能大型开发板,也可称为开发箱;另一种是一种精简半成品开发板,大小相当于常用的银联卡,如图3所示。
图3凌阳61A精简单片机半成品开发板实物图
根据凌阳大学计划中所展示的成品,大部分都只是使用SPCE061A精简开发板—61A板进行设计,以精简开发板作为核心,添加不同的功能模块来设计出相应的产品。
凌阳SPCE061A精简开发板配有在线调试功能,在自身的开发环境中不需要外界人和仿真、调试器就可以完成在线编程、仿真和调试功能。
SPCE061A精简开发板配有在线调试器、麦克风等,用户不需要外接人和器件就可以实现语音的录放等功能[18]。
凌阳SPCE061A精简开发板可以分为七个功能区:
电源区、下载区、音频区。
SPCE061A及周边、键控区、复位区和端口区,其大致的分区如图4所示。
图4凌阳61A精简开发板功能分区图
3.1.2凌阳SPCE061A单片机
凌阳SPCE061A单片机是我国台湾凌阳科技股份有限公司设计生产,并且拥有独立自主知识产权的一款16位
微处理器,具有很高处理速度。
SPCE06A与之前的SPCE500
A相比较,SPCE061A内嵌了32K的闪存,这样满足了大部分资源需求较少的用户,同时使程序的调试更加方便[18]。
凌阳SPCE061A的脚位如图5所示:
图5凌阳SPCE061A的脚位图
凌阳SPCE061A单片机的工作电压为2.6~3.6V,
(IO参考电压)为
~5.5V;系统的频率范围为0.32MHz~49.152MHz。
如果工作电压超出规定范围,系统就会停止工作,不会烧坏单片机。
凌阳SPCE061A单片机是一种可编程音频处理单片机,使用它可以非常方便地实现语音的识别和录放等功能。
在语音方面,相对于其它语音芯片那些复杂的语音处理算法,凌阳公司提供了语音功能的库函数,只要了解了这些函数的使用方法,就能容易的实现语音的识别和语音录放等功能。
在没有围存储的情况下,使用凌阳音频编码SACM_S240方式,可以自己录制210秒的语音数据[19]。
凌阳SPCE061A拥有7通道A/D模拟量的输入范围为1/2VDD+/-1/4VDD的10位精度的ADC,;2个10位DAC输出通道和两个16位可编程定时器/计数器以及32位通用可编程输入/输出端口,在实现自身基本功能的同时,还有更大的扩充和开发空间[20]。
3.1.3MCU核心控制电路
整个声控小车设计的控制核心就是凌阳SPCE061A精简开发板的控制核心——SPCE061A及其周边。
核心控制电路以凌阳SPCE061A为未处理单元,在单片机的周围加上让其工作的外围电路,如时钟电路、PLL外围电路和复位电路等,整个设计的核心控制电路设计电路如图6所示。
图6MCU核心控制电路图
SPCE061A的时钟电路主要为单片机提供准确的实时时钟震荡信号。
时钟电路中采用32768Hz的外接晶振振荡器和两个20pf的晶振电容。
晶振和与其相连电容的质量会影响SPCE061A单片机在正常的弱振方式下的晶振起振,如果选取的晶振或者电容的质量太差,可能会造成单片机运行几秒就重置或者死机的现象[21]。
SPCE061A锁相环电路主要包括片内PLL电路和片外PLL电路。
片外PLL电路的电阻和电容如果与使用说明上所推荐的值不一致,可能会导致芯片的时基不正常。
PLL锁相环电路主要对系统提供的实时时钟的基频进行倍频处理,输出系统的时钟:
Fosc。
Fosc在默认状态下为24.576MHz,还可以通过对P_SysyemClock的7、6、5为进行设置。
PLL锁相环电路可以把频率调整至49.152MHz、40.96MHz、24.576MHz或者20.48MHz,其原理如图7所示。
图7锁相电路工作原理图
SPCE061A的复位电路与普通单片机的复位电路功能相同,当单片机系统在运行时,收到外界环境干扰而出现程序跑飞的时候,按下复位键,实现内部程序自动从头开始执行。
MCU核心控制电路在声控小车主要实现将从语音识别电路中所接收到的信号反应给单片机内部的中央处理单元,中央处理单元把语音识别模块得到的用户指令转化成为数字信号,通过单片机的I/O端口反应到电机的驱动电路中,驱动电机按照用户发出的指令进行相应工作。
3.2语音模块的设计
3.2.1语音识别技术
语音识别技术是一种非常有意义的发明,它的出现让电子产品和电气产品更加智能化、人性化。
语音识别技术现在已经广泛运用在我们的现实生活中,比如智能语音玩具、智能声控家具以及机器人等。
语音识别技术根据说话方式的不同,可以分为连续语音识别系统、连词语音识别系统和孤立词语音识别系统。
另外,语音识别系统根据对说话人的依赖程度,有可以分为特定人语音识别系统和非特定人语音识别系统[22]。
声控小车中说话人主要发出“前进”、“左转”、“右转”和“停止”这四个指令,这些指令都只是一个词,所以本系统采用的是孤立词语音识别系统和特定人语音识别系统。
采用特定人语音识别系统主要从两方面进行考虑:
一方面,废铁盯人语音识别技术开发成本高,每个模板都要由不同年龄、不同性别、不同口音的很多人来进行训练,并且对处理器的运算速度和内存要求都特别高,不适合应用在凌阳SPCE061A单片机上;另一方面,本系统是声控小车,归属于玩具,面对的是个人,只需要对使用者进行语音识别就可以了,并且对训练人发出的指令识别率特别高。
声控小车的语音识别模块语音识别原理如图8所示。
由于使用特定人语音识别技术,在首次使用前需要进行语音训练,训练后的语音生成指令模板,并装载在SPCE061A单片机的闪存中,用来和以后接收到的语音进行对比和识别。
外界的语音信号通过麦克风输入语音模块,首先对收到的语音进行端点检测,提取其中的有效语音,进行信号特征分析提取,然后把提取到的信号特征参数与模板中的语音进行相似度对比,并将匹配到的指令序号发送给SPCE061A单片机的控制单元[23]。
图8语音识别工作原理图
3.2.2语音识别模块电路
凌阳SPCE061A的语音识别电路非常简单,只有一个MIC音频电路。
因为凌阳SPCE061A单片机本身就是一款可编程音频处理单片机,所以本设计中的语音识别电路不需要增加外围的语音芯片,只需添加一个麦克风并与单片机内部的声音模/数转换器输入通道、内置麦克风放大器和自动增益(AGC)功能相结合。
语音识别模块原理电路如图9所示。
图9语音识别模块原理电路图
语音识别模块主要以凌阳SPCE061A单片机内部的语音处理单元为核心,在单片机外加的麦克风语音输入电路进行语音采集,语音信号从麦克风输入经过放大、滤波后输入到单片机,将信号进行A/D变换,并将数据与语音训练所保存的语音指令(前进、停止、左转和右转)模板逐一进行比较,找到相符合的模块,把相应的特征信号发送给单片机内部的中央处理单元,让单片机进行相对应工作。
3.2.3语音播报电路
语音播报电路只是在凌阳SPCE061A单片机的基础上增加一个功率放大电路,把单片机发出的语音信号通过Spy0030放大后通过小喇叭播放出来,电路如图10所示。
图10语音播报电路原理图
语音播报电路主要由凌阳功放Spy0030组成,单片机的并联两个DAC引脚和MICOUT管脚构成整个语音播报电路输入部分,信号经过电容滤波和可变电阻后进入功率放大器单元。
功率放大器S0030py按照三极管的电流控制作用,将电源的功率转化为按照输入音频信号的变化的电流,这样就得到了与原先相比放大β倍的输出信号[24],这些信号通过外接的小喇叭进行播报识别出来的语音。
3.3电机及其驱动电路模块设计
3.3.1H桥驱动电路
根据任务书中实现小车的前进、停止、左转和右转的任务要求,设计中的电机驱动模块采用全桥驱动电路进行设计。
全桥驱动电路的工作原理是由四个三极管控制电机的电平,从而控制电机的正反转。
全桥电路中,当把三极管按照矩形顶点放置,电机摆放在四个三极管中心,全桥驱动电路工作原理的电路图就像英文字母H,又称为H桥驱动电路[25],如图11所示。
图11H桥驱动电路工作原理图
H桥电路控制电机的正反转和停止的工作原理就是控制四个三极管的导通和开断,三极管就像一个单刀双掷开关。
当可以为电机提供正负电压的两个相应三级关导通,而另外两个三级关断开时,电机工作;当四个三年管都关断时,不能为电机提供有效正负电压,电机停止;当四个三极管同时为导通状态时,整个H桥电路上会出现很大的短路电流,会严重的烧毁三极管,甚至给整个系统带来严重的后果。
3.3.2小车前轮驱动电路
在声控小车设计中,虽然两个电机所担当的任务不同,但是仍然采用相同的驱动电路来对前后轮单机分别进行驱动。
前轮方向电机的驱动电路设计如图12所示。
小车左转和右转的方向控制主要由前轮驱动控制电路来实现。
前轮电机的驱动主要由Q1、Q2、Q3和Q4组成H桥的四个桥臂,Q5和Q6控制Q1、Q2、Q3和Q4的导通和关断,单片机的IOB8和IOB9控制Q5和Q6的电平。
图12前轮方向电机的驱动电路图
在H桥中,Q1和Q4构成一个电机正转控制组合;Q2和Q3构成一个电机的反转控制组合。
当Q1和Q4同时导通,并且Q2和Q3关断时,前轮电机正转,即小车左转;当Q2和Q3同时导通,并且Q1和Q4关断时,前轮电机反转,即小车右转[26]。
Q1和Q4的导通和关断由Q5进行控制,Q2和Q3的导通由Q6进行控制,而Q5和Q6分别有单片机的IOB8和IOB9控制。
当单片机的IOB8和IOB9分别给出高电平和低电平时,Q1和Q4导通,Q2和Q3关断,小车左转;同理,单片机的IOB8和IOB9分别给出低电平时,小