




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于语音技术的智能基于语音技术的智能 家居系统的设计毕业家居系统的设计毕业 论文论文 目 录 1 引言 1 2 智能家居系统的前期研究 2 2 1 智能家居系统的发展现状及发展趋势 2 2 1 1 国外的发展现状 2 2 1 2 国内的发展现状 2 2 1 3 智能家居系统发展趋势 3 2 2 智能家居系统的预期功能 3 2 3 智能家居系统的设计方案 3 3 智能家居系统的硬件设计 5 3 1 单片机模块 5 3 1 1 单片机的简介 5 3 1 2 单片机的外围电路 6 3 1 3 单片机的硬件电路 8 3 2 语音识别模块 8 3 2 1 语音芯片 LD3320 的介绍 8 3 2 2 语音识别的原理 9 3 2 3 语音识别模块的硬件连接 10 3 3 红外遥控模块 10 3 3 1 红外发光二极管的介绍 11 3 3 2 红外发射部分的介绍 11 3 3 3 红外发射部分硬件连接 11 3 3 4 HS0038 的介绍 12 3 3 5 红外接收过程及硬件连接 12 3 4 整体实物图 13 4 智能家居系统软件设计 14 4 1 语音识别模块 14 4 1 1 通用初始化 15 4 1 2 寄存器的初始化 16 4 1 3 写入识别列表 16 4 1 4 开始识别 18 4 2 红外发射部分 20 4 2 1 红外发射原理 20 4 2 2 红外发射程序 21 4 3 红外接收模块 23 4 4 模拟电器控制部分 25 5 硬件的调试过程 27 5 1 连接语音芯片和红外发光二极管的单片机的调试 27 5 2 红外遥控模块的调试 28 5 3 语音识别模块的调试 28 6 总结与展望 29 6 1 结论 29 6 2 前景展望 30 谢 辞 31 参考文献 32 附录 I 33 附录 II 34 唐唐 山山 学学 院院 毕毕 业业 设设 计计 1 引言 心有多大 舞台就有多大 每个人都怀揣着梦想 想要更好的未来 想要 更好的生活 所以每个人都在不断奋斗和创新 这种创新不但推动了个人的进 步 更推动了社会的发展 于是人类的生活越来越方便 人们的居住环境也越 来越智能化 这种智能化在智能家居上就有很好的体现 语音识别技术在现代生活中有画龙点睛的作用 与很多领域都息息相关 例如信号处理 模式识别 人工智能等领域 其中国内中科院的自动化所 清 华大学等科研机构和高校等许多研究机构都在从事语音识别领域的研究和开发 并且国家 863 智能计算机专家组还为语音识别技术研究专门立项 并取得了高 水平的科研成果 1 语音识别技术的目标是将人类的语言转换为计算机可读的 输入 科学家们利用语音数据库里大量的数据进行分析 得到了在统计概率最 优化意义上的各个基元语音特征 并且将这些特征和语音模型转化为硬件芯片 在使用这些芯片时 可以直接使用 遥控技术的出现要追溯于 1960 年 它虽然在 60 年代就出现了 但是由于 种种原因 并没有得到理想的发展 七十年代末 随着大规模集成电路和计算 机技术的发展 遥控技术才得到快速发展 红外遥控的特点是不影响周边环境 不干扰其他电气设备 同时也不容易被其他信号所干扰 是很好的信息传输媒 体 所以目前它在通信方面被广泛的应用 51 单片机是一款具有有较强的抗干扰能力 运行速度比较高 功耗比较低 的单片机 它可以作为核心处理器来处理信息和控制其他设备 同时价格比较 低廉 性价比很高 所以在很多系统中 都有其应用 这些技术的配合 51 单片机 可以为本设计成功的模拟智能家居系统 方便 了设计者对智能家居这一课题的研究和学习 智能家居可以为使用者提供更加舒适安全的生活环境 也可以帮助人们合 理的分配和利用资源 智能家居系统的出现 让人们的幸福感有所提升 符合 现代人的生活理念 相信在不久的未来 它将会普遍被每一个家庭所应用 让 人们每一个人 真正享受智能化的生活 唐唐 山山 学学 院院 毕毕 业业 设设 计计 2 智能家居系统的前期研究 2 1 智能家居系统的发展现状及发展趋势 2 1 1 国外的发展现状 早在 20 世纪 80 年代 世界上就有智能化的建筑出现 这个建筑出现在美 国 它的智能化体现在它利用了计算机系统去监控楼内的空调 照明等用电设 备 同时可以提供语音通信和电子邮件等服务 在 21 世纪初期 出现了家庭的 智能化系统 这种智能化系统应用于许多的家庭中 帮助人们完成了许多的功 能 方便了人们的生活 世界首富比尔盖茨先生也耗资 6000 万美元打造属于自 己的高端别墅的智能家居系统 科技在发展 国外的这种技术也在不断的完善 随着技术的成熟 超过一半的家庭都在使用这种家庭智能化系统 在智能家居系统的研发方面 美国及一些欧洲国家一直处于领先地位 好 多国家的好多公司都想着研发出属于自己的控制系统 目前市场上出现的智能家居控制系统主要有 X 10 EIB 和 8X 等 这些系 统都有属于自己的优势 同样也有属于自己的劣势 X 10 系统采用集中的控制 方式 如果家庭在使用这个系统时 它不需要额外的布线 这是它的优势 但 是在施工方面 需要开槽或者钻孔 所以难度比较高 又由于施工费用比较高 所以没有应用于国内市场 EIB 系统采用的是预埋总线和中央控制的方式 价 格昂贵 没有满足大部分人的消费观 所以没有应用于国内市场 8X 系统采用 预处理总线和集中控制的方式 该系统日益成熟并且并且相对来说比较符合中 国的国情 但是系统的灵活性不够 所以也没有应用到中国市场 国外的技术相对来说比较先进 发展也很迅速 但是中国的国情 决定了 不同地域的不同的使用者会有不同的需求 国外的某种技术 也许可以满足一 部分人的需求 但是不适合普遍使用 所以要开发出适合自己的智能家居系统 2 1 2 国内的发展现状 20 世纪 90 年代以后 中国的智能家居才开始出现 智能小区开始兴起 中国的智能化的建筑最早出现在上海 深圳和广州等一线的沿海城市 随后大 陆才开始陆续发展的 在 1999 年实施的全国住宅小区智能化技术示范工程 使 人们国家的智能化又上升到一个新的阶段 到目前为止 在中国的某些大城市 中 有近一半的家庭实现了智能化 中国企业也纷纷推出自己的产品 例如海尔的 e 家庭 这个系列的产品以 海尔电脑作为控制中心 各种网络家电作为终端设备 海尔移动电话作为移动 唐唐 山山 学学 院院 毕毕 业业 设设 计计 数字控制中心 3 海尔也不定时的推出自己的一系列产品包括网络电视 冰箱 空调 微波炉等 清华同方的 e home 数字家园 该智能家居控制系统专门针对 中国家庭设计 产品以功能模块开发为主 基于国外成熟的智能家居标准之上 很明显 跟国外相比较 中国对智能家居的研究起步比较晚 到目前为止 都没有形成一定的标准 现在国内各大软 硬件机构正在积极的研发更为符合 市场的智能化家居设备 用来解决当前智能化产品实用性差 使用复杂及产品 价格昂贵等缺点 技术创新性也逐步向国际先进水平靠拢 这样的未来真的期 待 2 1 3 智能家居系统发展趋势 经过哥本哈根会议 中国更明确了节能减排 绿色建筑的目标 为了达到 这一目标 中国势必会建设绿色建筑 铺设智能化系统 智能化系统中的智能 家居系统将会形成一个新的产业 也可以促进中国房地产业的发展 由于智能家居系统还缺乏统一明确的国际标准 许多公司开发出的产品都 是基于自己组的网络和信息交换协议 不具有一般性 技术复杂 接入设备不 能兼容以及成本过高 所以限制了产品的发展 同时限制了产品的普及 所以 现在的目标是设计出一个符合中国国情 操作实用性强 成本低廉 容易推广 和被人们所需求的智能家居控制系统 做为智能家居的核心系统的智能家居控制系统 它的设计功能的完善必将 推动住宅智能化的发展 而系统功能的集成化 用户使用的傻瓜化和市场的平 民化将是智能家居控制器的发展趋势 系统也将逐步迈向绿色化 人类所想的 无非也就是可以不费吹灰之力做成自己想做的事情 而智能家居的终极目标就 是可以实现人们的这种梦想 实现智能化 2 2 智能家居系统的预期功能 本设计中要求语音识别采用 LD3320 完成语音命令的采集与识别 并将结 果传送给单片机 红外发射采用红外发光二极管 在单片机控制下发送相应序 列的红外信号 红外接收采用 HS0038 接受红外信号并解码 传送给单片机 利用继电器模拟家用电器 用单片机控制整个系统 可以达到预期的功能 智能家居系统的预期功能是 当对着麦克风下达一个命令时 相应的继电 器模块的指示灯会亮或者灭 同样应用到现实中 所实现的功能也应该是当要 说出一个命令时 家用电器会自动开启或者关闭 减少了人为操作 让人们真 正享受智能化的生活 2 3 智能家居系统的设计方案 唐唐 山山 学学 院院 毕毕 业业 设设 计计 本设计综合性相对比较高 要软硬件相结合 解决了软件问题 还需要知 道模拟智能家居系统的硬件是如何工作的 其工作过程 智能家居系统由麦克 风 语音芯片 LD3320 红外发光二极管 单片机以及红外一体化接收器 HS0038 继电器等硬件组成 语音信号被麦克风收集并传送到语音芯片内部 语音芯片内部已经放置好关键词列表 收集到的语音信息与原先放好的语句进 行匹配和对比 得到一个最优的结果 这个结果通过串口发送给单片机 单片 机作为核心控制器可以控制红外发光二极管发出载有相应信息的的红外信号 红外一体化接收器接收后 通过解调还原出发来的信息从而去控制继电器的开 或者关 从而来模拟实现智能家居系统 智能家居系统的整体设计框图如下图 2 1 所示 语音 信号 LD3320 识别 数据 单片机红外发射头 红外信号 红外遥控接收头 单片机 控制信息 实现相应功能 继电器 继电器 图 2 1 智能家居系统设计框图 唐唐 山山 学学 院院 毕毕 业业 设设 计计 3 智能家居系统的硬件设计 3 1 单片机模块 3 1 1 单片机的简介 单片机全称单片微型计算机 Single Chip Microcomputer 又称 Micro Controller Unit 是将计算机的基本部分微型化 使之集成在一块芯片上的微机 片内含 CPU RAM ROM 并行 I O 口 串行 I O 口 定时器 计数器 A D D A 中断系统 系统时钟及系统总线等 它本身就是一个嵌入式系统 同时也是其他嵌入式系统的核心 4 关于其内部结构的简介如下表 3 1 所示 表 3 1 单片机内部结构简介 名称简介 微处理器 CPU 8 位的 CPU 包括了运算器和控制器 数据存储器 RAM 可以放数据 内存 128B 最大外扩为 64KB 程序存储器 ROM EPROM 用来放程序 最大外扩 64KB 51 单片机 是 4KB 的 ROM 并行 I O 口4 个 8 位并行 I O 口 P0 P1 P2 P3 串行口 4 种工作方式 可以与其他单片机相连 实现更加复杂的功能 定时器 计数器2 个 16 位定时器 计数器 中断系统具有 5 个中断源 2 级中断优先权 特殊功能寄存器 SFR 一共有 21 个 用于 CPU 对片内其他部分 进行管理 控制 监视 上表介绍了单片机的内部结构 在这里值得说明的是 51 单片机有很多种不 同的型号 区分它们主要依据存储器的配置 在这里以最简单的例子来说明 8031 芯片内是没有程序存储器的 但是其他型号的芯片里有程序存储器 还有 增强型的存储容量比普通型的存储容量要多至少 1 倍 介绍完单片机的内部结构 现在来介绍下单片机的引脚及其功能 单片机 分为可总线扩展的和不可以总线扩展的 是因为单片机本身可以满足这些系统 所需要的功能 不需要外扩 本设计中所使用的单片机采用的是双列直插式的封装结构 一共有 40 个引 脚 本设计中没有用到单片机的所有引脚 只使用了电源端 接地端 串口输 入 外部中断以及 P0 P3 的某些引脚 在这里介绍下各引脚的功能 如下表 3 2 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 表 3 2 51 单片机的引脚功能表 名称功能简介 P1 口 1 8 脚 P1 口是一个 8 位双向 I O 口 当 P1 口的锁存器写入 1 时 P1 口 可作为输入端 是低 8 位的地址复用总线端口 P2 口 21 28 脚 8 位准双向 I O 口 既可作为普通 I O 口引脚 也可作为高 8 位地 址总线 P2 口与 P1 口的输出级结构相同 内部都有上拉电阻 整 个端口结构基本相同 P3 口 10 17 脚 是双功能静态端口 作为第一功能使用时 其功能与 P1 口相 同 当作为第二功能使用时 又都有各自的定义 P0 口 32 39 脚 8 位双向三态 I O 口线 既可作为普通 I O 口引脚 也可作为数据 低 8 位地址总线 VCC 40 电源电压端 GND 20 地端 RST 9 复位输入端 复位后 内部专用寄存器及 I O 口的处置与 8051 的情况一样 而内部的状态保持不变 XTAL1 19 振荡器反相放大器的输入 内部时钟发生器的输入端 XTAL2 20 振荡器反相放大器的输出端 ALE 地址锁存允许 当单片机访问外部存储器时 该引脚的输入信 号 ALE 用于锁存 P0 的低 8 位地址 ALE 输出的频率为时钟振荡 频率的 1 6 PSEN 程序存储器允许 输出读外部程序存储器的选通信号 取指令 操作周期 PSEN 的频率为振荡频率的 1 6 若此期间有访问外部 数据存储器的操作 则有一个机器周期中的 PSEN 信号将不出现 EA EA 0 单片机只访问外部程序存储器 对 8031 此引脚必须接 地 EA 1 单片机访问外部程序存储器 对内部有程序存储器的 单片机 此引脚必须接高电平 在这里需要注意的是 P3 口具有双功能 介绍下它的第二功能 以便设计 者更好的利用单片机以完成本设计所需要的功能 P3 口的特殊功能如下表 3 3 所示 表 3 3 P3 口特殊功能 口线特殊功能 P3 0RXD 串行口输入端 P3 1TXD 串行口输出端 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4T0 定时器 0 外部输入 P3 5T1 定时器 1 外部输入 唐唐 山山 学学 院院 毕毕 业业 设设 计计 3 1 2 单片机的外围电路 单片机的外围电路包括复位电路和时钟电路两部分 复位电路的作用主要是 不管单片机遇到什么样的不正常的操作 都可以 实现单片机的初始化 使它从某一确定的状态重新开始运行 上电复位和开关 复位都可以完成复位电路的作用 它们只是 2 种不同的形式 上电复位要求接通电源后 自动实现复位操作 开关复位要求在电源接通 的条件下 在单片机运行期间 如果发生死机 用按钮开关操作使单片机复位 4 复位电路如图 3 1 所示 RST 图 3 1 RST 电路 其中 RST 端接 51 单片机的第 9 引脚 按下复位按键以后 PC 指向 0000H 单元 SP 指向 07H 单元 P0 口为 FFH P1 口为 FFH P2 口为 FFH P3 口为 FFH 以及其他的寄存器为 0 51 单片机芯片内部有一高增益反相放大器 用于构成振荡器 反相放大器的 输入端为 XTAL1 输出端为 XTAL2 在 XTAL1 XTAL2 第 19 18 引脚 两端跨接一个石英晶体振荡器 和两个电容就构成了稳定自激谐振电路 晶振 频率为 11 0592MHz C12 C13 是两个瓷片电容 与晶振 Y2 构成了自激谐振 电路 其电容的作用主要是对频率进行微调 一般取 30 45PF 左右 使用该电 路可产生稳定的 11 0592MHZ 频率 受外界的环境的干扰影响非常小 5 其接 法如图 3 2 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 图 3 2 外围时钟电路 3 1 3 单片机的硬件电路 本设计最核心的器件是 51 单片机 它控制了整个系统 完成了语音信息的 处理 红外信号的发射以及红外信号的接收 它的外围电路如下图 3 3 所示 图 3 3 51 单片机外围电路 3 2 语音识别模块 3 2 1 语音芯片 LD3320 的介绍 LD3320 芯片是一款 语音识别 专用芯片 由 ICRoute 公司设计生产 该 芯片集成了语音识别处理器和一些外部电路 包括 AD DA 转换器 麦克风接 唐唐 山山 学学 院院 毕毕 业业 设设 计计 口 声音输出接口等 本芯片不需要外接任何的辅助芯片如 Flash RAM 等 直接集成在现有的产品中既可以实现语音识别 声控 人机对话功能 并且 识别的关键词语列表是可以任意动态编辑的 6 主要的特色功能有 非特定人 语音识别技术 可动态编辑的识别关键词语列表 单芯片解决方案 高精度 A D 和 D A 通道 高准确度和实用的语音识别效果 可自由编辑 50 条关键词 语 7 它的内部逻辑结构如图 3 4 所示 图 3 4 LD3320 内部结构逻辑图 LD3320 芯片有 48 个引脚 在图中可以看到 20 个引脚 在本次设计中没有 使用所有的引脚 MICP 和 MICN 分别接麦克风的正负引脚 CLK 接外部时钟 频率在 4 48HZ 之间 GND 是接地端和 VDD 是电源端 电源的主要目的是给 芯片供电 使它可以正常工作 3 2 2 语音识别的原理 语音识别技术是将人类语音中的词汇内容转换为计算机可读的输入 科学 家们利用语音数据库里大量的数据进行分析 可以得到在统计概率最优化意义 上的各个基元语音特征 并且将这些特征和语音模型转化为硬件芯片 语言识别原理主要是 科学家建立语言模型 分析语音特征 并将这些转 化为硬件芯片 LD3320 最先将相关命令的词语列表 写入芯片内 其次通过麦 克风采集语音信号 并将得到的信号 送入芯片内部 然后芯片将收到的信号 唐唐 山山 学学 院院 毕毕 业业 设设 计计 进行频谱分析 提取特征 并根据它内部的这种特殊的算法和编辑好的关键词 列表一一匹配 将匹配率最高的结果以串口的形式发回给单片机 语音识别的过程 就是把用户说出的内容 通过频谱转换为语音特征 和 这个关键词语列表中的条目进行一一匹配 最优匹配的一条作为识别结果 14 在本设计中语音识别列表是打开灯 关闭灯 打开热水器 关闭热水器 打开 空调 关闭空调 全部打开 全部关闭灯等 不论这个列表的条目内容是什么 只需要用户设置相关的寄存器 就可以把相应的待识别条目内容以字符形式传 递给识别引擎 8 语音识别过程如下图 3 5 所示 图 3 5 语音识别芯片识别过程框图 3 2 3 语音识别模块的硬件连接 该模块由单片机 语音芯片以及麦克风组成 单片机选用的是 51 单片机 语音芯片的型号是 LD3320 单片机是语音模块的核心控制平台 并且它控制着语音芯片去完成对语音 信号的采集和对比分析 同时将对比得出的一个最优结果以串口中断的方式传 回给单片机 最后通过红外遥控模块传送给另一个单片 使继电器的指示灯亮 或者灭 语音识别模块与主控单片机的硬件连接如图 3 6 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 图 3 6 语音识别模块的硬件连接图 3 3 红外遥控模块 红外遥控模块主要有两部分构成 红外发送部分和红外接收部分 现在一 一介绍这两部分 这个模块最大的优点就是 不会干扰其他的信号 不影响其 他设备的正常工作 而自己本身也不受其他信号的影响 3 3 1 红外发光二极管的介绍 红外发射部分的主要元件为红外发光二极管 实际上是一只特殊的发光二 极管 由于其内部材料不同于普通发光二极管 因而在其两端施加一定电压时 它便发出的是红外线而不是可见光 9 在其实际应用中要加上反向电压 才可 以正常工作 它发出的红外线的波长在 940 毫米左右 在这需要注意的是 在 调试时 如果不知道红外发光二极管是好是坏 能否正常工作 可以用万用表 的电阻档量他的正反向电阻 3 3 2 红外发射部分的介绍 单片机在空闲时候 功耗比较低 比较节能 当出现语音命令时 语音识 别模块会在触发状态下采集语音命令进行分析 并将结果传给单片机 产生串 口中断 这时单片机会调用命令函数关闭串口中断 同时开启定时器中断 定 时器 T0 作为红外线发射频率控制器 当 T0 定时溢出时中断程序使红外管接口 电平反转一次 写入定时器的初值不同 在输出端口就得到不同的发射频率 14 在语音识别模块的论述中讲到 语音芯片会将采集到的语音信号与放好的关键 词列表进行匹配得到最优结果 这个结果会以串口的方式发送给单片 单片机 唐唐 山山 学学 院院 毕毕 业业 设设 计计 接收到这个最优结果以后 会打开定时器 产生一个个的高低电平 即完成了 发送信号的编码 产生了一个脉冲串信号 这个脉冲串信号载有相应的信息 通过红外发光二极管发射出去 3 3 3 红外发射部分硬件连接 这一部分由 51 单片机和红外发光二极管构成 用来发送二进制信号经过编 码以后的脉冲串信号 它与单片机的连接方式如下图 3 7 所示 图 3 7 红外发射部分的电路图 3 3 4 HS0038 的介绍 红外接收部分采用一体化接收器 HS0038 HS0038 黑色环氧树脂封装 一 共有三个管脚 地端 电源端和信号输出端 它可以不受其他光源的干扰 功 耗低 而且灵敏度高 HS0038 的抗干扰能力较强 成本低 完成对信号进行放 大 检波 整形得到 TTL 电平的编码信号 不需要其他外围电路 最后将编码 信号传送给单片机 经单片机解码并执行去控制相关对象 15 它的引脚及功能如下图 3 8 所示 图 3 8 HS0038 的引脚及功能图 在此需要注意 判断 HS0038 是否可以正常工作时 需要在把上图的第二 唐唐 山山 学学 院院 毕毕 业业 设设 计计 和第三引脚之间连接一个二极管和一个发光二极管 手拿遥控器对着接收头按 下任意键 如果发光二极管闪烁 可以证明 HS0038 可以正常工作 3 3 5 红外接收过程及硬件连接 红外接收就是对红外信号的接收 放大 检波 整形 之后解调出红外遥 控编码脉冲的一种过程 16 注意的是接收的波长为 750 1150 纳米之间 它的 具体实现过程如下图 3 9 所示 单片机 红外发射电路 一体化红外 接收头 单片机 输出调制 发送 接收解调 图 3 9 红外遥控的实现过程图 红外接收部分只需要 HS0038 就可以完成所需要的功能 不需要外加其他 设备 HS0038 与单片机的连接方式如下图 3 10 所示 图 3 10 红外接收电路图 3 4 整体实物图 模拟智能家居系统的实物连接如下图 3 11 所示 解码 唐唐 山山 学学 院院 毕毕 业业 设设 计计 图 3 11 整体实物图 4 智能家居系统软件设计 4 1 语音识别模块 语音识别模块的整体的流程图如图 4 1 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 N 开始 是否为触发状态 采集语音命令 识别语音命令 传送相应的语音命令 系统是否继续识别 结束 Y N Y 串口初始化 芯片通用初始化 语音识别初始化 写列表 等待语音输入 图 4 1 语音模块流程图 由图 3 5 可以知道 语音芯片通过 P3 0 与 51 单片机相连接 在送入语音 命令之前 所要做的准备工作如下 把所连接的串口 语音芯片以及一些寄存 器初始化 把所需要的关键词列表写入到语音芯片中 等待语音信号的输入 当麦克风收集到语音命令时 在语音芯片内部会以一定的算法将关键词列 唐唐 山山 学学 院院 毕毕 业业 设设 计计 表与该语音信号进行对比匹配 将最终的结果通过 P3 0 送入单片机 要注意的 是 对语音芯片 所连接的串口的各种操作都必须通过寄存器的操作来完成 包括设置标志位 读取状态 向 FIF0 写入数据等 16 4 1 1 通用初始化 让芯片还原最初的方式和状态 等待语音命令的输入 这样会更好的识别 信息 完成操作 参考程序如下 Void LD init Common bMp3play 0 LD ReadReg 0 x06 soft reset LD WriteReg 0 x1F 0 x0 Delay 10 LD WriteReg 0 x89 0 x03 LD WriteReg 0 xCF 0 x43 LD WriteReg 0 xCB 0 x02 PLL setting LD WriteReg 0 x11 LD PLL 11 If nLD Mode LD MODE MP3 LD WriteReg 0 x1E 0 x00 LD WriteReg 0 x19 LD PLL 19 LD WriteReg 0 x1B LD PLL 1B LD WriteReg 0 x1D LD PLL 1D LD WriteReg 0 x79 LD LEDMTR FREQ ELSE LD WriteReg 0 x1E 0 x00 LD WriteReg 0 x19 0 x3f LD WriteReg 0 x1D 0 x1f LD WriteReg 0 x1B 0 x08 LD WriteReg 0 xCD 0 x04 唐唐 山山 学学 院院 毕毕 业业 设设 计计 LD WriteReg 0 x17 0 x4c LD WriteReg 0 xB9 0 x00 LD WriteReg 0 xCF 0 x4f LD WriteReg 0 x6F 0 xff 4 1 2 寄存器的初始化 语音识别模块中 寄存器有着很重要的作用 可以说大部分的操作是根据 它来完成的 对寄存器设置的程序如下 Void LD init ASR nld Mode LD MODE ASR RUN LD Init Common LD WriteReg 0 xBD 0 x00 LD WriteReg 0 x17 0 x48 Delay 10 LD WriteReg 0 x3C 0 x80 LD WriteReg 0 x3E 0 x07 LD WriteReg 0 x38 0 xff LD WriteReg 0 x3A 0 x07 LD WriteReg 0 x40 0 x08 LD WriteReg 0 x42 0 x00 LD WriteReg 0 x44 0 x08 LD WriteReg 0 x46 0 x08 LD WriteReg 0 x1b 0 x48 Delay 1 4 1 3 写入识别列表 LD3320 最多支持 50 个识别条目 每个识别条目可以是单字 词组或短句 长度为不超过 10 个汉字或者 79 个字节拼音串 每个识别条目是标准普听话的 汉语拼音 小写 每两个字 汉语拼音 之间用一个空格间隔 编号可以相 同 可以不连续 但数值要小于 256 00H FFH 17 在写入识别列表时 每 一个待识别的语句需要一个编号 这个编号是识别出以后 通过串口返回单片 唐唐 山山 学学 院院 毕毕 业业 设设 计计 机的值 值得注意的是 这个编号是要一字节的 同时列表中不同的待识别语 句的编号可以相同 也可以不同 可以连续 也可以不连续 如表 4 1 所示 表4 1 编写的语音识别列表 把关键词列表写入到语音芯片的代码如下 uint8 LD AsrAddFixed uint8 k flag uint8 nAsrAddLength const char sRecog 10 15 da kai deng guan bi deng da kai dian shi guan bi dian shi da kai kong tiao guan bi kong tiao da kai re shui qi guan bi re shui qi quan bu da kai quan bu guan bi const unit8 pcode 10 code dakaideng code guanbideng code dakaidianshi code guanbidianshi code dakaikongtiao code guanbikongtiao code dakaireshuiqi code guanbireshuiqi code quanbudakai code quanbuguanbi flag 1 for k 0 k 10 k if LD Check AsrBusyFlag b2 0 flag 0 break 编号字符串 0 x01da kai deng 0 x02guan bi deng 0 x03da kai kong tiao 0 x04guan bi kong tiao 0 x05da kai dian shi 0 x06guan bi dian shi 0 x07da kai re shui qi 0 x08guan bi re shui qi 0 x09quan bu da kai 0 x0aquan bu guan bi 唐唐 山山 学学 院院 毕毕 业业 设设 计计 LD WriteReg 0 xc1 pCode k LD WriteReg 0 xc3 0 LD WriteReg 0 x08 0 x04 Delay 1 LD WriteReg 0 x08 0 x00 Delay 1 for nAsrAddLength 0 nAsrAddLength 20 nAsrAddLength if sRecog k nAsrAddLength 0 break LD WriteReg 0 x5 sRecog k nAsrAddLength LD WriteReg 0 xb9 nAsrAddLength LD WriteReg 0 xb2 0 xff LD WriteReg 0 x37 0 x04 return flag 4 1 4 开始识别 完成各初始化 并且将关键词列表写入芯片以后 就可以等待语音命令的 输入 当有信号输入时 语音芯片会调用识别程序 单片机程序中 一般会用 一个全局变量控制当前状态 在编程时把对该状态的设置放在 LD3320 芯片开 始识别以前 18 uint8 LD AsrRun nAsrStatus LD ASR RUNING LD WriteReg 0 x35 MIC VOL LD WriteReg 0 x1C 0 x09 LD WriteReg 0 xBD 0 x20 LD WriteReg 0 x08 0 x01 delay 1 LD WriteReg 0 x08 0 x00 delay 1 唐唐 山山 学学 院院 毕毕 业业 设设 计计 将识别到的结果存放到 C5 寄存器 如果麦克风采集到声音 不管是否是 正常结果 都会产生一个中断信号 而中断程序要根据寄存器的值分析结果 读取 BA 寄存器的值 可以知道有几个候选答案 而 C5 寄存器里的答案是得分 最高 最可能正确的答案 18 麦克风采集到语音信号以后 送入到 LD3320 的内部 与写入的关键词列 表进行对比与匹配 会得到一个最优结果 将该结果所对应的序号传递给单片 机 此时单片机会把该信号进行调制然后通过红外发光二极管发射出去 语音 控制指令所对应的返回值如下表 4 2 所示 表 4 2 语音控制指令对应的串口返回值 buff USART Receive switch buff case 00 clrbit PortA PA0 对 PA0 写 0 break case 01 setbit PortA PA0 对 PA0 写 1 break case 02 clrbit PortA PA2 对 PA2 写 0 break case 03 setbit PortA PA2 对 PA2 写 1 break case 04 语音控制指令对应串口返回值 打开灯0 x01 关闭灯0 x02 打开空调0 x03 关闭空调0 x04 打开电视0 x05 关闭电视0 x06 打开热水器0 x07 关闭热水器0 x08 全部打开0 x09 全部关闭0 x0a 唐唐 山山 学学 院院 毕毕 业业 设设 计计 clrbit PortA PA4 对 PA4 写 0 break case 05 setbit PortA PA4 对 PA4 写 1 break case 06 PortA 0 xFF break default break 本设计中利用该芯片模拟了智能家居系统 设计的过程中 设计者常常需 要下达一些短口令 而在所设计的训练环境中 如果口令采用键盘或鼠标的方 式进行输入 这显然违背了设计的初衷 所以使用 LD3320 控制电路用语音识 别的方式 将获得的识别结果再换成串口信号 输入单片机 达到语音控制的 目的 4 2 红外发射部分 4 2 1 红外发射原理 单片机接收到串口发送的信息以后 会打开定时器 产生一个个的高低电 平 产生了一个脉冲串信号 这个脉冲串信号载有相应的信息 然后通过单片 机的控制 从红外发光二极管中发出调制好的脉冲串信号 这就是红外发射的 原理 编码方式采用的是 PPM 编码 这种编码具有以下特征 1 编码后的信号是由前导码 16 位地址码 8 位地址码 8 位地址码的反 码 和 16 位操作码 8 位操作码 8 位操作码的反码 组成 前导码 是一个 遥控码的起始部分 由一个 9ms 的高电平和一个 4 5ms 的低电平组成 作为接 受数据的准备脉冲 19 地址码可以用来区分设备 16 位操作码用来执行不同的 操作 需要注意的是 红外遥控设备不同 16 位的地址码是不相同的 所以地 址码的作用就是防止不同遥控设备发射的码型的干扰 2 采用脉宽调制的串行码 是二进制码 由 0 和 1 组成 这 2 个 字符的周期不同 而且高低电平的顺序也相同 先有一个高电平 后有一个低 电平 高电平持续的时间也一样为 0 56ms 低电平持续的时间不同 字符 0 的电平持续的时间为 0 56ms 字符 1 持续的时间为 1 12ms 二进制编码如下图 4 2 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 图 4 2 二进制编码 4 2 2 红外发射程序 首先初始化串口中断 等待串口中断响应 当有语音信号输入时 语音芯 片将通过匹配得到的最优的结果以串口的形式发回单片机 这时单片机出现串 口中断 会执行串口中断函数 得到命令代码 开启定时器中断 调用发射函 数 最终可以使红外发光二极管发出载有相应信息的信号 红外发射函数要先 发送一个前导码由 9ms 的高电平和 4 5ms 的低电平构成 之后在发送 16 位地址 码 16 位地址码能区别不同的红外遥控设备 防止不同机种遥控码互相干扰 本设计中的地址码为 3 地址反码为 252 最后发送 16 位数据操作码和数 据操作反码 本设计中的数据操作码就是语音识别结果 具体流程图如图 4 3 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 图 4 3 红外发射流程图 本设计中波特率默认为 9600bps 则串口初始化代码如下所示 define FOSC 11059200 11 0592M 晶振 define BAUD 9600 void UART Init void PCON 0 x00 SCON 0 x50 8 位数据 可变波特率 TMOD 0 x20 TL1 FOSC 12 32 BAUD 设定定时初值 TH1 TL1 设定定时器重装值 ET1 0 禁止定时器 1 中断 TR1 1 启动定时器 1 本设计中 当串口接收到信息以后 会产生串口中断 在接收数据时需要 清除串口中断标志位 同时打开定时器 利用定时器 产生一串高低电平 这 串高低电平就是要发送的信息 而定时器中断响应函数如下所示 void timeint void interrupt 1 开始 串口初始化 等待 是否串口中断 发送信号 否 是 唐唐 山山 学学 院院 毕毕 业业 设设 计计 TH0 0 xFF TL0 0 xE6 设定时值为 38K 也就是每隔 26us 中断一次 count if flag 1 OP OP 如果是待发送的有效数据 flag 1 else OP 0 ir in OP 4 3 红外接收模块 在红外接收模块与单片机的外部中断 0 口相连接 当检测到有红外信号输 入时 会产生外部中断 就会进入外部中断处理程序 在处理数据的过程中还 要关闭外部中断直到接收完数据 才可以再打开外部中断 19 对红外遥控的数据接收主要是在外部中断函数中进行的 处理过程为 当 有语音送入到语音芯片内部 进过识别分析以后 由单片机控制发送信号 这 时红外一体化接收器最先会接收到一个低电平 因为接收器连接外部中断 0 口 同时采用下降沿的触发方式 红外接收程序中已经将 P3 口设置为高电平 当接 收到低电平时 产生一个下降沿 会产生外部中断 这时程序计数器 PC 会指 向外部中断程序的入口地址 去执行外部中断处理函数 首先关闭外部中断 然后根据一体化接收器脉冲信号输出引脚的高低电平持续的时间判断红外遥控 发送的数据 这个数据有 4 个字节 而单片机会根据第 3 个字节数据的不同来 执行不同的操作 红外接收器在接收时会有自己的一个判断 只接收正确的红外信号 这个 判断主要是根据前导码来完成 之后接收到地址码和数据操作码 单片机根据 数据操作码来控制相应的继电器 红外接收函数的流程图如下图 4 4 所示 唐唐 山山 学学 院院 毕毕 业业 设设 计计 继电器控制 返回 调用红外接收函数 开始 端口初始化 是否外部 0 中 断 否 是 图 4 4 红外接收流程图 外部中断函数的代码如下所示 void interrupt0 interrupt 0 uchar i 0 j 0 k 0 us 0 uchar addr 4 0 EX0 0 for i 0 i 255 i 9ms 内有高电平认为是干扰 if P3 return while P3 等待 9ms 低电平过去 唐唐 山山 学学 院院 毕毕 业业 设设 计计 for i 0 i 4 i for j 0 j 8 j while P3 等待 4 5ms 高电平过去 while P3 等待高电平 while P3us 30 EX0 1 return addr i addr i 1 接收一位数据 if k 8 addr i addr i 0 x80 高电平大于 0 56ms 则为 1 k 0 P2 addr 2 P2 的 LED 显示二进制键值 4 4 模拟电器控制部分 本设计中选用继电器模拟家用电器 继电器模块指示灯的亮灭代表家用电 器的开启或关闭 继电器上一共有 4 个指示灯分别连着 51 单片机的 P1 0 P1 3 由这四个口来控制 低电平可以使继电器的指示灯亮 当红外一体 化接收器 HS0038 接收到红外信号时 会产生一个下降沿 使 51 单片机产生外 部中断 调用外部中断函数 在外部中断函数中 有相应的程序控制 P1 口的电 平的高低 从而控制继电器模块指示灯的亮灭 这部分程序代码如下 sbit num1 P1 0 sbit num2 P1 1 sbit num3 P1 2 sbit num4 P1 3 switch P2 唐唐 山山 学学 院院 毕毕 业业 设设 计计 case 0 x01 num1 0 break case 0 x02 num1 1 break case 0 x03 num2 0 break case 0 x04 num2 1 break case 0 x05 num3 0 break case 0 x06 num3 1 break case 0 x07 num4 0 break case 0 x08 num4 1 break case 0 x09 num1 0 num2 0 num3 0 num4 0 break case 0 x0a num1 1 num2 1 num3 1 num4 1 break 其中 P2 代表语音芯片通过串口返回给单片机的值 也是使用者所下达的语 音命令 唐唐 山山 学学 院院 毕毕 业业 设设 计计 5 硬件的调试过程 当硬件与软件都设计完成以后 毕设并没有做到最后 还有最重要的一部 分就是硬件的调试部分 硬件的调试主要是指各模块的调试 该设计中有 2 个 单片机 每个单片机都需要调试 此外需要调试的还有红外遥控模块 语音识 别模块等 这里只讲述调试的大致过程 具有一般性 需要经过无数次的调试和修改 才有可能得到正确的结果 如果在以下各模块的调试中没有相应的现象 需要 设计者自己耐心的找寻问题 解决问题 5 1 连接语音芯片和红外发光二极管的单片机的调试 这个单片机中所下载的程序的主要作用有 2 个方面 一方面是等待语音芯 片识别出语音信号以后发回信息 另一方面是将该信息通过编码调制成脉冲串 信号 在调试判断这部分程序是否正确时 需要用到 2 个工具 一个是串口调 试助手 另一个是继电器模块 串口调试助手可以用来代替语音调试模块 向 单片机发送一个信号 在该程序中 设定 P1 1 P1 4 为调试端口 这四个端口分别和继电器的四 个端口相连 在下载软件中 选中串口调试助手 得到的界面如下图 5 1 所示 图 5 1 下载软件的串口调试界面图 需要注意的是 图中的各选项 要选择正确 包括 16 进制显示 选择正确 唐唐 山山 学学 院院 毕毕 业业 设设 计计 的波特率 9600 选择正确的串口 COM 在本次调试的是 COM4 在单字串 发送区发送想要发送的字符 即 1 A 16 进制 观察继电器模块的指示灯是 否有相应的变化 5 2 红外遥控模块的调试 当继电器的指示灯有相应的变化以后 说明该单片机中运行的程序是正确 的 可以进行下一步的调试 连接红外接收的单片机中下载的程序的作用也有 2 个方面 一方面是将红外接收器接收到的信息还原为二进制的编码信号 另 一方面是通过得到的信号去控制继电器 在对这部分进行调试时 方法同 5 1 节所讲的 不同的是 继电器模块连 接的单片机不同 连有红外接收器的单片机的 P1 1 P1 4 仍然是通过串口调试 助手发送相应的命令 观看继电器是否有相应的变化 如果有相应的变化 说 明该单片机中的程序是正确的 同时红外发射和接收模块正常 5 3 语音识别模块的调试 首先需要知道 语音芯片连接着麦克风 电源端 接地端还有单片机的串 口输入端 麦克风有正负之分 那区分的方法就是 线与麦克风相连焊接的地 方 有三根线连接到外壳的地方是负极 另一端为正极 对该模块进行调试时 仍然用到继电器模块 调试的方法与 5 1 节有相同 的地方 唯一不同的是 输入的方式不同 5 1 节通过串口输入控制信息 而现 在通过语言芯片输入控制信息 在对麦克风说一句关键词时 如果语言芯片能够识别出使用者所讲的这句 话 那么芯片上绿色的指示灯会闪烁 如果继电器有相应的现象 说明语音识 别模块是正常的 唐唐 山山 学学 院院 毕毕 业业 设设 计计 6 总结与展望 6 1 结论 设计者成功的完成了本次设计 红外遥控技术和语音技术发挥了不容小觑 的作用 从 3 月份开始 根据自己在大学期间掌握的相对来说比较好的理论知 识确定了所做毕设的类型与题目 由于一些原因在 4 月份开始着手准备毕设 去图书馆借来相关的书籍 和老师交流 确定了设计的大体方案 之后不但读 了不少有关这方面的论文 期刊 文献等 又学习了该设计所需要的软件的使 用 一切准备就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年青少年心理健康与社交媒体使用
- 2025年气候变化对全球气候的影响
- 慢性子宫颈炎教学设计中职专业课-病理学基础-医学类-医药卫生大类
- 2025年文化创意园区项目申请报告
- 装饰公司市场部工作流程
- 我爱你中国朗诵
- 第2课 流动的笔触教学设计小学美术赣美版三年级上册-赣美版
- 项目化活动介绍
- 如何将Excel中的流程图导入
- 2025年电工高级职业题库及答案
- 《船用格栅》规范
- 重大(2023)版信息科技五年级上册教学设计
- 《出师表》原文及英文对照版-20210722094410
- 实验室装修工程设计书
- 2024-2025学年人教版八年级英语上册Unit 2 测试卷
- 退休人员出国探亲申请书
- 电商直播带货的营销策略手册
- 云计算与边缘计算协同详述
- 船舶水污染物内河接收设施配置规范
- 汽油安全技术说明书(MSDS)
- 机场FOD监测系统的项目课件
评论
0/150
提交评论