ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:285.15KB ,
资源ID:9312757      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9312757.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机器人语音识别智能机器人设计.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

机器人语音识别智能机器人设计.docx

1、机器人语音识别智能机器人设计引 言: 3文 摘 : 3机器人实物图 3第一章 机 器 人 简 介 41.1机器人驱动电路图 41.2 主要功能 51.3 系统总体方案介绍 51.4 系统软件设计 61.5 应用方案的验证步骤: 8第二章 61板”使用说明 102.1 “61”板的组成 102.2 “61板”接口说明 112.2.1 输入/输出(I/O)接口 112.2.2 音频输入/输出接口 112.2.3 在线调试器(PROBE)接口 122.2.4 电源接口 122.2.5 外部复位 122.3 “61板”的检测 132.4 “61板”的编程 14第三章 SPCE061A的介绍 153.1

2、 SPCEO61A单片机概述 153.2 SPCEO61A单片机总述 173.3 性能 173.4 结构概览 183.5 SPCE061A单片机硬件结构 183.6 SPCE061A 输入/输出接口 263.7 IO端口设置的C库函数 31附录 37参考文献 46小结; 47致 谢; 48语音识别智能机器人引 言:目前单片机渗透到我们生活的各个领域,几乎很难找到那个领域没有单片机的踪迹。导弹的导航装置,飞机上的各种仪表控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子

3、宠物等等,这些都离不开单片机。在现代社会机器人这个词语已经不再新鲜,而且形形色色的机器人出现在我们的日常生活中。更不用说自动控制领域的机器人、智能仪表、医疗器械了文 摘 :本文应用SPCE061A作为主控制器,外加电机驱动电路制作的智能机器人。采用特定人语音识别对机器人进行控制。介绍了凌阳SPCE061A单片机的软件和硬件,以及用凌阳的61板控制机器人的工作状态。根据开始录制的语音命令来控制机器人向前走、倒退、左转、右转、娱乐、瞄准、发射、连续发射等功能.机器人实物图第一章 机 器 人 简 介1.1机器人驱动电路图 机器人驱动电路图如图1.1所示: 图 1.1机器人驱动电路图 机器人驱动电路采

4、用功率较大的三极管搭成H桥来驱动电机,可以实现电机的正向旋转与电机的反向旋转。这些电机包括2个用于走路的电机与一个头部转向的电机。另外用了一个三极管驱动单向旋转的电机,包括加速电机与发射电机,驱动电路比较简单。1.2 主要功能通过语音进行控制;可以跳两首舞曲; 走步功能、转向功能、转头功能; 发射飞盘功能;1.3 系统总体方案介绍 用61板来控制机器人,使用了IOB7-IOB15资源,另外使用了扬声器。如图1.2所示: 图1.2 系统的结构框图系统主要由61板与机器人驱动电路构成。61板作为整个系统的主控板驱动电路驱动电机。在主控板61板的控制下完成各个动作。另外增加了特定人语音识别的功能,通

5、过命令来控制机器人,使机器人智能化。1.4 系统软件设计 在主函数中调用相关函数完成特定人语音的训练,然后再训练成功后进行语音识别,根据识别的命令执行相关的的操作。程序流程图如1.3所示: 图1.3程序流程图与中断流程图判断是否为第一次下载根据FLASH中的标志位来进行判断。将训练好的语音模型导出存储到FLASH中使用库函数BSR_ExportSDWord(uiCommandID);进行操作,然后再调用读写FLASH中的函数进行。在进行语音识别时,首先读取FLASH将语音模型取得,然后调用BSR_ImportSDWord(uiCommandID);函数将语音资源载入内存。在识别出命令后,执行相

6、关动作,相关动作操作就是操作电机的正向或反向旋转同时配合延时与播放声音组合起来形成不同的动作。1.5 应用方案的验证步骤:步骤一:启动unSP IDE。打开机器人应用实例程序,编译、链接确认没有错误。如图1.4编译、链接图图1.4 编译、链接图步骤二:下载程序代码到机器人的61板上。步骤三:打开机器人的电源,进行语音训练,训练过程按照下面进行:按顺序训练以下15条指令:名称,开始,准备,跳舞,再来一曲,开始,向前走,倒退,右转,左转,准备,向左瞄准,向右瞄准,发射,连续发射。每条指令要训练两遍。当一条指令被正确识别时会提示进入下一条;如没有被识别会要求重复该指令,直到正确识别为止。 步骤三:如

7、果训练成功则进入语音识别状态,如果训练没有成功则重复训练。由于SPCE061A的FLASH存储器只有32K,所以15条指令需要分组存放。在这里分成3组,每组5条指令。在不同组指令中交换需要根据出发名称,所以在识别状态,要执行动作首先需要出发名称,就是训练的第一条命令,然后可以识别第一组的其余四条命令。在触发第一条指令,然后再触发第二条指令,就可以识别第三条指令,参考下图1.5:图1.5 机器人操作示意图第二章 61板”使用说明2.1 “61”板的组成表1.1,框图说明POWER5v&3V供电电路PLL锁向环外部电路Power电源指示灯Sleep睡眠指示灯RESET复位电路K4复位按键PROBE

8、在线调试器串行5pin接口S5EZ-PROBE和PROBE切换的拨断开关J12、J3耳机插孔和两pin喇叭插针DAC一路音频输出电路,采用SPY0030集成音频放大器MIC麦克风输入电路OSC32768晶振电路VREFA/D转换外部参考电压输入接口R/C芯片其他外围电阻、电容电路K1K3扩展的按键:接IOA0IOA2SPCE061A61板核心:16位微处理器PORTA/B32个I/O口2.2“61板”接口说明 “61板”的核心是凌阳16位单片机SPCE061A,它共有84个引脚。SPCE061A板原理图。2.2.1 输入/输出(I/O)接口 “61板”将SPCE061A的32个I/O口全部引出

9、:IOA0IOA15,IOB0IOB15,对应的引脚为:A口,4148、53、5460;B口,51、8176、6864。而且该I/O口是可编程的,即可以设置为输入或输出:设置为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设置为上拉输入或是下拉输入;在5V情况下,上拉电阻为150K,下拉电阻为110K;设置为输出时,可以选择同向输出或者反相输出。2.2.2 音频输入/输出接口正如我们在前面介绍的“61板”具有强大的语音处理功能,如所示,X1是语音的MIC输入端,带自动增益(AGC)控制,J3是语音输出接口,由DAC输出引脚21或22经语音集成放大器SPYOO30放大,然后输出,SPY003

10、0是凌阳的芯片,相当于LM386,但是比386音质好,它可以工作在2.46.0V范围内,最大输出功率可达700mW(386必须工作在4V以上,而且功率只有100mW)。2.2.3 在线调试器(PROBE)接口 中J4为PROBE的接口,该接口有5PIN,其中两个分别是地(VSS)和3.3v电源(VCC),在前面介绍如何开发时已经讲过,我们就是通过PROBE一端接PC机25针并口,一端连接它来调试、仿真和下载程序的。这样,就不需要再用仿真器和编程器了,只要按错误!未找到引用源。所示将其连接好,就可以通过它在PC机上调试程序,并且在线仿真,最后将程序下载到芯片中,即完成了程序的烧写。2.2.4 电

11、源接口 中J10是电源接口,“61板”的内核SPCE061A电压要求为3.3V,而I/O端口的电压可以选择3.3V也可以选择5V。所以,在板子上具有两种工作电压:5V和3.3V。对应的引脚中15、36和7必须为3.3V, 对于I/O端口的电压51、52、75可以为3.3V也可以是5V,这两种电平的选择通过跳线J5来选择。“61板”的供电电源系统采用用户多种选择方式:1、DC5V电池供电用户可以用3节电池来供电,5V直流电压直接通过SPY0029(相当于一般3.3V 稳压器)稳压到3.3V,为整个“61板”提供了4.5V和3.3V两种电平的电压。2、DC5V稳压源供电用户可以直接外接5V的直流稳

12、压源供电,5V电压再通过SPY0029稳压到3.3V。3、DC3V供电用户可以提供直流3.3V电压为实验板进行供电,此时整个板子只有3.3V电压,I/O端口电压此时只有一种选择。需要注意的是由于SPY0030最大输出电流为50mA,所以如果需要外接一些模组时要先考虑一下是否合适。2.2.5 外部复位复位是对“61板”内部的硬件初始化,“61板”本身具有上电复位功能,即只要一通电就自动复位,另外,还具有外部复位电路,即在引脚6上外加一个低电平就可令其复位。如中的REST按键。2.3 “61板”的检测2.3.1 主要测试部分1、I/O口(A口作为输入,B口作为输出);2、睡眠功能(进入睡眠状态,指

13、示灯点亮);3、A/D转换输入(B口的低7位作为模拟电压源输出,对应A口的7个通道采样转换);4、MIC输入及语音输出(同时实现A/D和D/A转换功能)2.3.2 “61板”检测的具体步骤(如图所示) 第一步、接上电源,可以连接2节或3节电池,也可以直接接5V的稳压源;第二步、用连线分别将I/OA口的低8位和IOB口的低8位相连,IOA口的高8位和IOB口的高8位相连,然后按下REST复位键(如所示);现象:当按下复位键后,程序从第一调开始运行开始执行,语音提示“欢迎进入自检模式”,当听到语音:“I/O测试成功”后,进行第三步操作;第三步、按K1键进行睡眠功能测试;现象:如果测试成功,会看到绿

14、色的发光二极管亮灭一下,并有语音提示“睡眠测试成功”,否则提示“睡眠测试失败”,然后进行第四步操作;第四步、按下K2键进行A/D转换的测试现象:语音提示:“A/D测试成功”,否则提示“A/D测试失败”,进入最后一步操作;第五步、拔掉第一步测试时的连接线,并按下K3键测试MIC输入及D/A转换输出是否正常;现象:可以在MIC上轻轻的拍几下,同时听是否有声音输出,如果有,则说明MIC输入和D/A转换输出部分正常。以上操作,只有当I/O测试成功时,按键才会有效。2.4 “61板”的编程第一步:硬件连接(如下图所示):1、电源连接,可接两节或三节电池,也可以直接接5V的稳压源;2、在线调试器(PROB

15、E)的连接如所示,一端接PC机25针并口,一端接“61板”的5pin接口J4;3、喇叭连接,直接接“61板”的J3。第二步:打开IDE,在安装路径下找到recode的代码并打开;第三步:下载程序:在主菜单buildStartDebugDownload并拔掉PROBE;第四步:现在“61板”就相当于一个复读机(最长为20秒);按K1,录音(record);按K2,停止(stop);按K3,放音(playback)。第一步同上,第二步:打开IDE,在安装路径下找到SPBELL并打开;第三步同上,第四步:现在你就拥有了一个能够语音播报的电子钟:按K1,年、月、日播报,如:“2003年5月7日”;再按

16、一下K1,时、分播报,如:“上午1点10分”;连续按K13秒钟,可以调整年、月、日、时、分;K2为up,K3为down如:连续按K1 3秒钟,报“2003年”;按K2,报“2004年”;再按K1切换到月:“5月”,按K2 up:“6月”,按K3相反“4月”,以此类推,按K1切换为日、时、分。第三章 SPCE061A的介绍3.1 SPCEO61A单片机概述随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推

17、出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,如图2所示。nSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。 nSP家族有以下特点:(1)体积小、集成度高、可

18、靠性好且易于扩展 nSP家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 图2 nSP家族的模块式结构 (2)具有较强的中断处理能力 nSP家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。 (3)高性能价格比 nSP家族片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。另外,nSP的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSP家族运用在复杂的数字信号处理方面既很便利,又比专用的D

19、SP芯片廉价。 (4)功能强、效率高的指令系统 nSP指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。(5)低功耗、低电压 。nSP家族采用CMOS制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。另外,nSP家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。 3.2 SPCEO61A单片机总述 SPCE061A 是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的

20、较少资源的需求以及便于程序调试等功能,SPCE061A里内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。 3.3 性能 (1) 16位nSP微处理器;(2) 工作电压:VDD为2.43.6V(cpu), VDDH为2.45.5V(I/O);(3) CPU时钟: 32768Hz49.152MHz ;(4) 内置2K字SRAM、内置32K FLASH;(5) 可编程音频处理;(6) 32位通用可编程输入/输出端口;(7) 327

21、68Hz实时时钟,锁相环PLL振荡器提供系统时钟信号;(8) 2个16位可编程定时器/计数器(可自动预置初始计数值);(9) 2个10位DAC(数-模转换)输出通道;(10) 7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器;(11) 声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能;(12) 系统处于备用状态下(时钟处于停止状态)耗电小于2A3.6V;(13) 14个中断源:定时器A / B,2个外部时钟源输入,时基,键唤醒等;(14) 具备触键唤醒的功能;(15) 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;(16)

22、具备异步、同步串行设备接口;(17) 具有低电压复位(LVR)功能和低电压监测(LVD)功能;(18) 内置在线仿真电路接口ICE(In- Circuit Emulator);(19) 具有保密能力;(20) 具有WatchDog功能(由具体型号决定)。3.4 结构概览SPCE061A的结构如图3所示:3.5 SPCE061A单片机硬件结构从SPCE061A的结构图可以看出SPCE061A的结构比较简单,在芯片内部集成了ICE仿真电路接口、FLASH程序存储器、SRAM数据存储器、通用I/O端口、定时器/计数器、中断控制、CPU时钟、模-数转换器A/D、DAC输出、通用异步串行输入输出接口、串

23、行输入输出接口、低电压监测/低电压复位等若干部分。各个部分之间存在着直接或间接的联系,将在下面介绍其结构及应用。 图3 SPCE061A的结构(1) nSP的内核结构nSP的内核结构由总线、算术逻辑运算单元、寄存器组、中断系统及堆栈等部分组成。算术逻辑运算单元ALUnSP的ALU在运算能力上很有特色,它不仅能做16位基本的算术逻辑运算,也能做带移位操作的16位算术逻辑运算,同时还能做用于数字信号处理的16位16位的乘法运算和内积运算。 16位算术逻辑运算不失一般性,nSP与大多数CPU类似,提供了基本的算术运算与逻辑操作指令,加、减、比较、取补、异或、或、与、测试、写入、读出等16位算术逻辑运

24、算及数据传送操作。 带移位操作的16位算术逻辑运算对图4稍加留意,就会发现nSP的ALU前面串接有一个移位器SHIFTER,也就是说,操作数在经过ALU的算逻操作前可先进行移位处理,然后再经ALU完成算逻运算操作。移位包括:算术右移、逻辑左移、逻辑右移、循环左移以及循环右移。所以,nSP的指令系统里专有一组复合式的移位算逻操作指令;此一条指令完成移位和算术逻辑操作两项功能。程序设计者可利用这些复合式的指令,撰写更精简的程序代码,进而增加程序代码密集度(Code Density)。在微控制器应用中,如何增加程序代码密集度是非常重要的议题;提高程序代码密集度意味着:减少程序代码的大小,进而减少RO

25、M或FLASH的需求,以此降低系统成本与增加执行效能。 用户寄存器SP:堆栈指针R1-R4:通用寄存器BP:基指针SR:段寄存器NZSG:4个标志位DS:数据段选择控制位PC:程序计数器SHIFTER:移位器ALU:算术逻辑单元ADDRGEN:地址编码器MUX:多路选择开关 16位16位的乘法运算和内积运算除了普通的16位的算逻运算指令外,nSP的指令系统还提供处理速度较高的16位16位的乘法运算指令Mul和内积运算指令Muls。二者都可以用于两个有符号数或一个有符号数与一个无符号数的运算。在ISA1.1指令集下,Mul指令只需花费12个时钟周期,Muls指令花费10n+6个时钟周期,其中n为

26、乘积求和的项数。例如:“MR=R2*R1 ,4”表示求4项乘积的和,Muls指令只需花费46(104+6=46)个时钟周期。这两条指令为nSP应用于复杂的数字信号处理运算方面提供了便利的条件。(2) 寄存器组nSP的CPU寄存器组里有8个16位寄存器,可分为通用型寄存器和专用型寄存器两大类别。通用型寄存器包括:R1R4,作为算术逻辑运算的源及目标寄存器。专用型寄存器包括SP、BP、SR、PC,是与CPU特定用途相关的寄存器。 通用型寄存器R1R4通常可分别用于数据运算或传送的源及目标寄存器。而寄存器R4、R3配对使用还可组成一个32位的乘法结果寄存器MR;其中R4为结果的高字组,R3为结果的低

27、字组,用于存放乘法运算或内积运算结果。 堆栈指针寄存器SPSP是在CPU执行压栈/出栈指令(push/pop)、子程序调用/返回指令(call/retf)以及进入中断服务子程序(ISR,Interrupt Service Routine) 或从ISR返回指令(reti)时自动减少(压栈)或增加(弹栈),以示堆栈指针的移动。堆栈的最大容量范围限制在2K字的RAM内,即地址为0x0000000x0007FF的存储器范围中。 基址指针寄存器BPnSP提供了一种方便的寻址方式,即变址寻址方式BP+IM6;程序设计者可通过它直接存取ROM与RAM中的各种数据,包括:局部变量(Local Variable

28、)、函数参数(Function Parameter)、返回地址(Return Address)等等;这在C语言程序中是特别有用的。BP除了上述用途外,也可作为通用寄存器R5用于数据运算或传送的源及目标寄存器。因此,在本书或程序中,BP与R5是共享的,均代表基址指针寄存器。 段寄存器SR有多种功能用途,SR中有代码段选择字段(CS)和数据段选择字段(DS),它们可分别与其它16位的寄存器合在一起形成22位地址线,用来寻址4M字容量的存储器。(注意: SPCE061A只有32K字闪存,占一页存储空间,所以代码段选择字段(CS)和数据段选择字段(DS) 在SPCE061A不用)。算逻运算结果的各标志

29、位NZSC亦储存于其中,即SR中间的4位(B6B9)。CPU在执行条件/无条件短跳转指令(JUMP)时需测试这些标志位以控制程序的流向。这些标志位的内容是:进位标志CC=0时表示运算过程中无进位或有借位产生,而C=1表示运算过程中有进位或无借位产生。在无符号数运算中,16位数可以表示的数值范围是0x00000xFFFF,即065535。如果运算结果大于65535(0xFFFF),则标志位C被置1。请注意:标识位C一般用于无符号数运算的进、借位判断。零标志ZZ=0时表示运算结果不为0,Z=1时表运算结果为0。负标志N标志位N是用来判断运算结果的最高位(B15)为0还是为1。B15=0则N=0;

30、B15=1则N=1。符号标志SS=0时表示运算结果不为负,S=1时则表示运算结果(在二进制补码的规则下)为负。对于有符号数运算,16位数所表示的数值范围是为0x80000x7FFF,即-3276832767。若运算结果小于零,则标志位S置1。有符号数运算的运算结果可能会大于0x7FFF或小于0x8000。比如:0x7FFF+0x7FFF=0xFFFE(65534),运算结果为正(S=0),且无进位(C=0)发生;在此情况下,标志位N被置1(因为最高有效位为1)。若标志位N和S不同,则说明有溢出发生,即:S=0,N=1或S=1,N=0。例如当为有符号数时,可判断正负。而JVC(N=S),JVS(N!=S)则可用来判断overflow。请注意:N,S的组合用于有符号数溢出的判断。这里,需特别提醒注意:在运算操作过程中,若目标寄存器是PC,则所有标志位均不会受到影响。总结:1 由于补码可以把有符号数与无符号数的运算统一起来,所以对于同一条加法或减法指令,既可以认为是有符号数运算又可以认为是无符号数运算,只是观察的角度、判断的标准不同而已。2 标识位C一般用于无符号数运算的进、借位判断。3 N,S的组合用于有符号数溢出的判断。4 有符号数的范围为-32768

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2