当前位置:文档之家› 基于语音识别的智能家居控制系统设计毕业论文

基于语音识别的智能家居控制系统设计毕业论文

基于语音识别的智能家居控制系统设计毕业论文

目录

前言 (1)

第1章理论分析及总体方案 (2)

第1.1节总体框架 (2)

第1.2节方案比较 (3)

第1.3节整体方案综述 (5)

第2章系统硬件电路设计 (6)

第2.1节微处理控制电路设计 (6)

第2.2节 GSM模块简介与电路设计 (9)

第2.3节语音识别模块电路设计 (11)

第2.4节电机驱动电路设计 (13)

第2.5节温度采集电路设计 (14)

第2.6节 LED和按键电路设计 (15)

第3章系统软件设计 (16)

第3.1节语音识别程序设计 (16)

第3.2节 GSM通信程序设计 (17)

第3.3节温度采集程序设计 (18)

第3.4节电机与LED控制程序设计 (20)

第4章系统测试与分析 (23)

第4.1节系统测试 (23)

第4.2节系统调试总结 (25)

总结与展望 (27)

参考文献 (28)

致谢 (29)

附录 (30)

附录1 基于语音识别的智能家居控制系统程序清单 (30)

附录2 基于语音识别的智能家居控制系统电路图 (33)

附录3基于语音识别的智能家居控制系统实物图 (34)

前言

语音识别技术是以语音作为一个研究对象,让机器自动识别、处理并理解人类口头语言的一种技术。语音识别技术通过对语音信号的认识和理解使机器接收相应的文本并执行命令。它将声学、语音学、语言学、信息理论交叉学和模式识别与神经生物学理论完美的结合起来。语音识别技术正逐步成为计算机信息处理技术的关键技术,它的应用已成为一个非常有竞争力的高新技术产业。

人视觉对机器的语音识别是计算机出现之前产生的。基于计算机平台的最早自动语音识别系统是在上个世纪,这是所谓奥黛丽语音识别系统,它是由AT&T的贝尔实验室完成的开发。在这个系统中,研究人员使用一些复杂的部件来实现模拟语音元音的频率变化,以及分离的数字语音识别的目的,准确率达到98%。后来,英国Denes率先在语法概率中加入了语音识别系统,建立一个音素识别装置来达到识别元音和辅音的目的。在这一年,麻省理工学院,Forgi等人研究了在受控环境中识别的10英元音。

研究与历史性突破是在80年代末的语音识别。李开复在读博士学位时,在卡耐基梅隆大学设计了约1000英语单词连续语音识别系统。这是世界上第一个高性能的识别系统。此后,HMM模型已被广泛用于世界各地。然而,引进HMM模型的成就应归功于一组科学家的辛勤工作,如Rabiner;他们通过分析和处理HMM数学公式的工程,让更多的研究人员可以使用和理解HMM[1]。HMM使得语音识别实现转型,从简单的模板匹配统计概率模型逐渐形成了概率统计模型较为完善的制度。

在90年代末,人工神经网络(ArtificialNeuralNetworks)出现了。它可以模拟人脑的结构和智能化的特点,它具有独特的大规模并行分布处理和联想学习的能力,并试图模拟一个强大的生物神经系统。由于其全面的功能和人性化的智能,它有大规模并行,分布式存储和处理,自组织,自适应学习,灵敏度低噪声等特点,它适合在多种因素和条件下运行。但是,由于许多人工神经网络还处于尝试阶段,它没有更完善更可行的理论基础,并且需要充分依靠人工神经网络来实现了语音识别系统,其效果不如HMM。

在现在这个社会,智能控制已成为发展最热门的领域,智能家居控制也是近年来的一种社会趋势,因此,语音识别技术和智能家居的发展与GSM遥控互动相结合将是一个非常有意义的设计主张。

第1章理论分析及总体方案

第1.1节总体框架

图1-1所示是基于语音识别的智能家居控制的结构框图。硬件系统由STM32控制电路、LED电路、按键电路、电机驱动电路、温度采集电路、GSM通信电路、电源电路组成。

系统可以有三种控制方式,按键控制,GSM控制和语音控制,按键控制即是使用独立按键对各个模块进行协调控制。GSM控制即是利用GSM短信对各个模块进行协调控制并采集信息。语音识别控制即是输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。工作电源为系统提供正常工作所需的电能。

图1-1 基于语音识别的智能家居控制系统结构框图

第1.2节方案比较

通过上面的总体方案,需要选择相应的器件与模块,现通过以下的方案比较来选择模块与器件。

1.2.1微处理器方案比较

根据研究目标及要求,对于控制器的选择有以下两种方案。

方案一:采用STC12单片机作为本设计的核心控制芯片,STC12LE5A60S2是一种性能高、功耗相对较低的CMOS微控制器,且具有可用于编程的flash存储器和64K的内存ROM。它的主要性能参数有:与MCS-52单片机的产品可以兼容、有可用于编程的flash 存储器、擦写次数高达10W次、程序存储器采用了三级加密、0Hz-24MHz的全静态操作、6个中断源、32个双向I/O口、三个16位定时器/计数器、低功耗空闲和掉电模式、双数据指针、掉电后中断可唤醒等,因此特别适合运用它进行各种灵活的控制[2]。

方案二:采用STM32F103RCT6单片机作为系统控制器,STM32F103RCT6是由ST 生产的一款STM32F103系列的微处理器。STM32最高频率可达72MHz,它0等待的存储器访问、基于哈佛结构并带有3级流水线特性和其高效的处理效率保证能够实时高效的处理水表取数和上传数据。STM32自带64k字节Flash,它具有多种低功耗模式:等待、活跃停机、停机模式,外设的时钟可单独关闭。在停机模式下,STM32的功耗仅仅4.5uA左右,完全能够满足智能控制的供电要求,这实现并保证了整个系统的低功耗特性[3]。

基于以上分析可知STC12LE5A60S2芯片较STM32F103RCT6在结构上更加简单,但STM32F103RCT6引脚功能更加齐全,内存庞大,运行速度较51系列单片机快的多。而且它内置功能模块更多,包括4路USART, DMA,电机控制PWM,PDR,POR,PVD,PWM,内置温度传感器,WDT。虽然对于初学者来说STM32的编程要相对难得多,而STC12LE5A60S2使用起来更加方便,对于初学者更容易掌握,但是若是采用ST提供的STM32F103的固件库进行设计开发,从开发难度并不会比51单片机难太多,因此综合性能考量和后期外部功能扩展性考量,本设计的主芯片选用了方案二的STM32F103RCT6。

1.2.2语音识别模块方案比较

语音识别的方式多种多样,语音识别芯片的选择同样多种多样。语音识别模块的选择直接影响整个系统的功能及质量。语音识别过程一般包括:语音信号产生,语音信号预处理,语音特征参数提取,语音的训练与识别。

方案一:基于一般语音识别芯片控制设计

这一方案主要由语音信息采集和处理模块、语音信息存储模块、语音识别模块等几个模块组成。语音信号经语音采集模块采集后,进行特定处理交由语音信息存储模块存储;微处理收到语音存储模块发送的数据后交由语音识别模块进行语音识别;语音识别模块识别特定语音信息时会产生相应信号给微处理器;微处理器通过接收语音识别模块的信号控制,从而实现系统的控制。

方案二:基于非特定人语音识别芯片LD3320的控制设计

语音信号直接由语音识别模块采集、识别并处理,识别到特定语音后LD3320将产生相应的信号给微处理器;微处理器根据从LD3320接收到的信号控制,从而实现对系统的控制。

基于一般语音识别芯片的控制系统通过各模块的相互配合最终可以实现系统的控制。相对于方案二;方案一的系统成本低,但是存在许多不足之处:方案一的系统结构较复杂,需要外加麦克风和语音信号处理装置;系统稳定性相对不高;语音采集与识别分开进行时,更容易出现识别不准确的情况;一般语音识别芯片中,有些用于特定人语音识别的芯片不能满足系统功能的要求[4]。

基于LD3320语音识别芯片的控制系统能实现对系统的控制。LD3320语音芯片有自带的语音信号采集与处理功能,这样可以使得系统结构更加简单;LD3320语音识别属于非特定人语音识别芯片,能满足系统功能的要求;系统稳定性更好,语音识别准确度高[5];语音指令可以通过修改程序代码来改变。所以方案二比方案一更优。

1.2.3 GSM模块方案比较

GSM模块,是一个类似于手机的通讯模块,集成了手机的若干功能于一块小电路板上,它可以发送短消息,通话等等,模块虽小,但它具备了很多手机的功能,拥有它等于就是拥有了手机的核心部分了,本设计中我们使用STM32控制GSM模块进行短信发送和短信控制。

方案一:TC35i的模块是GSM模块,在EGSM900和GSM1800双频其中工程的新版本,其功率范围为3.3?4.8V,在睡眠模式电流是3.5毫安,空闲状态为25mA,为发射状

态为300mA(平均),峰值为2.5A;耗电量2W和1W和GSM 1800。SIM电压3V /1.8V,它通过AT命令的TC35i双向指令和数据传输,可选波特率器300B/秒?115KB/秒,自动波特率为1.2KB/秒?115KB/秒。它支持文本和PDU的SMS(消息服务短整数),并且可以通过AT命令或关闭信号来实现,重新启动和故障恢复[6]。

方案二:SIM900A是一款紧凑型,高可靠性的双频GSM/ GPRS模块,它采用SMT 封装解决方案,使用功能强大的处理器ARM9216EJ-S内核,可满足低成本,小尺寸的要求。它利用工业标准接口,在GSM/ GPRS为900/1800MHz的SIM900A与小尺寸和低功耗的函数来实现语音,SMS,数据和传真信息的传输。SIM900A能满足M2M几乎所有应用中,要求特别小巧,紧凑的设计[7]。通过AT命令控制(GSM7.07,7.05和增强的AT 命令),它有一个强大的TCP/ IP协议栈,支持多种IP连接。

因为我们所需的功能要求至少收发SMS短信,所以对模块功能的要求并不高,而方案一TC35i模块的价格高于方案二SIM900A。从成本上考虑,自然就选择了价格更低的方案二SIM900A模块了。所以在本次设计中我们使用SIM900A模块来实现GSM功能。

第1.3节整体方案综述

经过以上的方案比较与选择可得到以下整体方案的确定:

该系统采用三种控制方式,它们通过控制STM32F103RCT6单片机来实现对led灯和电机的协调控制。按键控制、语音控制和GSM控制。按键控制就是通过按键来控制系统。GSM控制即利用SIM900A模块通过短信形式对各个模块进行协调控制并采集信息。语音识别控制即通过LD3320模块输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。

第2章系统硬件电路设计

第2.1节微处理控制电路设计

设计中采用的微处理器是STM32F103RCT6单片机。STM32F103RCT6运行速度可达72MHz,系统与外部联通接口有CAN,I2C,IrDA,LIN,SPI,UART/USART,USB,芯片自带外围设备有DMA,电机控制PWM,PDR,POR,PVD,PWM,WDT。芯片输入/输出IO口数为51,芯片程序存储器容量:256KB。程序存储器类型:FLASH,RAM容量:48K,芯片电压-电源(Vcc/Vdd):2 V ~ 3.6 V,芯片振荡器型:内部,封装/外壳:64-LQFP[8]。其引脚分布如图2-1所示:

图2-1 单片机引脚图

单片机由AMS1117 3.3作为系统的电源转换芯片,ASM1117 3.3是一个正向低压降稳压器,作为STM32刚好合适,所以电压部分由DC-3.5从USB取电给各个器件供电,而系统电源部分由AMS1117 3.3转换从USB取得的5V电压转换成3.3V为其供电[9],电源部分原理图如图2-2所示。

图2-2 电源电路

STM32F103RCT6有3种复位方式:外部RST引脚复位,软件复位,看门狗复位。

如图2-3,外部RST引脚从外部复位到NRST引脚复位脉冲一定宽度,从实现的微控制器的复位[10]。NRST引脚出厂配置为RST复位引脚应被配置为I/ O端口,在ISP编程设定。如果NRST不在STC-ISP编程设置的I / O端口输入引脚NRST是芯片复位。RST复位引脚为高电平并保持至少24个时钟加为10μs,单片机将进入复位状态时,RST复位引脚回到低电平时,单片机结束复位状态,并从0000H部门的用户程序区启动正常工作[11]。

图2-3 复位电路

STM32F103RCT6单片机有两个时钟源:内部的R / C振荡器时钟和外部晶振时钟。工厂标准配置是使用芯片的R / C振荡器,其频率为8MHz,则内部的R / C振荡频率将会存在一个数字温度漂移[12],再加上制造错误的,因此内部的R / C振荡器只适合的时钟的频率不要求高精度的场合。单片机的OSC脚接了这两个晶振振荡器电路电路如下图2-4所示。

图2-4 晶振震荡电路

单片机通过串口与外部语音模块、GMS模块通信。STM32F103RCT6的串口有USart (42、43脚)、USart2(16、17脚)、USart3(29、30脚)、USart4(51、52脚)、USart5(53、54脚)[13]。本设计用USart2与语音模块LD3320通信、USart3与GSM模块通信来达到语音控制和短信控制单片机的效果。其它一些串口功能在本设计中都没有用到。

STM32F103RCT6除了USart串口通信还有SPI通信和CAN通信,它主要是主从方式通信,这种通信模式通常有一个主机多个从机,标准的SPI 是 4 根线,分别是SSEL(片选,也写作SCS)、SCLK(时钟,也写作SCK)、MOSI(主机输出从机输入Master Output/Slave Input)和MISO(主机输入从机输出Master Input/Slave Output)。本芯片的20-23脚为SPI1这些引脚也可以设置为普通的I/O口[14]。33-36脚则是SPI2。44、45脚为CAN通信口。

本设计用jlink仿真器来仿真与下载程序,下载方式则是用SWD模式。相比于JTAG 模式,SWD模式可以用相对较少的线来达到烧写程序的目的。SWD模式只需要接四根线就可以完成烧写。VCC、GND、SWCLK(49脚)、SWDIO(46脚)。电路如图2-5所示。

图2-5 SWD电路

在每个STM32上都有BOOT脚,当MCU复位时,BOOT脚的电平状态决定芯片复由哪个个区域开始执行程序。BOOT0=0,不在乎BOOT1的电平,用户闪存启动,一般使用该模式。当BOOT1=0 ,BOOT0=1 时,从系统存储器启动。当BOOT1=1,BOOT0=1时,从内置SRAM启动。

芯片剩下的51脚为输入/输出IO口,本设计中用到的口如下所示:

LED部分:

PA4:模拟智能家居灯0;

PA8:模拟智能家居灯1,带PWM控制功能,可调节三种亮度灯光;

PC10:电机启动指示灯;

PC11:温度过高指示灯;

PC12:GSM短信发送指示灯;

按键部分:

PA10:控制灯0;

PA11:控制灯1;

PA12:控制步进电机启停;

PC6:控制LD3320语音识别启停;

PC8:清除GSM短信发送状态;

语音识别部分:

PA2:STM32的串口2中的TX口,完成和LD3320通讯控制的作用;

PA3:STM32的串口2中的RX口,完成和LD3320通讯控制的作用;

GSM通信部分:

PA9:STM32的串口3中的TX口,完成和SIM900A通讯控制的作用;

PA10:STM32的串口3中的RX口,完成和SIM900A通讯控制的作用;

步进电机部分:

PB3:通过控制ULN2003驱动28byj48的A端;

PB5:通过控制ULN2003驱动28byj48的B端;

PB7:通过控制ULN2003驱动28byj48的C端;

PB8:通过控制ULN2003驱动28byj48的D端;

温度采集部分:

PA15:连接控制DS18B20利用其采集温度参数;

第2.2节GSM模块简介与电路设计

本设计子模块中的GSM模块采用了SIM900A,SIM900A是二频的GSM/GPRS模块,它的工作的频段为:EGSM 900MHz和DCS 1800MHz。SIM900A内嵌了TCP/IP协议,扩展的TCP/IP (传输控制协议/互联网络协议)AT命令让我们可以较为容易的使用TCP/IP 协议[15]。对于本设计需要到的SMS短信传输控制,SIM900A刚好可以胜任。

关于SIM900A的电路设计主要要注意其模块的供电问题,SIM900A采用了VBAT为

3.4V到

4.5V的单电源供电。当进行GPRS数据的传输通信时,SIM900A的电流损耗的峰值会达到2A[16]。所以我们的电路设计中为SIM900A供电电源必须保证能够达到到2A的电流,这样才能进行稳定的数据传输。

关于GSM的电路设计只需要将其与STM32F103RCT6的串口进行连接,即可利用单片机控制其实现GSM短信的发送。SIM900A芯片如下图2-6所示。

图2-6 SIM900A电路

引脚VBAT是电源输入,GND引脚为地。VRTC引脚用于模块内部RTC电源输入。电路如图2-7所示。

图2-7 SIM900A电源电路

串口引脚:

DTR(3脚)数据终端准备

RI(4脚)振铃检测

DCD(5脚)数据载波检测

DSR(6脚)数据设备准备

CTS 7 发送清除 RTS 8 发送请求

TXD、RXD(9、10 脚)数据发送和接收串口

音频接口引脚:

DBG_RXD 、DBG_TXD (27、28脚)数据接收调试口和数据发送

MIC_P、MIC_N、SPK_P、SPK_N(19-22脚)麦克风输入正/负端和音频输出正/负端LINEIN_R、LINEIN_L(23、24脚)右、左通道输入

SIM卡引脚:

SIM_VDD(30脚) SIM供电,

SIM_DATA(31脚)SIM卡数据I/O

SIM_CLK(32脚)SIM卡时钟

SIM_RST(33脚)SIM卡复位

SIM_PRESENCE(34脚)SIM卡插拔检测

其它口则为普通I/O口控制(LCD控制接口和键盘接口)

第2.3节语音识别模块电路设计

基于语音识别的智能家居控制的核心部分就是语音识别电路。语音识别电路识别特定语音指令并进行相应处理,产生相应的信号给微处理器调节灯光亮度。

LD3320芯片采用48脚QFN塑料封装,大小约为7×7×0.85毫米,体积小巧,管脚排列合理。语音识别芯片,通过ICRoute公司设计。该芯片与语音识别处理器包含一些外围电路,包括A / D,D / A转换器,麦克风接口,音频输出接口等集成。LD3320注重节能环保和高效率的芯片设计,不需要任何外部辅助芯片如Flash,RAM等。它直接集成在现有的产品,可以实现语音识别/语音/人机对话功能[17]。另外,在识别的关键词列表可以通过任何动态编辑。LD3320芯片具有以下特点:

(1)通过使用ICRoute公司的快速和稳定的优化算法,语音识别完成。用户并不需要培训和记录,就可达到识别95%的准确率。

(2)无需任何辅助闪存芯片,RAM芯片和AD芯片,语音识别功能可以完成的需要。(3)确定每一个你可以设置50候选识别句子的时候,每一个句子的识别可以是单词,短语或句子,不超过10个或79个字节的字符中国拼音串的长度。另一方面,识别句内容可以动态编辑和修改,因此它可以由多个场景的系统来支持[18]。

(4)16位A / D转换器,16位D / A转换器和功率放大器电路已经制备,和话筒,立体声耳机和单声道扬声器可以与芯片销[19]的立体声耳机的输出功率被方便地连接插孔为

20mW,和喇叭的输出功率为550MW,能产生清晰而响亮的声音。

(5)支承并行和串行接口,串行模式可以简化与其它模块的连接。

(6)可被设置为休眠状态,并且可以容易地被激活。

(7)支持MP3播放功能的支持,而不需要外接辅助设备,主控MCU MP3数据将被发送到LD3320芯片内部相应的引脚输出声音。该产品的设计可以从立体声耳机或单声道扬声器选择获得声音输出。支持MPEG 1(ISO / IEC11172-3),MPEG-2(ISO / IEC 13818-3)和MPEG 2.5层3等[20]。

(8)电源为3.3V,并且如果它被用在一个便携式系统,它可用于通过使用3节AA电池,以满足电源的需求。

LD3320的基本应用电路由单片机和LD3320组成。主控MCU芯片的电路来完成LD3320芯片寄存器的操作。LD3320芯片各种操作,必须通过寄存器的操作来完成。如设置标志位,读状态,写数据到FIFO,识别结果,等等。例如,编辑关键词时,在拼音串设置成LD3320寄存器来完成编辑关键词主控MCU。寄存器可以分为以下几类,FIFO数据缓冲器,语音识别控制寄存器,音量控制,模拟电路和其他辅助寄存器。寄存器的读写操作有2种方式,分别是标准并行模式和串行SPI模式。该LD3320寄存器的地址空间为8位,从00H?FFH。

所述STM32F103RCT6控制LD3320的设计完成所有相关的语音识别的工作。供电设计可以使用NS LM1117.3-3芯片,提供3.3V电压;使用LD3320 MIC音频输入;由单片机P0口8号线和LD3320并联控制,控制线也连接[21]。也连接到复位信号和中断信号。为LD3320,复位信号(RSTB)由MCU发出,并且中断信号由微控制器发送,而LD3320负责接收。此外,还有一些辅助电路,诸如麦克风偏压,扬声器音量控制,以及电源去耦的,电路图如图2-8所示。

图2-8 LD3320电路图

VDD/VDDIO:电源输入

2-6脚:按原理图接上拉电阻、6脚可以悬空

MIC[P、N](9、10脚):麦克风输入正负端

MONO(11脚):单声道linein输入

MBS(12脚):麦克风偏置

LINE[L、R](13、14脚):立体声linein左右端

HPO[L、R](15、16脚):耳机输入左右端

EQ[1、2、3](20-22脚):喇叭音量外部控制

SPO[N、P](25、26脚):喇叭输出

LOUT(L、R)(27、28脚):lineout输出

RSTB(47脚):复位信号

INTB(48脚):中断信号

第2.4节电机驱动电路设计

本设计中我们需要需要驱动步进电机模拟家电的控制,但是单片机输出的电平驱动能力有限,如果只是靠这个TTL电平还是不能直接驱动继电器和步进电机。所以我们在这里采用ULN2003为外部驱动提供动力。本设计中的步进电机通过单片机IO口直接驱动是不行的,因为IO口输出的电流太小,没办法驱动继电器。所以就使用到了ULN2003,以便于驱动步进电机。

ULN2003是双列16脚封装的有DIP和SOP的形式,ULN2003的最大驱动电压是50V,

最大驱动电流是500mA,芯片的输入电压5V左右,它特别适用于TTL COMS电路的逻辑构成。本设计用采用的ULN2003是用于驱动步进电机的,通过功耗上的估算,它是刚好适合的。一般单片机驱动ULN2003的时候,需要使用2K的电阻上拉电阻,因为单片机的IO 输出电流太小了,ULN2003的COM引脚在设计中应该悬空或者接电源的。该系统连接原理图如图2-9所示。

图2-9 电机驱动电路

第2.5节温度采集电路设计

温度检测采用DS18B20,它采用单线进行数据传输,与单片机的一个I/O口相连进行数据的双向传输。每一次对DS18B20进行读写之前都要进行初始化即复位操作,复位成功后向DS18B20发送一条ROM指令,最后发送RAM指令,这样才可以对DS18B20进行读写指令或者读取温度值的操作。DS18B20的复位操作要求主控芯片将数据线下拉500us,然后释放数据线,主控芯片收到此信号表示DS18B20复位操作成功[22]。

本设计采用T0-9封装的DS18B20温度传感器,其三个引脚分别为GND(接地)、VCC(可选用的VCC引脚)、DQ(数据输入/输出),单片机IO口与传感器的DQ相接,其接口电路如图2-10所示。

图2-10 DS18B20电路

第2.6节LED和按键电路设计

设计中模拟家电灯光控制利用LED灯进行模拟,调节三档LED灯亮度,使用STM32内部自带DA进行驱动控制,系统按键控制部分采用普通的独立按键,原理图如下图2-11、2-12所示。

图2-11 LED灯电路

图2-12 按键电路

第3章系统软件设计

硬件是一个系统的基础,而软件则是系统的灵魂。设计中可以使用到的语言有汇编语言和C语言。

基于基于语音识别的智能家居控制的硬件设计完成,软件的任务也就明确。在进行系统的软件设计时,根据系统的功能,将软件分为几个独立的部分,分别对应不同的硬件模块,设计出软件总体结构,画出程序流程框架图。基于语音识别的灯光控制设计的软件设计主要包括五个部分:按键控制部分、GSM通讯部分、语音识别部分、温度采集部分、LED和电机控制部分。系统的可以有三种控制方式,按键控制,GSM控制和语音控制,按键控制即是使用独立按键对各个模块进行协调控制。GSM控制即是利用GSM短信对各个模块进行协调控制并采集信息。语音识别控制即是输入特定的语音指令,语音识别模块将识别语音指令并进行相关的处理,之后产生特定信号通知单片机进行相应的控制。

第3.1节语音识别程序设计

语音识别程序的设计是由语音模块控制语音识别芯片LD3320识别的控制完成。语音识别芯片LD3320各种操作都是由寄存器的操作完成,如设置标志位,读取芯片的运行状态,获得识别结果,等等。读写寄存器的操作有四种方式,即并行算法(软,硬)和串行SPI(软,硬)。在这个系统中,软件仿真的时间序列被用于读取和写入。

AO是负责通知芯片中的数据段或地址部分。AO为地址时,数据是低的。WRB 必须是有效的,当地址被发送。写数据时WRB 必须是有效的,在读取数据时RDB 必须是有效的[23]。

并行模式写寄存器过程是:AO设置为1,WRB、RDB拉高写地址;准备好数据,AO 设置为0,WRB、RDB拉低写入数据。

并行模式读取寄存器的过程是:准备好地址后,AO设置为1,WRB、RDB拉低写地址; AO 设置为0,WRB、RDB拉低读取数据。

语音识别的操作流程是:语音识别初始化,写标识列表,启动标识,并准备中断响应函数,打开中断允许位,循环识别模式的工作模式,系统反复启动语音识别过程,没有任何操作,再次启动所述语音识别处理;一旦指令的声音,以执行相应的操作,下一个语音识别软件后,软件流程图如图3-1所示。

图3-1 语音识别流程图

第3.2节GSM通信程序设计

首先进行初始化对SIM900A进行初始化,在系统触发发送GSM数据之前,需要先检测SIM900A网络是否连通,若是连通则开始进行GSM数据传输。在对SIM900A进行控制之前,我们首先要在PC端利用串口对其进行AT指令的基本操作,确定其可以正常工作,然后根据所需要其完成的功能在PC端利用串口进行模拟操作,测试出本设计所需要的AT 指令流程,直至达到满意的状态后再由单片机进行控制操作,这样才能稳定的调试出其所需要的程序,其单片机控制的流程图如下图3-2所示。

图3-2 GSM程序流程图

第3.3节温度采集程序设计

DS18B20的温度传感器的主要作用是用来收集目前实时温度,温度传感器DS18B20工作流被分为三部分,即,初始化,ROM操作指令,DS18B20功能指令。每DS18B20操作必须满足上述步骤,缺乏步骤或混乱的真正顺序,DS18B20将不返回值。

DS18B20的初始化:初始化单总线,操作实施后,处理所有的数据,从最初的开始。初始化序列由总线控制器和从机脉冲发出复位脉冲。脉冲的作用是让总线控制器知道该总线上的温度传感器DS18B20并准备执行下一步骤。

DS18B20读写数据:ROM操作指令,如果脉冲的存在是总线控制器,以搜寻,它会立即

相关主题
文本预览
相关文档 最新文档