教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

基于单片机的智能家居系统设计(2)

来源:网络收集 时间:2026-05-15
导读: 金蓝领维修技师论文 解三部分。其基本原理如下图所示。 图 3 语音识别系统原理图 从图中我们可以看出语音识别一般分为两个步骤:第一步是系统“学习”或“训练”阶段,这一个阶段的任务是建立识别基本单元的声学模型

金蓝领维修技师论文

解三部分。其基本原理如下图所示。

图 3 语音识别系统原理图

从图中我们可以看出语音识别一般分为两个步骤:第一步是系统“学习”或“训练”阶段,这一个阶段的任务是建立识别基本单元的声学模型以及进行文法分析的语言模型,即构建参考模式库。第二步是“识别”或“测试”阶段,根据识别系统的类型选择能够满足要求的识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,按照一定的准则和测度与参考模式库中的模型进行比较,通过判决得出结果。

在本应用中,语音识别技术方面采用凌阳SPCE061A作为关键器件,同时凌阳公司提供bsrv222SDL.lib库函数支持,在使用时通过调用库函数里相关的API函数来实现所要求的功能。

5 主要硬件模块设计

下面主要对主控制器和语音提示电路作介绍。 5.1主控制器系统

主控制器主要由MIC输入模块、控制模块、存储模块、功放和喇叭输出模块四部分组成,其结构如下。

(1)控制单元与语音识别:由SPCE061A单片机完成。

(2)MIC输入模块:SPCE061A的A/D转换器有8个通道,其中有一个通道是MIC_IN输入,专门对语音信号进行采样。选用驻极体话筒,其偏压由SPCE061A的VMIC脚提供。该模块电路比较简单,只需外接三个电阻和电容对电流信号进行滤波就可以了。

(3)功放和喇叭输出模块:SPCE061A提供双通10位的D/A输出AUD1、AUD2,每个通道的输出能力是30mA。为了能驱动扬声器放音,我们将输出电路设计为由负载电阻和三极管8050组成的功放电

5

金蓝领维修技师论文

路。

(4)存储模块:由于芯片内置的存储空间有限,为了运行复杂的识别程序,必须通过扩展必要的存储芯片来完成系统的功能。在本系统中我们采用SPBA01B和W29C040来对SPCE061A进行Memory扩展。

5.2 语音提示单元

图4语音提示电路

本系统主要由语音识别电路和语音提示电路来完成人机交互,其中语音提示电路的电路原理图如图4所示。

数码语音芯片选用的是单片语音录放集成电路ISD25120,它具有抗断电、音质好、使用方便、无需专用的开发系统等优点。录音时间为120s,能重复录放达10万次。芯片采用多电平直接模拟量存储专利技术,省去了A/D、D/A 转换器。每个采样值直接存储在片内单个存储单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声。

SPCE061A的IOA11~IOA15与ISD25120的地址线相连,用以设置语音段的起始地址。IOB11和IOB13用以控制录放音状态。IOB12连接一按键,供录放音测试时使用。ANAIN与ANAOUT是模拟信

6

金蓝领维修技师论文

号的输入端和输出端,它们之间连接耦合电容,通常取值为0.22~1uF。语音信号由SP+和SP-端经耦合器耦合到电话线或由扬声器直接播放。录音时,单片机通过口线设置语音段的起始地址,再使端PD端和P/R端和CE为低电平启动录音。结束时,单片机又让CE端回到高电平,即完成一段语音的录制。放音时,根据需要播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/R端设为高电平,PD端设为低电平,并让CE端产生一负脉冲启动放音,这时单片机只需等待 ISD25120的信息结束信号,即低电平EOM的产生。结束信号为一负脉冲,在负脉冲的上升沿,标志着该段语音播放结束。

图 5 系统软件整体结构图

6 软件设计

6.1 系统软件结构

软件的设计不仅要考虑到各个模块实现的功能,而且要对整个系统进行有效的管理和协调。在此基础之上,才能够从整个系统的角度全面完善地实现系统所需要的各项功能。本系统的软件主要包括一个主程序和四个子程序,其总体结构如图6所示。

主程序主要负责对整个控制器的工作进行管理、协调和对子程序的调用以及对用户的各种服务的响应。四个子程序分别是语音识别、DTMF收发、语音录放、信号音检测四个子程序。限于篇幅,下面只对语音识别子程序的软件设计进行介绍。

7

金蓝领维修技师论文

初始化 调用训练模块 BSR_DeleteSD Group 初始化识别器 Train Word (int WordID, int RespondID) 启动实时监控 BSR_Init Recognizer() BSR_EnableCPU Indicator() 识别处理 BSR_GetResult() 识别部分

图 6 语音辨识软件结构图

6.2语音识别子程序设计

语音识别程序设计包括三部分:训练样本;识别;语音提示。训练过程即提取语音样本的特征参数过程主要调用库函数BSR_Train 完成。为了防止误命令,每条语音命令训练 2 遍,只有 2 次命令相同时才成功,BSR_Train函数有8种可能的返回值,如:-0-训练成功;-1-没有检测到命令;-4-存储器满;-7-命令已存在等。语音辨识软件结构如图7所示。

初始化识别器 选择样板库 调用BSR_GetResult(函数) N函数返回值>0 Y识别处理 其他处理 图 7 语音识别流程图

8

金蓝领维修技师论文

语音识别技术方面有 bsrv222SDL.lib 库函数支持,在使用时通过调用库函数里相关的API函数来实现所要求的功能。下面给出语音识别的流程图及具体代码。其中,BSR-GetResult 函数为启动辩识,当无命令识别出来时,返回0;识别器停止、未初始化或识别未激活返回-1;当识别不合格时返回-2;当识别出来时返回命令的序号。部分程序源代码如下:

Result =BSR_GetResult();//获得识别结果 if(Result>0)//有识别结果? {if(Result==NAME_ID)//名称 {

PlaySnd(S_RDY,3);//播放待命提示音 Ready=1;// 进入待命状态 }

if(Ready==1)//待命状态? {

switch(Result) {

case COMMAND_GO_ID://识别出第一条命令 GoAhead();//执行动作一 Ready=0; break;

case COMMAND_BACK_ID://识别出第二条命令 BackUp();//执行动作二 Ready=0; break;

case COMMAND_LEFT_ID://识别出第三条命令 TurnLeft();//执行动作三 Ready=0; break;

case COMMAND_RIGHT_ID://识别出第四条命令

9

金蓝领维修技师论文

TurnRight();//执行动作四 Ready=0; break; default: break; } }

7 结束语

本系统主要有以下性能特点:实现了语音控制家用电器的启动和关闭;实现双向的功能:能够远距离控制家用电器,又能快速及时地传送报警信息;设计简单,系统组织灵活,控制范围可大可小,利用已有电力线和电话布置设施成本低,且不受供电范围和距离的限制;使用凌阳单片机实现语音识别控制功能,提高了系统的性价比。随着经济的发展,人们对物质文化需求的日益增长,智能家居系统必将受到人们的青睐,相信这种功能强大的单片机系统会有广阔的应用和发展前景。 …… 此处隐藏:1391字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于单片机的智能家居系统设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/616120.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)