aspmaker-10000号管家

提示音快捷指令
2023年4月6日发(作者:风冷散热器)

哈尔滨工业大学本科毕业设计开题报告

1

创新研修课程报告

题目:基于凌阳61单片机的语音控制小车

院(系)电气工程及自动化学院

专业测控技术与仪器

学生卢俊霖、王子龙

学号1100100416、1100100414

班号1001102、1001104

指导教师胡瑞强

报告日期2014.05

哈尔滨工业大学本科毕业设计开题报告

2

一.引言

语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码

和解码,语音的识别等各种处理技术。做这方面的设计,一般有两个途径:一种方案是单片机

扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过

程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,像ISD系列、

PM50系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是

不可能的。

SPCE061A是一种16位μ'nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、

内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz。

SPCE061A内嵌32K字的FLASH程序存储器以及2K的SRAM。同时该SOC芯片具有ADC和DAC功能,

其MIC_ADC通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路10位

的电流输出型DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得

该SPCE061A能够单芯片实现语音处理功能。

借助于SPCE061A的语音特色,我们设计出了这款语音控制小车。小车不仅具有前进、后退、

左转、右转停车等基本功能;同时配合SPCE061A的语音特色,实现语音控制功能。

二.SPCE061A简介

2.1总体介绍

SPCE061A是一种十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有

8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录

入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音

的播放。另外十六位单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支

持标准C语言编程,也支持C语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只

要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供

哈尔滨工业大学本科毕业设计开题报告

3

了方便的条件。SPCE061是一款拥有2KRAM、32KFlash、32个I/O口,并集成了AD/DA功能强大

的16位微处理器,它还拥有丰富的语音处理功能,为小车的功能扩展提供了相当大的空间。只

要按照该单片机的要求对其编制程序就可以实现很多不同的功能。

2.2SPCE061A特性

1)位μ’nSP微处理器;

2)工作电压:内核工作电压VDD为3.0V~3.6V,I/O口工作电压VDDH为VDD~5.5V;

3)时钟:0.32MHz~49.152MHz;

4)内置2K字SRAM;

5)内置32K闪存ROM;

6)可编程音频处理;

7)晶体振荡器;

8)系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;

9)个16位可编程定时器/计数器(可自动预置初始计数值);

10)个10位DAC(数-模转换)输出通道;

11)位通用可编程输入/输出端口;

12)个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;

13)具备触键唤醒的功能;

14)使用音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;

15)锁相环PLL振荡器提供系统时钟信号;

16)实时时钟;

17)通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;

18)声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;

19)具备串行设备接口;

20)低电压复位(LVR)功和低电压监测(LVD)功能。

哈尔滨工业大学本科毕业设计开题报告

4

2.3SPCE061A结构

SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输

入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较

高的处理速度使其能够快速的处理复杂的数字信号。图2.1为其结构概览:

图2.1SPCE061A单片机结构概览

2.4精简开发板——61板

“61板”是SPCE061AEMUBOARD的简称,是以凌阳16位单片机SPCE061A为核心的精简开发

-仿真-实验板,大小相当于一张扑克牌。“61板”除了具备单片机最小系统电路外,还包括

有电源电路、复位电路、ICE电路、音频电路(含MIC输入部分和DAC音频输出部分)等,“61

板”可以采用电池供电。图2-2所示为该精简开发板的实物图:

哈尔滨工业大学本科毕业设计开题报告

5

图2.261板实物图

三.系统硬件设计

小车驱动电机一般利用现成的玩具小车上的配套直流电机。考虑到小车必须能够前进、倒

退、停止,并能灵活转向,在左右两轮各装一个电机分别进行驱动。当左轮电机转速高于右轮

电机转速时小车向右转,反之则向左转。为了能控制车轮的转速,可以采取PWM调速法,即

由单片机的IOB8、IOB9输出一系列频率固定的方波,再通过功率放大来驱动电机,在单片机中

编程改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。左

右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。

3.1车体介绍

语音控制小车为四轮结构,如图3-1所示。其中前面两个车轮由前轮电机控制,在连杆和

支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保

持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力。所以又称前面的轮子为方

哈尔滨工业大学本科毕业设计开题报告

6

向轮,后面的两个轮子为驱动轮,如图3-2所示。

图3-1车体侧视图

图3-2车体顶视图

3.2小车的行走原理

直走:由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后

轮电机正转小车就会前进。如图3-3所示;

倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车

就会向后运动,如图3-4所示;

左转:前轮电机逆时针旋转(规定为正转),后轮电机正转,这时小车就会在前后轮共同

作用下朝左侧前进,如图3-5所示;

哈尔滨工业大学本科毕业设计开题报告

7

右转:前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进,

如图3-6所示。

图3-3小车前进原理图图3-4小车倒车示意图

图3-5小车左转示意图图3-6小车右转示意图

哈尔滨工业大学本科毕业设计开题报告

8

3.3系统硬件方案

系统的结构框图如图3-7所示:

图3-7系统结构框图

系统组成主要包括以下两部分:SPCE061A精简开发板、语音小车控制电路板。

图中的语音输入部分MIC_IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了

精简开发板——61板上,为我们使用提供了很大的方便。在电机的驱动方面,采用全桥驱动技

术,利用四个I/O端口分为两组分别实现两个电机的正传、反转和停三态运行。

3.4控制板原理图

控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如图3-8所示:

接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电

机需要的IOB8~IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12~IOB15以及

IOA8~IOA15接口,可以在这些接口上添加一些传感器。

电源部分:整个小车有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板

的I/O输出电源。系统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1

哈尔滨工业大学本科毕业设计开题报告

9

后产生61板电源(VCC_61),通过61板的Vio跳线产生61板的端口电源(V1)。

二极管D1作用:

1.降压,4节电池提供的电压VCC最大可达到6V,D1可有效地降压。

2.2.保护,D1可以防止电源接反烧坏61板。

图3-8控制板原理图

哈尔滨工业大学本科毕业设计开题报告

10

四.系统软件设计

4.1系统的总体程序流程

系统的总体程序流程如图4-1所示:

图4-1系统总体程序流程图

语音识别小车的主程序流程如图4-1所示,分为四大部分:初始化部分、训练部分、识别部

分、重训操作。

初始化部分:初始化操作将IOB8~IOB11设置为输出端,用以控制电机。必要时还要有对应

的输入端设置和PWM端口设置等。

训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,

如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到Flash,在以

后使用时不需要重新训练;如果已经训练过会把存储在Flash中的模型调出来装载到辨识器中。

哈尔滨工业大学本科毕业设计开题报告

11

识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然

后等待动作命令。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过

程中可以通过呼叫小车的名字使小车停下来。

重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61板的KEY3),循环扫描

该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000单元),并等待复位。复位后,

程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。

4.2语音识别的原理

语音识别主要分为“训练”和“识别”两个阶段。在训练阶段,单片机对采集到的语音样本进

行分析处理,从中提取出语音特征信息,建立一个特征模型;在识别阶段,单片机对采集到的

语音样本也进行类似的分析处理,提取出语音的特征信息,然后将这个特征信息模型与已有的

特征模型进行对比,如果二者达到了一定的匹配度,则输入的语音被识别。

语音识别的具体流程如图4-2所示:

图4-2语音识别流程说明框图

哈尔滨工业大学本科毕业设计开题报告

12

五.连接与操作说明

5.1硬件连接

语音控制小车电路包括两大部分:61板部分和控制板部分,主要用到SPCE061A的

IOB8~IOB11来控制小车的状态。

电源部分连接:电池电源直接接控制板电源接口J1,J2接61板的电源,连接时注意电源

极性。

61板和控制板的I/O连接有两种情况:

采用I/O排针向下的61板,直接将61板和控制板扣接在一起即可,61板的IOBH通过J6与控

制电路连通;

采用I/O排针向上的61板,直接用排线将61板的IOBH和J5相连接即可。

图5-1为硬件模块连线图。

图5-1硬件模块连线图

5.2功能说明

1.小车运动控制:

通过SPCE061A的I/O端口,驱动控制板的H桥电路,进而控制前轮电机和后轮电机。

哈尔滨工业大学本科毕业设计开题报告

13

2.声控功能:

利用特定人语音识别实现小车的名称和动作训练,并根据相应的语音指令输入执行前进、

后退、左转、右转、停车等动作。

3.定时控制功能:

利用时基定时器设定运行时间,小车运行同时启动定时器,时间到小车停止运行。

5.3代码下载

硬件连接完成之后,检查无误,接下来就可以下载程序了。具体的步骤为:

第一步:打开集成开发环境,打开“”文件,编译链接。(注意:如果看不到

,请在弹出的对话框中选择打开类型为spj或者所有文件)

第二步:点击菜单Project->SelectBody,或者直接点击图标打开如图5-2所示的对

话框:

图5-3SelectBody对话框

第三步:在弹出的对话框中选择BodyName为SPCE060A_061A,选择Probe为Auto,点击

OK按钮确定。

第四步:点击IDE工具栏上的图标选择UseICE模式。

第五步:按F8快捷下载按钮,下载代码。

5.4训练小车

成功下载程序以后,去掉下载线并复位系统(如果使用EZ-Probe还应将Probe选择跳线S5

拔去),小车就会提示对它进行训练。训练采用应答式训练,每条指令的训练次数为两次,每

哈尔滨工业大学本科毕业设计开题报告

14

一条命令的训练过程都是一样的,以“前进”为例说明:

步骤一:小车提示“前进”;

步骤二:告诉小车“前进”;

步骤三:小车提示“请再说一遍”(重复训练提示音);

步骤四:再次告诉小车“前进”(重复训练一次)。

这是一个完整的训练过程,如果训练成功,小车会自动进入下一条指令的训练,并会提示

下一条指令对应的动作;如果没有训练成功,小车会提示“说什么暗语呀”或者“没有听到任何

声音”等信息,这样的话就要重复刚才所说的四个步骤,直到成功为止。

整个的训练过程共有5次这样的训练,依次为:名称——前进——后退——左拐

——右拐。整个的训练流程如图5-4所示:

图5-4小车训练流程

哈尔滨工业大学本科毕业设计开题报告

15

5.5声控小车

训练完小车之后,怎样进行声控操作,让小车运动或者停下来呢?

可以直接对小车说前进,或者倒车、左拐、右拐等,小车如果识别出指令会有一个回应信

号,告知你它要执行的动作,然后执行该动作。如果想要小车执行其它动作,直接告诉小车将

要执行动作对应的指令即可。比如在前进时告诉小车“倒车”,小车识别出之后就会直接倒车。

如果在小车运动的过程中想要小车停下来,可以直接呼叫小车的名字,小车准确识别之后

就会停下来。

5.6重新训练

在实际的使用过程当中,可能会对训练的结果不满意,或者其他人也想对它进行训练、控

制。这样就要求小车可以被重新训练。为此,我们把61板的KEY3键定义为重新训练按钮,系

统运行之后就会不断的扫描61板的KEY3键。如果检测到KEY3键按下,那么程序首先会把训

练标志位(0xe000)单元擦除,并会进入一个死循环等待复位的到来。复位到来之后,程序检

测到训练标志单元内容为0xffff,认为小车没有经过训练,就会要求对它进行训练。

六.总结

本设计综合应用了SPCE061A丰富的软硬件资源,成功的实现了语音控制功能。下面简单的

介绍一下实际应用中的一些资源优势:在硬件方面,较高的执行速度、内置的硬件乘法器、ADC

和DAC功能、内置的AGC自动增益环节,这些为语音处理提供了强大基础。在软件方面,标准

的C语言编程,丰富的语音资源函数为编程提供了很大的方便。

该设计方案结构简单,以单芯片实现了语音播放与识别以及电机控制功能,相当于“语音

识别芯片+普通单片机”的功能。但是比“语音识别芯片+普通单片机”方案实现起来要简单很多,

而且成本也会降低很多。

该语音控制小车操作比较简单,训练和识别成功的几率也比较高,是一个典型的语音识别

应用方案。

更多推荐

提示音快捷指令