傅子霞
【摘 要】个性化智能家居语音控制系统是在智能家居的普及和物联网的飞速发展下集微机控制技术、信息技术、语音识别技术、无线通讯技术于一体的智能产品。该系统针对传统电器控制单一,安装不方便,不能将家庭所有电器集中控制等不足而开发设计,根据客户的要求来进行个性化定制,通过语音控制,实现人机对话,操作简单、方便且成本低廉。同时从节能环保的角度开发,实现对家用电器的定时控制,从而更加有效的节约能源。
【关键词】个性化;智能;语音
1 系统开发基本思路
首先,通过市场调研,了解了普通家庭对智能家居控制系统中需求量最多的功能要求;然后,针对市场需求和用户要求,确定了设计方案;第三,对硬件系统的设计与制作;第四,程序应用开发;最后进行产品的安装与调试。
2 系统设计要点
通过市场调研,确定个性化智能家居语音控制系统设计要点:具有语音识别无线控制电器工作;具有遥控操作控制电器工作;一个主机可以配多个从机;具有人机对话功能,对话内容可自定义修改;可以根据客户要求,进行个性化定制;产品结构设计要便于安装,直接与原有家电连接控制。
3 硬件系统设计
3.1 主机硬件系统构造图
本系统主机主要由C51单片机最小系统、LD3320语音识别电路[1]、315MHz RF无线电路、电源电路等构成(图1)。
其核心芯片主要包括:
3.1.1 单片机
单片机采用的是STC89LE53RC[2],这款芯片由台湾宏晶公司设计生产,芯片工作电压2.0V至3.6V,程序空间具有13K,内存具有512字节,包含有39个IO接口;芯片内部资源有三个定时器、一个串行口、带看门狗和内置复位。
3.1.2 LD3320
LD3320芯片是一款“语音识别”专用芯片,由ICRoute公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括AD、DA转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片。如,Flash、RAM等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语主列表是可以任意动态编辑。
3.2 从机硬件系统构造图
本系统从机主要包含两个部分,智能插座和智能电灯。两个从机的电路、原理、核心芯片均一致,在程序应用开发上稍有一点区别。智能电灯在上电后便会工作,这个状态在硬件上增加了设置接口(图2)。
其核心芯片主要包括:
3.2.1 单片机
单片机采用的是STC15F102W,这款芯片由台湾宏晶公司设计生产,芯片工作电压3.8至5.5V,程序空间2K,内存具有128字节, EEPROM具有3K,包含有6个IO接口;芯片内部资源有两个定时器、带看门狗和内置复位等。
3.2.2 RF解码模块
采用315MHz的无线电波直接采用现成的解码模块[3],可以节省硬件的调试时间。这种解码模块有两种,一种为普通的模拟电路接收315MHz载波信号,解码出数字开关电平信号;还有一种是由数字电路接收。普通型的接收距离、工作电压及稳定性良好,成本稍低,而数字型的接收距离、工作电压及稳定性相对普通型的更优越,当然成本略高。在本套系统设计中为节省成本使用了普通型。
3.2.3 RF遥控器
市面上RF遥控器有很多种,大致均以频率作为区分,本系统采用的是315MHz载波,因此遥控器也必须使用315MHz频率的。通常遥控器内部使用的芯片有EV1527、PT2262、SC2260以及单片机型,前面的三种都是硬件型发射芯片,而单片机型具有对拷功能,可以将其他遥控器的按键功能复制到本遥控器中。为节省成本和适应本套智能控制系统,本系统采用的是四键型遥控器[4]。
4 系统程序开发
4.1 主机程序开发
4.1.1 语音识别部分
(1)寄存器操作
LD3320芯片的各种操作,都必须通过寄存器的操作来完成。比如设置标志位、读取状态、向FIFO写入数据等。寄存器读写操作有4种方式,即并行方式(软、硬)和串行SPI方式(软、硬),本系统采用并行模式。
(2)芯片复位
即对芯片的第47腿(RSTB*)发送低电平,然后对片选CS做一次拉低→拉高的操作,以激活内部DSP。芯片初始化一般在程序的开始进行,如果有时芯片的反应不太正常,也可用这个方法恢复芯片的初始状态。
(3)语音识别
语音识别的操作顺序是:语音识别用初始化(包括通用初始化)→写入识别列表→开始识别,并准备好中断响应函数,打开中断允许位。这里需要说明一下,如果不用中断方式,也可以通过查询方式工作。在“开始识别”后,读取寄存器B2H的值,如果为21H就表示有识别结果产生。在此之后读取候选项等操作与中断方式相同[5]。
(4)响应中断
如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。而中断程序要根据寄存器的值分析结果。读取BA寄存器的值,可以知道有几个候选答案,而C5寄存器里的答案是得分最高、最可能正确的答案。例如发音为“上海”并被成功识别(无其他候选),那么BA寄存器里的数值是1,而C5寄存器里的值是对应的编码3。
4.1.2 RF无线部分
RF无线的程序开发采用简单的单总线时序发射编码,运用红外遥控器编码方式,协议使用EV1527芯片的编码协议。
编码的每一位含两个脉冲周期,单个脉冲周期是软件无线接收时的处理单位。脉冲周期有两种,低电平较宽的称为0;低电平较窄的称为1。编码的每一位用00/11/01来表示。12位编码对应24个脉冲周期,即通常所说的24位。
软件接收无线码时,按脉冲为单位接收,一共24个脉冲,需要接收24位。24位中可根据需要进行地址/数据分配。可预烧录20位地址码,共220=1048576,104万种地址组合。
图3是EV1527芯片发射编码时的时序图和及数据位的时序。
4.2 从机程序开发
4.2.1 无线解码
在主机中采用了无线编码的时序,因此解码程序中必须和编码时序一致。在中断函数中先判断同步码头,判断同步码头的低电平时间是否符合128a,若符合由使用一个变量将a值记录保存,以便后面接收的判断。若符合128a这个范围,程序再进入到接收24位数据的循环当中。在24位数据接收中判断数据位“0”,低电平时间是否是高电平时间的3倍,即3a,若满足说明此位数据接收是0。接收判断数据位“1”,高电平时间是否是低时间的3倍,即3a,若满足说明此位数据接收是1。
4.2.2 学码功能
学码功能采用按键操作,对按键进行程序级度设置为5层。第一层,短按功能控制电器的开和关。第二层,按下按键2秒后松开,学习指示灯第一次闪烁,进入电器开关的学码数据。第三层,按下按键3秒后松开,学习指示灯第二次闪烁,进入插座或电灯的总开功能学码数据。第四层,按下按键4秒后松开,学习指示灯第三次闪烁,进入插座或电灯的总关功能学码数据。第五层,按下按键5秒后松开,学习指示灯第四次闪烁,表示前面学习的学码数据全部擦除。每一层中的学习码值均可以学习两组,即遥控器一组,语音识别一组。当重复学习第三组,第一组学码数据将会被第三组覆盖。
判断当前是学码功能还是开关功能主要靠按键层数的操作。在进入到学码层中没有学习成功,系统会在10秒内自动退出,或短按按键也可退出。
4.2.3 掉电忘忆学码数据
前面已采用STC15F102W,这款芯片内部自带有2K的EEPROM存储空间。把学习到的数据值保存在单片机,下次开机时便能从单片机直接取出并对比。而STC单片机的EEPROM并不是真正的EEPROM,而是像硬盘一样叫扇区。这些扇区的操作比EEPROM麻烦,每一个扇区不存在字节擦除,只有整个扇区的擦除,当想把某一段数据变更时必须先将原存储在这一扇区中的数据取出保存在内存,然后再将这一扇区擦除后才能再将原数据和新数据一起写入到这一扇区中。
5 结论
个性化智能家居语音控制系统通过语音识别、人机对话来控制,让操作更方便,更快捷,受广大客户欢迎喜爱。产品制造成本低,生产周期短,可以根据客户的要求来进行个性化定制,家庭富裕与否不会阻止人们对智能产品的需求渴望,这款产品能够低成本的实现对人们生活质量的智能提升。
【参考文献】
[1]洪家平.LD3320的嵌入式语音识别系统的应用[J].单片机与嵌入式系统应用,2012,12:47-49.
[2]胡锦,蔡谷明,梁先宇.单片机技术实用教程[M].北京:高等教育出版社,2003.
[3]严紫建,刘元安.现代移动通信应用技术丛书 蓝牙技术[M].北京邮电大学出版社,2001.12.
[4]江太辉,石秀芳.单片机原理与应用[M].广州.华南理工大学出版社,2002.
[5]朱刚.蓝牙技术原理与协议[M].北方大学出版社,2002.
[责任编辑:王楠]