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

更新时间:2024-01-02 01:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

国家职业资格全国统一鉴定

金蓝领维修电工技师论文

(国家职业资格二级)

论文题目: 基于单片机的智能家居系统设计

姓 名:

身份证号:

准考证号:

所在省市: 山东省烟台龙口

所在单位: 烟台南山学院

金蓝领维修技师论文

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

姓 名:王晶晶 单 位:烟台南山学院

摘 要:以SPCE061A为核心作为主控制器,以89C51及相关硬件电路为分控制器,利用电话接口和电力线载波通信,设计了一种智能家居系统,文中介绍了SPCE061A的芯片特性及其在主控制器模块中的应用,在软件设计部分,介绍了系统软件的设计结构,详细介绍了语音识别子程序的设计并给出了部分关键代码。 关键词:SPCE061A;语音识别;智能家居

1 引言

随着科技的发展和人们生活水平的提高,人们对居住环境方便快捷的要求越来越高,智能家居系统应运而生。智能家居是现代电子技术、通讯技术及自动化技术相结合的产物。它能够实现对家电设备的自动控制和管理、对家庭的安全进行监测报警,能够为用户提供安全舒适、高效便利的生活环境。本文结合语音识别技术,利用SPCE061A丰富的语音处理功能,在已有的电力线和电话线的基础上,设计了一套智能家居系统,该系统结构简单、功能完善并且具有较高的性价比。

2 系统架构

系统主要由主控制器、分控制器(89C51)、电话接口和电力线载波通信等几部分组成。本系统使用了大量的硬件电路来完成部分功能模块,其目的就是充分利用硬件电路的可靠性和稳定性以使系统达到较高的性能。系统的总体结构如下图所示。下面分别对各模块的功能做一下介绍:图1系统硬件原理图。

1

金蓝领维修技师论文

图1 系统硬件原理图

下面分别对各个模块的功能做一下介绍:

(1)主控制器模块:主要完成语音指令的识别和发送控制信号,语音指令由麦克风或者是电话接口上的语音通路输入。

(2)分控制器模块:该模块分布于室内的各个房间,主要完成报警信号的接收和发送家用电器控制信号。

(3)电话接口模块:由DTMF编解码电路、振铃检测电路、模拟摘挂机电路以及语音通路组成。DTMF编解码电路主要用来完成DTMF信号的接收和发送,在本系统中主要是用来完成自动拨号和按键识别;振铃检测电路是用来检测是否有电话呼叫以及振铃的次数以便判断是不是需要进行模拟摘挂机;语音通路是语音提示和电话语音命令的通道。

(4) 电力线载波通信模块:主要用来完成控制信号在电力线上的传输。

本系统主要完成远程控制家用电器和自动报警两个功能,下面我们简要介绍一下系统的工作过程:

当用户通过远方任何一部电话拨打家中的电话时,系统检测到电话线上出现的振铃信号并开始计数。如果五次振铃无人接听,主控制器则发出摘机信号,实现模拟摘机,并播放语音提示。用户根据语音提示输入密码,DTMF电路将接收到的DTMF信号进行解码,并将解码后的数字信号送入CPU验证密码是否正确,三次输入密码错误则系统自动挂机。如果密码正确,则进一步提示用户输入控制命令,这时用户可以通过按键或者直接用口令对家用电器进行控制。

2

金蓝领维修技师论文

如果采用口令来控制,则口令经电话线,以及电话接口的语音通道进入,SPCE061A单片机则将采集到的话音与预先存储的模板进行比较,进行语音识别并判断出用户的指令,然后发送相应的控制信号。控制信号被送入电力线调制解调器调制后,通过电力线接口电路耦合到电力线上进行传输,控制信息也就以广播形式发送出去。由电力线传送的被调制信号由分控制器系统的电力线接口电路接收并被送入 ST7537进行解调,解调后的信号被送入分控制器。每个分控制器都有自己的固定地址,分控器读取解码后的地址信息,并判断与自己的固有地址是否一致,若一致则接收数据信息并执行相应的操作,从而实现了对相应家电的控制。操作完成后,分控制器向主控制器发回确认信息,再由主控制器控制语音提示电路发出操作完成或失败的语音提示,通知电话遥控者。

如果采用按键控制,用户发出的按键信号(DTMF)经解码后送入CPU,CPU接收到信号后从中分析出地址信息和控制信息并发出控制信号。控制信号经ST7537调制后通过电力线传输到分控制器,由分控制器执行相应的操作。当传感器检测到警情时,就会发出报警信号,分控制器接收到报警信号,则将报警信号耦合到电力线上。中心控制器接收到报警信号后则自动拨打用户预先设置的电话号码,电话接通后延迟两秒,系统自动播放语音报警信息。

3 SPCE061A芯片特性简介

SPCE061A 是一款基于μ'nSP 内核的16位单片机,其芯片特性如下:

1.工作电压:内核工作电压VDD为3.0-3.6V(CPU),I/O口工作电压VDDH为2.4~5.5V(I/O);

2.CPU时钟:0.32MHz~49.152MHz; 3.内置2K字SRAM和32K闪存ROM;

4.系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;

5.具备触键唤醒的功能;

6.32位通用可编程输入/输出端口;

7.2个16位可编程定时器/计数器(可自动预置初始计数值);

3

金蓝领维修技师论文

8.7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;

9.2个10位DAC(数-模转换)输出通道;

10.14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;

11.具备串行设备接口;

图2 SPCE061A内部结构

12.低电压复位(LVR)功能和低电压监测(LVD)功能; 13.内置在线仿真(ICE,In-Circuit Emulator)接口。SPCE061A的内部结构框图如图2所示。

4 语音识别技术简介

语音识别技术就是一种让机器通过识别和理解过程把语音信号转变成相应的文本或命令的技术。机器对语音进行识别、处理的过程与人对语音进行识别、处理的过程基本上是一致的。目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可大致分为语音特征提取、声学模型与模式匹配(识别算法)和语义理

4

金蓝领维修技师论文

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

图 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 结束语

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

参考文献

[1] 刘萌,招建平,郝艳玲,刘秋霞.基于语音识别的家庭智能监控系统的设计[J].电声技术,2006,(10):58-59. [2] 王社国,赵建光.基于 ARM 的嵌入式语音识别系统研究[J].微计算机信息,2007,(5):149-150.

[3] 万海峰,王慧,叶义成.基于 SPCE061A 语音识别技术的智能交通灯设计[J].自动化技术与应用,2009,28(11):110-112.

[4] 姚幽然,黎亚元,李文波,王宏.SPCE061A 在远程控制系统中的应用[J].机电工程技术,2006,35(6):59-60.

10

金蓝领维修技师论文

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

7 结束语

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

参考文献

[1] 刘萌,招建平,郝艳玲,刘秋霞.基于语音识别的家庭智能监控系统的设计[J].电声技术,2006,(10):58-59. [2] 王社国,赵建光.基于 ARM 的嵌入式语音识别系统研究[J].微计算机信息,2007,(5):149-150.

[3] 万海峰,王慧,叶义成.基于 SPCE061A 语音识别技术的智能交通灯设计[J].自动化技术与应用,2009,28(11):110-112.

[4] 姚幽然,黎亚元,李文波,王宏.SPCE061A 在远程控制系统中的应用[J].机电工程技术,2006,35(6):59-60.

10

本文来源:https://www.bwwdw.com/article/ggdx.html

Top