为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

多功能语音控制小车

2012-04-02 17页 pdf 785KB 53阅读

用户头像

is_507801

暂无简介

举报
多功能语音控制小车 北京北阳电子技术有限公司 电子竞赛 —多功能语音控制小车 Electron-competition Specification Technology for Easy Life http://www.unsp.com.cn 2 历届全国大学生电子竞赛 SPCE061A 实现方案 目录 多功能语音控制小车 .............................
多功能语音控制小车
北京北阳电子技术有限公司 电子竞赛 —多功能语音控制小车 Electron-competition Specification Technology for Easy Life http://www.unsp.com.cn 2 历届全国大学生电子竞赛 SPCE061A 实现 目录 多功能语音控制小车 .........................................................................................................3 摘要 ..............................................................................................................................3 SPCE061A 单片机概述 ................................................................................................3 一、方案与论证 ...................................................................................................4 二、硬件电路设计 .......................................................................................................5 2.1 电路方框图及说明............................................................................................5 2.2.1 光电检测电路电路 ..................................................................................6 2.2.2 继电器驱动电路的设计 ..........................................................................6 2.2.3 行使状态控制电路的设计 ......................................................................7 2.2.3 路程计数的设计......................................................................................8 2.2.4 显示电路 .................................................................................................8 2.2.5 麦克录音输入及 AGC 电路 ....................................................................9 2.2.6 语音播报电路 ....................................................................................... 10 三、软件设计 ............................................................................................................. 12 3.1 软件流程图及设计思路说明 .......................................................................... 12 3.2 模块设计 ......................................................................................................... 13 3.2.1 中断服务流程图部分 ............................................................................ 13 3.2.2 显示和播报部分.................................................................................... 14 3.2.3 语音辨识部分 ....................................................................................... 15 四、系统测试及整机指标 .......................................................................................... 17 五、总结 ..................................................................................................................... 17 六、参考资料 ............................................................................................................. 17 Technology for Easy Life http://www.unsp.com.cn 3 历届全国大学生电子竞赛 SPCE061A 实现方案 多功能语音控制小车 摘要 关键词: SPCE061A 单片机 ,语音辨识,光电传感器 摘要: 随着电子业的发展,自动化已不再是一个新鲜的话题,无人驾驶的小汽车也必将 进入实用阶段,本系统模拟将来的智能小车。根据开始录制的语音命令来控制启动、 停止、返回和语音模,并且能自动避开障碍物,进行前行和倒退。利用光电检测器检 测道路上的障碍物,控制电动小汽车行使状态,并自动记录往返距离,在整个行程中 如果遇到正前方的障碍物将倒退一段距离后拐弯正向前行。 SPCE061A单片机概述 SPCE061A是继µ’nSP系列产品 SPCE500A等之后凌阳科技推出的又一个 16位结构 的微控制器。目前有两种封装形式:84 引脚的 PLCC84 封装和 80 引脚的 LQFP80 贴 片封装。 主要性能如下: ■16 位µ’nSP 微处理器; ■工作电压:VDD 为 2.4~3.6V(cpu), VDDH 为 2.4~5.5V(I/O); ■CPU 时钟: 32768Hz~49.152MHz ; ■内置 2K 字 SRAM、内置 32K FLASH; ■可编程音频处理; ■32 位通用可编程输入/输出端口; ■32768Hz 实时时钟,锁相环 PLL 振荡器提供系统时钟信号; ■2 个 16 位可编程定时器/计数器(可自动预置初始计数值); ■2 个 10 位 DAC(数-模转换)输出通道; ■7 通道 10 位电压模-数转换器(ADC)和单通道语音模-数转换器; ■声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能; ■系统处于备用状态下(时钟处于停止状态)耗电小于 2µA@3.6V; ■14 个中断源:定时器 A / B,2 个外部时钟源输入,时基,键唤醒等; ■具备触键唤醒的功能; ■使用凌阳音频编码 SACM_S240 方式(2.4K 位/秒),能容纳 210 秒的语音数据; ■具备异步、同步串行设备接口; Technology for Easy Life http://www.unsp.com.cn 4 历届全国大学生电子竞赛 SPCE061A 实现方案 ■具有低电压复位(LVR)功能和低电压监测(LVD)功能; ■内置在线仿真电路接口 ICE(In- Circuit Emulator); ■具有保密能力; ■具有 WatchDog 功能(由具体型号决定) 一、方案设计与论证 本系统为典型的实时控制系统,易用单片机控制来实现,这里以凌阳 SPCE061A 单片机为主控元件,提出两种设计方案。 方案一: 采用凌阳 SPCE061A 十六位单片机,对小车的整个行驶过程进行实时监控,完 成所有功能需要 24 个 I/O 口,由于凌阳 SPCE061A 单片机提供 32 个 I/O 口,一片 即可实现所有功能,这为设计过程提供了极大方便。其主要设计思想是:小车上, 安装一个霍尔元件利用单片机的 IOB3 外部中断判别轮胎转数的结果用以计算路 程;安装三个检测障碍物的光电检测器和一个碰撞开关,利用 IOB4、IOB5、IOB6 用扫描的方式来控制拐弯和返回;利用单片机的 IOB8-IOB13 控制继电器选择小车 的正、反向和加、减速行驶;凌阳 SPCE061A 十六位单片机提供了丰富的时基信源 和时基中断,给设计者以大量的选择空间,并给设计者提供精确的时基计数,其 加减速通过大功率电阻消耗功率来实现。整体框架如图 1,这种方案可以使程序 简单,易于控制。 方案二: 此方案也采用凌阳 SPCE061A 十六位单片机,与第一种方案不同之处在于利用 单片机的 IOB8 、IOB9 产生控制调速的脉宽和控制小车的正、反行驶,用凌阳 SPCE061A 十六位单片机的 TimeA 和 TimeB 很容易实现脉宽调制,这大大加强了用 脉宽调制控制加减速的可选性,但对继电器要求较高,这里考虑到大众化设计, 采用第一个方案。 Technology for Easy Life http://www.unsp.com.cn 5 历届全国大学生电子竞赛 SPCE061A 实现方案 二、硬件电路设计 2.1 电路方框图及说明 系统原理框图如图 1 所示。主控元件采用凌阳 SPCE061A 单片机,属于凌阳 u’ nSP™ 系列产品的一个 16 位结构的微控制器。在存储器资源方面考虑到用户的较 少资源的需求以及便于程序调试等功能,SPCE061A 里只内嵌 32K 字的闪存 (FLASH),但用在此系统上已经绰绰有余。较高的处理速度使 u’nSP™ 能够非常 容易地、快速地处理复杂的数字信号。因此以 u’nSP™ 为核心的 SPCE061A 微控制 器也适用在数字语音识别应用领域。SPCE061A 在 2.6V~3.6V 工作电压范围内的工 作速度范围为 0.32MHz~49.152MHz,较高的工作速度使其应用领域更加拓宽。2K 字 SRAM 和 32K 字 FLASH 仅占一页存储空间,32 位可编程的多功能 I/O 端口;两个 16 位定时器/计数器;32768Hz 实时时钟;低电压复位/监测功能;8 通道 10 位模- 数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道 10 位 DAC 方式的音频输出功能,这就为本系统的特定人辨识和语音播报打下了基础。 2.2 各部分电路设计 Technology for Easy Life http://www.unsp.com.cn 6 历届全国大学生电子竞赛 SPCE061A 实现方案 2.2.1 光电检测电路电路 为了确定障碍物,加入障碍物检测的光电传感器,根据小车所处的位置改变 行驶状态,所使用的光电传感器为市场上普通的光电传感器,再没检测到障碍物 时 Uo 输出为低电平,在检测到障碍物时 Uo 将与传感器内部电路断开,因而加一 个上拉电阻,如图 2 所示,此时将输出高电平。在检测障碍物的过程中采用查询 方式。 2.2.2 继电器驱动电路的设计 R1 1k 1 2 J1 RELAY 1NO 8050 NPN 2 1 3 D1 DIODE 1 2 VCC_BAR 由于单片机 I/O 口提供的电流太小,不能直接驱动继电器。在这里采用 8050 来提供一个开关电压,实现 I/O 口对继电器的驱动,用 IN4007 去掉继 电器断开时线圈产生的反向电流,保护 8050。如图 3。 图 3 Technology for Easy Life http://www.unsp.com.cn 7 历届全国大学生电子竞赛 SPCE061A 实现方案 2.2.3 行使状态控制电路的设计 如图 4 所示为行使状态控制电路,整个小车的行驶状态由两个电机来控制, MOTOR B 控制左拐和右拐,MOTOR A 控制前进、倒退以及三挡速度。具体控制如 1 所示。 D6 8050 V5 V9RE5 R-2NO RE1 R-2NO Q3 NPN 2 1 3 J2 CON2 1 2 1 2 R3 1k 1 2 M MO2 MOTOR B J1 CON2 1 2 1 2 Q2 NPN 2 1 3 J3 CON6 1 2 3 4 5 6 1 2 3 4 5 6 RE3 R-2NO V5 V5 R2 1k 1 2 R7 5K 1 3 2 M MO1 MOTOR A V5 R1 1k 1 2 D5 8050 R6 1k 1 2 V5 D4 8050 Q6 NPN 2 1 3 RE2 R-2NO R8 5K 1 3 2 V9 Q5 NPN 2 1 3 D3 8050 V5 R5 1k 1 2 D2 8050 V5 Q4 NPN 2 1 3R4 1k 1 2 RE4 R-2NO D1 8050 V9 RE6 R-2NO J4 CON2 1 2 1 2 J5 CON2 1 2 1 2 V9 Q1 NPN 2 1 3 V9 M O T2 - M O T1 - MOT2+ IO A2 IOB10 IO A1 IO A5 MOT2- IOB11 MOT1+ IO A0 IOB12 MOT1- IO A4 M O T2 + IOB8 IO A3 M O T1 + IOB9 IOB13 图 4 行使状态控制电路 表一: 行驶状态 IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 全速前进 1 0 1 1 0 0 中速前进 1 0 1 0 0 0 慢速前进 1 0 0 0 0 0 左拐 1 0 0 0 1 0 右拐 1 0 0 0 0 1 Technology for Easy Life http://www.unsp.com.cn 8 历届全国大学生电子竞赛 SPCE061A 实现方案 全速倒退 0 1 1 1 0 0 中速倒退 0 1 1 0 0 0 慢速倒退 0 1 0 0 0 0 倒退左拐 0 1 0 0 1 0 倒退右拐 0 1 0 0 0 1 2.2.3 路程计数的设计 通过检测车轮转过的转数乘上车轮的周长来计算路程,霍尔元件就是一种 很好的可用于车轮转数计数的元件。在普通转盘计数的仪表中加装霍尔元件和 磁铁,即可构成基于磁电转换技术的传感器。霍尔元件固定安装在计数转盘附 近,永磁铁安装在计数盘位上,当转盘每转一圈,永磁铁经过霍尔元件一次即 在信号端产生一个计量脉冲。由于霍尔电压很微弱(mV 级),需用霍尔集成电路 进行处理,如图 4 所示。无论信号转子的哪个叶片通过空气间隙时,霍尔信号 发生器都将产生一个电位由高到低的脉冲信号直接送 IOB3 作外部中断源,信号 转子通过霍尔元件将产生一个中断,此中断的个数即为车轮转过的转数。 图 5 2.2.4 显示电路 采用共阴极数码管 LG5641AH 进行动态显示,LG5641AH 具有四位数码管,这四 个数码管的段选 a、b、c、d、e、f、g 分别接在一起,每一个都拥有一个共阴的 位选端,通过动态显示可轮流显示时间和路程,这有利于节省 I/O 口。系统显示 时间的精度为 1S,显示路程的精度为 0.01m。用 IOB8—IOB11 口作为位选控制, IOA8—IOA11 口传输要显示的数据,数据线和位选线直接接凌阳 SPCE061A 单片机 的 I/O 口即可,因为 I/O 口输出电流很小不会对 LED 造成损坏,它的电压值却足 以驱动 LED,这不像别的单片机还要外接驱动电路和电阻,采用凌阳 SPCE061A 单 片机大大减化了设计过程和硬件电路。 Technology for Easy Life http://www.unsp.com.cn 9 历届全国大学生电子竞赛 SPCE061A 实现方案 R1 1K C13 224 R6 10K R8 3K R5 10K MIC + C2 4.7u C11 224 X1 MICROPHONE 1 2 R3 470K R4 3K + C6 22u C12 104 C16 502 R7 5.1K + + C1 220u C9 104 IO A 12 IO A 14 IO B 9 IO B 8 IO A 9 IO B 10 IO A 11 IO A 13 IO B 11 IO A 10 IO A 8 A V S S 1 AVSS1 A V S S 1 MICP MICN AVSS1 MICOUT AVSS1 VCM AGC VMIC OPI LED5641A U10 13 9 4 2 1 12 5 3 8 14 11 7 10 6 A + B + C + D + E + F+ G + D P + D D + C O M 1- C O M 2- D D - C O M 3- C O M 4- 图 6 2.2.5 麦克录音输入及 AGC 电路 麦克风电路如图 4 所示。凌阳的 SPCE061A 是 16 位单片机,具有 DSP 功能, 有很强的信息处理能力,最高时钟可达到 49M,具备运算速度高的优势等等,这 为语音的播放、录放、合成及辨识提供了条件。本系统接入 MIC 电路如图所示, MIC 为录制语音辨识命令服务。 图 7 下图是简化的语音识别原理图,其中实线部分成为训练模块,虚线部分为识别模 块。辨认特定的使用者即特定语者(Speaker Dependent,SD)模式,使用者可针对特定 语者辨认词汇(可由使用者自行定义,如人名声控拨号),即在启动小车前,系统将会 提示输入语音命令作简单快速的训练纪录,在这里输入“启动”“停止”“返回”和 “模式切换”四个语音命令,通过使用者的声音特性来加以辨认。随着技术的成熟, 进入语音适应阶段 SA(speaker adaptation),使用者只要对于语音辨识核心,经过一段 时间的口音训练后,即可拥有不错的辨识率。 Technology for Easy Life http://www.unsp.com.cn 10 历届全国大学生电子竞赛 SPCE061A 实现方案 复杂声 学、言 语条件 下的语 音输入 语音模型声学模式训练 语音匹配 语音模式训练 语音处理 识别结果,理 解结果 语言模型 图 8 2.2.6 语音播报电路 音频部分的原理图如下所示,在图 9 中可以看到两个跳线,其作用在于可以测量 DAC 的输出波形;另外拔掉跳线,可以断开 DAC 到喇叭放大的通路,使得 DAC 通道 处于开路状态。这样便于用 DAC 做其他用途,用户可以用过这个跳线来加入自己的外 围电路。 凌阳音频压缩算法根据不同的压缩比分为以下几种 (具体可参见语音压缩工具一 节内容): SACM-A2000:压缩比为 8:1,8:1.25,8:1.5 SACM-S480: 压缩比为 80:3,80:4.5 SACM-S240: 压缩比为 80:1.5 按音质排序:A2000>S480>S240 用凌阳 Compress Tool 事先把所需要的语音信号录制好,本系统共包括十多个语 音资源,整个语音信号经凌阳 SACM_S480 压缩算法压缩只占有 13.2K 存储空间, SPCE061A 单片机具有 32k 闪存,使用内部 flash 即可满足要求。凌阳 SPCE061A 单片 机自带双通道 DAC 音频输出, DAC1、DAC2 转换输出的模拟量电流信号分别通过 AUD1 和 AUD2 管脚输出, DAC 输出为电流型输出,所以 DAC 输出经过 SPY0030 音频放大,以驱动喇叭放音,放大电路如图 9(只列出了 DAC1,DAC2 类似),这为单片 机的音频设计提供了极大方便。在它们后面接一个简单的音频放大电路和喇叭即可实 现语音播报功能,音频的具体功能主要通过程序来实现。 Technology for Easy Life http://www.unsp.com.cn 11 历届全国大学生电子竞赛 SPCE061A 实现方案 + C21 100u + - U2 SPY0030 5 4 6 1 2 8 3 7 SPH C26 104 SPL DAC J3 SPEAKER 1 2 J2 CON3 1 2 3 R9 1K 1 3 2 C20 104 R10 1K C23 224 C25 104 AVSS2 VSS D A C 图 9 音频放大电路 Technology for Easy Life http://www.unsp.com.cn 12 历届全国大学生电子竞赛 SPCE061A 实现方案 开始 语音命令 训练 语音启动 命令 语音切换命令 等待语音 命令 扫描IOB4、 IOB5和IOB6 进行拐弯 和返回处 理 Y N N 三、软件设计 3.1 软件流程图及设计思路说明 Technology for Easy Life http://www.unsp.com.cn 13 历届全国大学生电子竞赛 SPCE061A 实现方案 开IRQ3和 IRQ4 是IRQ3中断吗 寄存器压栈 保护 是IRQ3_EXT1中断吗 是IRQ3_EXT2中断吗 车轮转速加 一 清中断标志 位 寄存器组出 栈 中断返回 清中断标志 位 清中断标志 位 Y N Y N 3.2 模块设计 3.2.1 中断服务流程图部分 SPCE061 单片机有两个外部中断,分别为 EXT1 和 EXT2,两个外部输入脚分别为 B 口的 IOB2 和 IOB3 的复用脚。EXT1(IOB2)和 EXT2(IOB3)两条外部中断请求输 入线,用于输入两个外部中断源的中断请求信号,并允许外部中断以负跳沿触发方式 来输入中断请求信号。EXT1(IOB2)为黑线检测,确定小车位置,EXT2(IOB3)为 轮子转数检测用于计算路程。IRQ4 用做整个行程的时间计数。 Technology for Easy Life http://www.unsp.com.cn 14 历届全国大学生电子竞赛 SPCE061A 实现方案 初始发 获取显示数 据 显示单个LED 延时子程序 延时完成吗 结束 Y N 显示的是第四个吗 每个LED显示了500遍吗 LED位选加一 Y N 初始发 获取所需音 数据 SACM_S480初 始发 开始播放 全部播放完吗 结束 Y N 图 13 3.2.2 显示和播报部分 当收到三次辨识循环,小车停止,进行路程的显示和拨报,路程的显示采用动态显示, 显示路程,采用四位显示单位为厘米,显示子程序流,程图如图 12,显示的同时会有语音 播报时间和路程,语音采用凌阳 SACM_S480 语音播报,流程图如图 13。 Technology for Easy Life http://www.unsp.com.cn 15 历届全国大学生电子竞赛 SPCE061A 实现方案 图 12 3.2.3 语音辨识部分 在这里我们用的是 SPCE061 的特定语者辨识 SD(Speaker Dependent),SD 即语 音样板由单个人训练,也只能识别训练某人的语音命令,而他人的命令识别率较低或 几乎不能识别。 图 14 是语音辨识的一个整体框图: 辨识部分 初始化 BSR_DeleteSDG roup(0) 辨识处理 BSR_GetResult () 启动实时监控 BSR_EnableCPU Indicator() 调用训练模块 TrainWord(int WordID, int RespondID) 初始化识别器 BSR_InitRecogni zer(BSR_MIC) 图 14 在程序中我们通过四条语句的训练演示特定人连续音识别,其中第一条语句为 触发名称。另外三条为命令,训练完毕开始辨识当识别出触发名称后,开始发布 命令,则会听到自己设置的应答,具体流程图如图 15 Technology for Easy Life http://www.unsp.com.cn 16 历届全国大学生电子竞赛 SPCE061A 实现方案 Technology for Easy Life http://www.unsp.com.cn 17 历届全国大学生电子竞赛 SPCE061A 实现方案 图 15 四、系统测试及整机指标 本系统经测试运行效果良好,达到了预期的目的,语音控制和音频播放带给人耳 目一新的感觉。为了更好的实现语音辨识,本系统机械性能要求较高,噪声不能太大, 行使速度不宜太快。 五、总结 系统用凌阳 SPCE061A 十六位单片机实现。内部集成了 2K 字的 RAM、32K 字的 Flash 加上用凌阳 SPCE061A 十六位单片机实现不需要外扩程序存储器和 RAM,也不用 外接语音芯片,即可实现语音辨识和一系列职能动作,。由于采用了高性能的 MCU, 省掉了大量的外围器件,如外扩 RAM、ROM 存储器等,使硬件结构大大简化,提高 了系统的可靠性。他的软件编程采用 C 和汇编混合编程来实现,集两种语言之优点于 一体,它们的完美结合极大限度地简化了编程过程,丰富了编程思想,给开发者带来 了莫大的方便。采用别的单片机实现所有功能一般要两个单片机,硬件电路也更加复 杂。若要实现语音播报功能和语音辨识,不是多用几个别的类型的单片机就可实现的, 而凌阳单片机提供了很好的语音播放和录制机制以及简单的 API 接口编程。使用 SPCE061A 开发产品不仅给开发者耳目一新的感觉更给用户以振奋的性能。 六、参考资料 参考文献:《SPCE061A 单片机原理及其应用技术》《DSP 理论基础于应用技术》 参考网站:www.21ic.com www.unsp.com.cn
/
本文档为【多功能语音控制小车】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索