单片机实现智能家居的远程控制

发布者:数字奇迹最新更新时间:2011-10-11 关键字:单片机  远程控制 手机看文章 扫描二维码
随时随地手机看文章
 

  1 引言

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

  2 系统架构

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

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

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

  如果采用口令来控制,则口令经电话线,以及电话接口的语音通道进入,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 . 3 2 位通用可编程输入/ 输出端口;7 . 2 个1 6 位可编程定时器/ 计数器( 可自动预置初始计数值) ;8. 7 通道10 位电压模- 数转换器(ADC)和单通道声音模- 数转换器;9. 2 个10 位DAC(数- 模转换)输出通道;10.14 个中断源可来自定时器A/B,时基,2 个外部时钟源输入, 键唤醒;1 1. 具备串行设备接口;12. 低电压复位(LVR)功能和低电压监测(LVD)功能;13. 内置在线仿真(ICE,In-Circuit Emulator)接口。

  SPCE061A 的内部结构框图如图2 所示。

[page]

  4 语音识别技术简介

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

  从图中我们可以看出语音识别一般分为两个步骤:

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

 

 在本应用中,语音识别技术方面采用凌阳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 组成的功放电路。

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

  5.2 语音提示单元

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

图4 语音提示电路

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

  SPCE061A的IOA11~IOA15 与ISD25120 的地址线相连,用以设置语音段的起始地址。IOB11 和IOB13 用以控制录放音状态。IOB12 连接一按键,供录放音测试时使用。ANA IN 与ANA OUT 是模拟信号的输入端和输出端,它们之间连接耦合电容,通常取值为0.22~1uF。

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

  6 软件设计

  6.1 系统软件结构

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

[page]

 

  主程序主要负责对整个控制器的工作进行管理、协调和对子程序的调用以及对用户的各种服务的响应。

  四个子程序分别是语音识别、DTMF 收发、语音录放、信号音检测四个子程序。限于篇幅,下面只对语音识别子程序的软件设计进行介绍。

  6.2 语音识别子程序设计

  语音识别程序设计包括三部分: 训练样本; 识别; 语音提示。

  训练过程即提取语音样本的特征参数过程主要调用库函数BSR_Train 完成。为了防止误命令,每条语音命令训练2 遍,只有2 次命令相同时才成功,BSR_Train函数有8 种可能的返回值, 如: 0 - 训练成功; - 1 - 没有语音识别技术方面有bsrv222SDL.lib 库函数支持,在使用时通过调用库函数里相关的API 函数来实现所要求的功能。下面给出语音识别的流程图及具体代码。

图7 语音识别流程图

  其中,BSR-GetResult 函数为启动辩识,当无命令识别出来时,返回0;识别器停止、未初始化或识别未激活返回-1 ;当识别不合格时返回-2 ;当识别出来时返回命令的序号。部分程序源代码如下:

  7 结语

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

 

 

关键字:单片机  远程控制 引用地址:单片机实现智能家居的远程控制

上一篇:应用多个单片机的液位监控仪
下一篇:基于单片机和CAN总线的智能家居控制系统

推荐阅读最新更新时间:2024-03-16 12:43

基于单片机的LED汉字显示屏的设计与Proteus仿真
O 引言 LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED显示屏发展较快,本文讲述了基于AT89C51单片机16×16LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。 1 硬件电路组成及工作原理 本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,如
[单片机]
基于<font color='red'>单片机</font>的LED汉字显示屏的设计与Proteus仿真
指尖上的内置式电容触摸界面MCU
 随着苹果,三星等最热最炫最潮的智能手机平板电脑进入大家日常生活,低功耗电容触摸解决方案也渐渐被大家所了解。消费电子和工业电子产品上采用电阻触摸技术和电容触摸技术很多,但是最近几年电容式触摸技术应用发展最快。工业电子应用领域有越来越多的人机交互解决方案,也是采用电容触摸解决方案。特别是灰尘、水雾及电磁强光信号干扰等恶劣工作条件下,选择安全可靠,集成度高,容易扩展,超低成本的内置式电容触摸界面MCU很重要。   纵观市场上应用在智能手机和平板电脑上的电容触摸解决方案比较多,应用在家用电器和工业电子的电容触摸解决方案比较少。Atmel的maXTouch技术解决方案适用于触摸智能手机。Cypress 公司的具有多点触摸功能的单层触摸屏
[模拟电子]
指尖上的内置式电容触摸界面<font color='red'>MCU</font>
基于W78E54B单片机电话计费器的设计
引言 公用电话计费器是日常生活中比较常见的。目前的电话计费器不能较好地适应电信系统的折价时间,本计费器采用人工手动计费器,可随时满足折价时间的改变。同时该计费器记录准确,并可以存储200条话费记录;可以通过电话机重新设置时间、区号、费率等,同时可以人工手动实现半价和全价转换;功耗低,体积小,成本低。 系统设计 该系统由W78E54B单片机、摘机检测电路、DTMF解码电路、键盘、LED显示器组成,原理框图如图1所示。 其中W78E54B单片机主要完成话费的计算、存储等功能。摘机检测电路完成对系统的摘机、振铃、通话、挂机等状态的检测。DTMF双音多频电路采用CMD8870实现双音多频信号的解码。系统通过查询、复位、计费3个键实现
[单片机]
基于W78E54B<font color='red'>单片机</font>电话计费器的设计
单片机avr 中断寄存器 中断c语言函数 外部中断介绍
简介:中断的概念,ATmega16中断向量表,avr中断寄存器SREG,MCU控制和状态寄存器MCUCSR,通用中断控制寄存器GICR, MCU控制寄存器MCUCR,ICCAVR中断函数格式介绍 中断就是暂停正在执行的程序语句,转去执行另一功能(函数)的程序语句,执行完后,立即返回原先暂停执行的语句处,继续执行。单片机的中断系统解决了单片机运算速度快,外设(如键盘)速度慢之间的数据传输问题,提高了单片机的实时性和数据处理能力。 中断源:产生中断的地方,ATmega16具有20个中断源和一个复位中断,不同的单片机中断源的个数是不一样的。单片机的中断源分为外部中断源和内部中断源,有三个外部中断源有INT0,INT1,INT2,当连接在
[单片机]
<font color='red'>单片机</font>avr 中断寄存器 中断c语言函数 外部中断介绍
基于微控制器的风扇调速器的典型电路
 微控制器需要2V ~ 5.5V范围的直流工作电源,电池或次级电源很容易供应这样范围的电压。但是在特定情况下,基于微控制器的产品必须在没有降压变压器或生热降压的电阻器的场合下,直接依靠120V或220V交流电源插座工作。作为替代品,规定用于交流线路服务的聚脂/聚丙烯膜电容器可充当无耗散电抗(图1)。电容器C1是一个额定电压为150V rms的2mF AVX FFB16C0205K,提供明显的交流电压降,它可降低加到二极管桥整流器D1的电压。耐燃的金属膜电阻器R1限制了交流电源线中由闪电和突然的负载变化引发的电流尖峰和瞬间电压。在本应用中,交流电流不超过 100 mA rms,并且51Ω、1W电阻器就能提供足够的限流能力。R2是
[单片机]
基于<font color='red'>微控制器</font>的风扇调速器的典型电路
单片机时钟电路原理
时钟电路就是一个振荡器,给单片机提供一个节拍,单片机执行各种操作必须在这个节拍的控制下才能进行。因此单片机没有时钟电路是不会正常工作的。时钟电路本身是不会控制什么东西,而是你通过程序让单片机根据时钟来做相应的工作。 在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,如图1所示。 (a)内部方式时钟电路(b)外接时钟电路 图1时钟电路 内部时钟原理图 (就是一个自激振荡电路) 在内部方式时钟电路中,必须在XTAL1和XTAL2
[单片机]
<font color='red'>单片机</font>时钟电路原理
单片机学习——LED显示实验之二
题目:在八位LED显示屏,显示 HELLO :1、使 HELLO 字样闪烁 2、使字样 HELLO 从左至右滚动显示。并且循环下去。 解决方案:(C语言编程) #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char uchar hello_table ={0x89,0x86,0xc7,0xc7,0xc0,0xff}; uchar sled_bit_table ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar sled_disp_buff ={0x
[单片机]
单片机C语言程序设计:用 ADC0808 控制 PWM 输出
/* 名称:用 ADC0808 控制 PWM 输出 说明:使用数模转换芯片 ADC0808,通过调节可变电阻 RV1 来调节脉冲宽度, 运行程序时,通过虚拟示波器观察占空比的变化。 */ #include reg51.h #define uchar unsigned char #define uint unsigned int sbit CLK=P2^4; //时钟信号 sbit ST=P2^5; //启动信号 sbit EOC=P2^6; //转换结束信号 sbit OE=P2^7; //输出使能 sbit PWM=P3^0; //PWM 输出 //延时 void DelayMS(uint ms)
[单片机]
<font color='red'>单片机</font>C语言程序设计:用 ADC0808 控制 PWM 输出
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved