语音识别控制灯_第1页
语音识别控制灯_第2页
语音识别控制灯_第3页
语音识别控制灯_第4页
语音识别控制灯_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0信息与电气工程学院电子信息工程电子信息工程 CDIO 二级项目二级项目(2013/2014 学年第二学期)题 目 : 语音识别控制灯 专业班级 : 电子信息 学生姓名 : 学 号: 指导教师 : 马永强老师 设计周数 : 15 周 设计成绩 : 2014 年 6 月 4 日1目目 录录1 1 项目设计目的及任务项目设计目的及任务.2 22 2 项目设计思路项目设计思路.2 2 2.2.1 1 LD3320LD3320 芯片芯片 .2 2 2.1.2.1.1 1 LD3320LD3320 芯片的功能芯片的功能 .2 2 2.2.1 1.2.2 寄存器介绍寄存器介绍.2 2 2.2.1.31.3

2、 寄存器的操作寄存器的操作.3 3 2.2.1.41.4 驱动程序驱动程序.4 4 2.2.1.51.5 播放声音播放声音.7 73 3 设计电路设计电路.1111 3.3.1 1 仿真电路仿真电路.1111 3.3.2 2 电路工作原理分析电路工作原理分析.1111 3.2.3.2.1 1 程序流程程序流程.1111 3.2.3.2.2 2 原理说明原理说明.12124 4 项目设计心得项目设计心得.1 12 25 5 参考文献参考文献.1 13 321 1 项目设计目的及任务项目设计目的及任务要求完成一个语音识别控制灯系统的设计,基于 LD3320 芯片的语音识别系统。最基本的要求做到语音

3、说出一些简单的命令,系统会识别并且做出相应地动作或运作,以此来控制灯的亮和灭。要求设计出原理图,并且利用 proteus 软件进行了仿真试验。2 2 项目设计思路项目设计思路 2.12.1 LD3320LD3320 芯片芯片 2.1.12.1.1 LD3320LD3320 芯片的功能芯片的功能语音识别是对基于生理学和行为特征的说话者嗓音和语言学模式的运用。它与语言识别不同在于这项技术不对说出的词语本身进行辨识。而是通过分析语音的唯一特性,例如发音的频率,来识别出说话的人。语音识别技术使得人们可以通过说话的嗓音来控制能否出入限制性的区域。举例来说,通过电话拨入银行、数据库服务、购物或语音邮件,以

4、及进入保密的装置。语音识别与其他生物识别技术相比,不仅具有不会遗失和忘记、不需记忆、使用方便等特点,而且还具有用户接受程度高,声音输入设备造价低廉等优点。由于涉及不到用户的隐私问题,所以可以方便的推广应用。LD3320 芯片是一款“语音识别”专用芯片。该芯片集成了语音识别处理器和一些外部电路,包括 AD、DA 转换器、麦克风接口、声音输出接口等。本芯片不需要外接任何的辅助芯片如 Flash、RAM 等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。该芯片不需要外接任何的辅助芯片,直接集成在现有的产品中,即可实现语音识别,声控,人机对

5、话功能。LD3320 完成非特定人语音识别,每次识别最多可以设置 50 项候选识别语句,每个识别句可以是单字,词组或短句,长度为不超过 10 个汉字或者 79 个字节的拼音串。另一方面,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景。芯片采用 48 脚 QFN 塑料封装,工作供电为 3.3V。核心是语音识别运算器,配合输入和输出,AD/DA 转换等模块,完成语音识别的功能。LD3320 芯片还支持并行和串口接口,串行方式可以简化与其他模块的连接。 2.1.22.1.2 寄存器介绍寄存器介绍寄存器大部分都是有读和写的功能,有的是接受数据的,有的是设置开关和状态的。3寄存器的地址空间为

6、8 位,可能的值为 00H 到 FFH。 ASR: 自动语音识别技术(Automatic Speech Recognition) 。 FIFO:英文 First In First Out 的缩写,是一种先进先出的数据缓存器, 它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单。 LD3320 芯片内部有 2 个 FIFO,分别是: FIFO_EXTFIFO_DATA FIFO_DATA 主数据处理 FIFO 缓存器,ASR 或者 MP3 的主数据区 FIFO_EXT 语音识别添加关键词用 FIFO 缓存器 MCU: 本文档中专指外部电路板的主控芯片,对 LD3320 芯片进行控制的

7、微处理器。 DSP:本文档中专指本芯片 LD3320 内部的专用 DSP,实现语音识别和语音播放的算法。 2.1.32.1.3 寄存器的操作寄存器的操作本芯片的各种操作,都必须通过寄存器的操作来完成。比如设置标志位、读取状态、向 FIFO 写入数据等。寄存器读写操作有 2 种方式,即标准并行方式和串行 SPI 方式。(1)并行方式第 46 脚(MD)接低电平时按照此方式工作,写和读的时序图如下:图 1 并行方式写时序4图 2 并行方式读时序由时序图可以看到,A0 负责通知芯片是数据段还是地址段。A0 为高时是地址,而 A0 为低时是数据。发送地址时 CSB*和 WRB*必须有效,写数据时同样

8、CSB*和 WRB*必须有效,而读数据时 CSB*和 RDB*必须有效。 (2)串行 SPI 方式第 46 脚(MD)接高电平,且第 42 脚(SPIS*)接地时按照此方式工作。写和读的时序如图3:图 3 SPI 方式写时序写的时候要先给 SDI 发送一个 “写”指令(04H) ,然后给 SDI 发送 8 位寄存器地址,再给 SDI 发送 8 位数据。在这期间,SCS*必须保持在有效(低电平) 。 图 4 SPI 方式读时序5写的时候要先给 SDI 发送一个 “读”指令(05H) ,然后给 SDI 发送 8 位寄存器地址,再从 SDO 接受 8 位数据。在这期间,SCS*必须保持在有效(低电平

9、) 。 2.1.42.1.4 驱动程序驱动程序(1)芯片复位就是对芯片的第 47 腿(RSTB*)发送低电平。可按照以下顺序: void LD_reset() RSTB =1; delay(1); RSTB =0; delay(1); RSTB =1; delay(1)是延迟 1 毫秒的意思,为了更稳定地工作。芯片初始化一般在程序的开始进行,如果有时芯片的反应不太正常,也可用这个方法恢复芯片的初始状态。(2)语音识别语音识别的操作顺序是: 通用初始化语音识别用初始化写入识别列表开始识别, 并准备好中断响应函数,打开中断允许位。 如果不用中断方式,也可以通过查询方式工作。在“开始识别”后,读取寄

10、存器 B2H 的值,如果为 21H 就表示有识别结果产生。在此之后读取候选项等操作与中断方式相同。(3)写入识别列表列表的规则是,每个识别条目对应一个特定的编号(1 个字节) ,不同的识别条目的编号可以相同,而且不用连续。本芯片最多支持 50 个识别条目,每个识别条目是标准普通话的汉语拼音(小写) ,每 2 个字(汉语拼音)之间用一个空格间隔。编号可以相同,可以不连续,但是数值要小于 256(00HFFH) 。编号 字符串 1 bei jing 1 shou du 64 shang hai 6 tian jin 8 chong qing 编号可以相同,可以不连续,但是数值要小于 256(00H

11、FFH) 。例子中的“北京”和“首都”对应同一编号,说这两个词会有相同的结果返回。流程图如下:图 5 语音识别流程图(4)开始识别设置几个相关的寄存器,就可以控制 LD3320 芯片开始语音识别。单片机程序中,一般会用一个全局变量记录和控制当前状态在编程时一定要把对该状态的设置语句放在LD3320 芯片正式开始识别以前。7(5)响应中断 如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。而中断程序要根据寄存器的值分析结果。 读取 BA 寄存器的值,可以知道有几个候选答案,而 C5 寄存器里的答案是得分最高、最可能正确的答案。 例如发音为“上海”并被成功识别(无其他候选) ,那

12、么 BA 寄存器里的数值是 1,而C5 寄存器里的值是对应的编码 3。流程图如下:图 6 中断响应流程图 2.1.52.1.5 播放声音播放声音播放声音的操作顺序是: 通用初始化MP3 播放用初始化调节播放音量开始播放声音, 并准备好中断响应函数,打开中断允许位。 8(1) 通用初始化 和语音识别部分一样,按指定序列设置寄存器。 (2) 声音播放用初始化(3) 调节播放音量 需要修改寄存器 8E。 音量分为 16 级,用 4 位二进制表示,范围是 0-15。设置音量时,将(15-音量值) 设给寄存器 8E 的第 2-5 位。 (4) 开始播放声音 开始播放位置清零(自定义变量 Mp3Pos=0

13、) ; 寄存器 1B 的第 3 位设为 1(按位或 0 x08) ; 循环执行: while(【播放条件】=true) 顺序将 MP3 数据放入寄存器 01(每次一个字节); Mp3Pos 增加 1 【播放条件】为下面条件都成立,有一个不满足就跳出循环:读取寄存器 06,第 3 位=0;Mp3Pos MP3 文件的总长度。 修改 BA 、17 等寄存器;开放中断允许。开始播放的流程图如下:9图 7 开始播放流程图(5)中断响应。 开始播放可以把声音数据的最初部分送入芯片,等到芯片播放这一段后会发出中断请求。而中断函数里会不断的送入数据,直到 FIFO_DATA 装满或声音数据结束。由于 LD3

14、320 芯片只有一只管脚负责中断请求输出,所以一般情况下用一个中断响应函数处理 2 种中断。中断处理函数里,播放声音部分流程图如下:10图 8 播放声音流程图113 3 设计电路设计电路 3.13.1 仿真电路仿真电路图 1 原理图 3.23.2 电路工作原理分析电路工作原理分析 3.2.13.2.1 程序流程程序流程语音识别的操作流程:(1)语音识别用初始化,在此步骤中,对各寄存器进行初始化设置;(2)写入识别列表。LD3320 是一个基于词库的语音识别芯片, 。应将待识别的短语写入识别列表,每个识别条目对应一个特定的字节,不同的识别条目的字节可以相同,而且不用连续,但是数值要小于 256;

15、(3)开始识别,并准备好中断响应函数,打开中断允许位;(4)响应中断。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号,而中断程序要根据寄存器的值分析结果。读取 BA 寄存器的值,可以知道有几个候选答案,而 C5 寄存器里的答案是得分最高,最可能正确的答案。 如果不用中断方式,也可以通过查询方式工作。 开始识别后,读取寄存器 B2H 的值,如果 21H 就表示有识别结果产生。在此之后读取12候选项等操作与中断方式相同。 LD3320 芯片还具有 MP3 播放的功能。 3.2.23.2.2 原理说明原理说明LD3320 的基本应用电路由一个微控制器(MCU)和 LD3320 组

16、成。电路中的主控 MCU 芯片,是为了完成对 LD3320 芯片寄存器的操作。对 LD3320 芯片的各种操作,都必须通过寄存器的操作来完成。其寄存器可以分为,FIFO 数据缓存器、语音识别控制寄存器、音量调节、模拟电路和其他的辅助寄存器。寄存器读写操作有两种方式,即标准并行方式和串行 SPI 方式。LD3320 寄存器的地址空间为 8位,编号从 00H 到 FFH。 4 4 项目设计心得项目设计心得本学期学习 LD3320 的时间很短,芯片设计掌握的深度不够,但通过此次课程设计,却改变了很多, 首先,对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次,软件方面,在程序的设计

17、,程序的调试方面都学到了很多东西。在大学课堂的学习只是纯理论的专业知识,而我们应该把所学的用到现实生活中去,此次的 LD3320 设计语音控制灯给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应社会激烈的竞争。在这次的单片机课程设计过程中,无论是在理论学习阶段,还是在设计的选题、资料查询和撰写的每一个环节,我都得到到了许多人的悉心的指导和帮助。学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或 C 语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入 C 语言学习。尽管汇编语言属于低级语言,编程效率低,但是较 C 语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论