文档库 最新最全的文档下载
当前位置:文档库 › 基于凌阳单片机语音控制小车

基于凌阳单片机语音控制小车

基于凌阳单片机语音控制小车
基于凌阳单片机语音控制小车

基于凌阳61单片机的语音机器人设计

. 实习目的与意义

1.1 实习任务

设计并制作一个智能小车,并具备语音遥控的功能

1.2 基本要求

(1)、智能小车主控芯片任选一款单片机:AT89S52或SPCE061A;(2)、人工遥控小车发车(语音遥控);

(3)、能够识别语音控制的转弯,前进与后退,以及实现再训练功能。1.3 实习意义

通过智能小车的设计及制作,巩固并掌握IDE2.0的编程方法,学会利用单片机进行程序设计并实现功能。通过在小车的设计与制作,将所学的知识体现出来,并应用于实际生活中,在设计过程中对小车功能的创新和改良,增强学生的创新意识和逻辑思维能力,提高学生的动手能力和研究主动性。

2. 实验内容和步骤

2.1车体设计

2.1.1 61板简介

61板是SPCE061A EMU BOARD的简称,是以凌阳16位单片机SPCE061A为核心的精简开发——仿真——实验板,大小相当于一张扑克牌,是“凌阳大学计划”专为电子爱好者和高校大学生进行课程设计、毕业设计及电子竞赛所设计的,也可作为单片机项目初期研发使用。

61板除了具备单片机最小系统电路外,还包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,使学生在掌握软件设计的同时,熟悉单片机硬件的设计制作,锻炼动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!

2.1.2 SPCE061A单片机简介

SPCE061A是一款16位结构的微控制器,下图是它的结构概览:

SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。

SPCE061A单片机应用领域广泛,例如应用在家用电器控制器、工业控制、通信产品、医疗设备以及电子书籍等诸多方面。

2.1.3 电源

61板采用3节5号电池进行供电,由J10接入。其中的前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。为了获得标准的3.3V电压,在扳子上加入SPY0029A三端稳压器。

两个二极管,是为了防止误将电源接反造成不必要损失而设置的,在操作过程中千万不要将电源接反,因为反向电压超过一定的值,二极管将会被损坏,达不到保护的目的。后面的零电阻及其电源、地分成不同的几路是为了减少电磁干扰设置的。

2.1.4程序下载区

ICE基本运作方式是通过控制CLOCK及通过ICE喂入指令方式,来控制CPU的运行及缓存器资料和内存资料的存取,因此必须透过控制缓存器值的设定来控制目前CPU的动作。

每个相连接的不同ICE模块都拥有自己独特的3—bitID,当PC在传送control信号时都会先传送该3—bitID,只有ICE本身的ID和control信号的ID相同时才会执行该命令或回传资料。61板上的

74HC244主要在我们选用下载线的时候起作用,主要奇缓存的作用和完成SDA是作为数据回送还是数据下传的选择。

2.2 语音控制小车概述

2.2.1功能要求

语音控制小车是凌阳大学计划推出的基于SPCE061A的代表性兴趣产品,它配合61板推出,综合应用了SPCE061A的众多资源,打破了传统教学中单片机学习枯燥和低效的现状。小车采用语音识别技术,可通过语音命令对其行驶状态进行控制。

语音控制小车的主要功能:

可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;

配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,

实现语音控制的功能;

可以在行走过程中声控改变小车的运动状态;

2.2.2车体结构

车体结构图图3、4所示。语音控制小车为三轮结构,车的结构示意图如下图所示。其中前轮为万向轮,被动调节小车前进方向。在自然状态下,前轮保持中间位置并正前方运动。后面两个车轮由各自的电机驱动,为整个小车提供动力。

整个小车分为三大部分:车体部分、61板、驱动板。

车体部分:小车车体主要为两个电机驱动装置,分左轮驱动和右轮驱动。在车体的中间有一个可以安装3节AA电池的电池盒,整个小车的电源就是由它来提供的。

61板:61板是小车的核心部分,它负责整个小车控制信号的产生,以及语音的播放和识别功能实现的。在不使用小车时可以将61板从小车上拆下来,61板仍然是完整的,可以用它来做其它的实验或开发。控制板:控制板负责将来自61板的控制信号转化为能够驱动电动机的信号。

驱动板:核心驱动电路

2.2.4 硬件框图

小车控制系统硬件结构比较简单,主要分为两个部分:一个是SPCE061A精简开发板(即“61”板)如图5所示,另外一个是电机控制板如图6所示。电机控制板的工作就是根据61板的输出新高去启动和停止相应的电机,以及调整电机的正反转方向。正是通过开启和关闭相应的电机,使电机在不同的组合状态运转,最终来实现小车的前进,倒退等功能。

2.3小车方案及程序分析

2.3.1小车方案

可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;可以在行走过程中声控改变小车的运动状态;实现能自动往返于起跑线与终点线间的智能流程,并具备人工遥控(我们选用语音控制)的功能。

2.3.2程序流程图

1、语音识别总流程图

语音识别小车的主程序流程如图7所示,分为四大部分:初始化部分、训练部分、识别部分、重训操作。初始化部分:初始化操作将IOB8~IOB11设置为输出端,用以控制电机。必要时还要有对应的输入端设置和PWM端口设置等。训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到FLASH,在以后使用时不需要重新训练;如果已经训练过会

把存储在FLASH中的模型调出来装载到辨识器中。识别部分:在识别环节当中,如果辨识结果是名字,则进入自动往返流程状态。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作。重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61板的KEY3),循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000单元),并等待复位。复位后,程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。下面详细介绍以上提到的子程序。

2、训练函数流程图

当程序检测到训练标志位BS_Flag内容为0xffff,就会要求操作者

对它进行训练操作,训练操作的过程如图8所示:训练采用两次训练获取结果的方式,以训练名字为例:小车首先会提示:给我取个名字吧,这时你可以告诉它一个名字;然后它会提示:请再说一遍,这时再次告诉它名字,如果两次的声音差别不大,小车就能够成功的建立模型,名称训练成功;如果没能够成功的建立模型,小车会告知失败的原因并要求重新训练。成功训练名称后会给出下一条待训练指令提示音:前进,参照名称训练方式训练前进指令。依次训练小车的名称—前进指令—倒车指令—左转指令—右转指令,全部训练成功子程序返回,训练结束。

3、语音识别函数流程图

语音识别流程如图9所示:首先获取辨识器的辨识结果,判断是否有语音触发,如果有语音触发则会返回识别结果的ID号,ID号对应名称或者对应不同的动作。如果ID号为名称,则进入运动自动往返程序流程;如果ID号为动作,则语音告知将要执行的动作,并执

行该动作。

动作子程序:动作子程序包括:前进、倒车、左拐、右拐、自动往返子程序。

前进:由小车的结构原理和驱动电路分析知:只要IOB8为高电平,IOB9,IOB10,IOB11全部为高电平即可实现小车的前进。前进子程序包括语音提示、置端口数据、启动定时器操作。

倒车:由小车的结构原理分析和驱动电路分析知:只要IOB9为高电平,IOB8,IOB10,IOB11全部为低电平即可实现小车的倒退。倒退子程序包括语音提示、置端口数据、启动定时器操作。

左转:由小车的结构原理分析和驱动电路分析知:小车左转需要两个条件:1.左轮不转2.后轮前进,这时对应的I/O状态为:IOB10、IOB11为高电平,IOB8、IOB9为低电平。左转子程序包括语音提示、置端口数据、启动定时器操作。

右转:由小车的结构原理分析和驱动电路分析知:小车右转需要两个条件:1.左轮前进2.右轮停止,这时对应的I/O状态为:IOB8、IOB9为高电平,IOB11、IOB10为低电平。右转子程序包括语音提示、置端口数据、启动定时器操作。

4、中断控制流程。虽然已经有了前进、后退以及等待(通过直接呼叫小车的名字使其停车)等语音控制指令,但是考虑环境的干扰因素,小车运行时的噪音影响和有效距离的限制,小车运行后可能接收不到语音指令而一直运行。为了防止出现这种情况,加入了时间控制,在启动小车运行的同时启动定时器,定时器时间到停止小车

的运行,该定时器借助于2Hz时基中断完成,图12.14所示为该程序的流程图。可以在程序中修改uiTimeset参数来控制运行时间,当uiTimeset=2时,运行时间为1s,以此类推。

3.1硬件连接调试过程

硬件调试过程相对顺利,实验第一步就是搭建车体,研究驱动电路,并焊接。由于车体焊接存在的问题,在程序调试过程中出现了一系列的硬件问题,但经过仔细分析后,这些问题都得到了解决,

硬件的调试改进为软件的实现调试打下了基础。

3.2程序调试过程分析

本次设计任务对软件编写调试的能力要求相对较高,程序调节是否顺利决定了实习进度。由于初次接触61的编程,所以在实习初期我们主要是学习和认知61的板以及61编程的基本知识,这是个学习深入的过程。

在对编程基础知识了解后,基于对题目要求的理解和思考,我们确定实现方案。可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;可以在行走过程中声控改变小车的运动状态;具备人工遥控(我们选用语音控制)的功能。

这个方案的确定是在查阅了,61资料“语音控制小车”的实现程序后得到的思路。基于对现有程序框架的理解。当然,程序的调试是不可能一两次就能成功的。这其中遇到的问题有很多,其中就有硬件的问题以及对61编程的知识的理解的不够而出现的调试困难。

3.3总体结果分析

本设计综合应用了SPCE061A丰富的软硬件资源,成功的实现了语音控制功能。标准的C语言编程,丰富的语音资源函数为编程提供了很大的方便。该设计方案结构简单,以单芯片实现了语音播放与识别以及电机控制功能,相当于“语音识别芯片+普通单片机”的功能。但是比“语音识别芯片+普通单片机”。该语音控制小车操作比

较简单,训练和识别成功的几率也比较高,是一个典型的语音识别方案。由于时间和精力有限,我们实现了实习要求的基本内容和发挥部分的大部分内容,但未能实现自动语音播报行驶距离的设计要求,这主要是我们对硬件的设计还不够熟练和精通,以及对61编程也未达到纯熟的地步。

对以实现的功能要求来说,我们的设计相对理想。

源代码:

/* 工程名称:MSeed CarDemo

功能描述:语音小车

涉及的库:CMacro1016.lib

bsrv222SDL.lib

sacmv26e.lib

组成文件:MSeed.c

Flash.asm 1

hardware.asm

ISR.asm

头文件hardware.h

s480.h

hardware.inc

硬件连接:IOA0-----KEY1

IOA1-----KEY2

IOA2-----KEY3

IOB8-----前进

IOB9-----倒车

IOB10----左拐

IOB11----右拐

*/

#include "s480.h"

#include "bsrsd.h"

#define P_IOA_Data (volatile unsigned int *)0x7000

#define P_IOA_Dir (volatile unsigned int *)0x7002

#define P_IOA_Attrib (volatile unsigned int *)0x7003

#define P_IOB_Data (volatile unsigned int *)0x7005

#define P_IOB_Dir (volatile unsigned int *)0x7007

#define P_IOB_Attrib (volatile unsigned int *)0x7008

#define P_TimerA_Data (volatile unsigned int *)0x700A

#define P_TimerA_Ctrl (volatile unsigned int *)0x700B

#define P_TimerB_Data (volatile unsigned int *)0x700C

#define P_TimerB_Ctrl (volatile unsigned int *)0x700D

#define P_Watchdog_Clear (volatile unsigned int *)0x7012 #define P_INT_Mask (volatile unsigned int *)0x702D

#define P_INT_Clear (volatile unsigned int *)0x7011

#define P_INT_Ctrl (volatile unsigned int *)0x7010

#define P_SystemClock (volatile unsigned int *)0x7013

#define NAME_ID 0x100

#define COMMAND_GO_ID 0x101

#define COMMAND_BACK_ID 0x102

#define COMMAND_LEFT_ID 0x103

#define COMMAND_RIGHT_ID 0x104

#define S_NAME 1 //给我取个名字吧

#define S_ACT1 10 //前进

#define S_ACT2 11 //倒车,请注意

#define S_ACT3 9 //左拐

#define S_ACT4 9 //右拐

#define S_RDY 12 //Yeah

#define S_AGAIN 4 //请再说一遍

#define S_NOVOICE 5 //没有听到任何声音

#define S_CMDDIFF 14 //说什么暗语呀

#define S_NOISY 14 //说什么暗语呀

#define S_START 8 //准备就绪,开始辨识

#define S_GJG 0 //拐就拐

#define S_DCZY 0 //倒车,请注意

/*

#define RSP_INTR 0

#define RSP_NAME 1

#define RSP_AGAIN 4

#define RSP_NOVOICE 5

#define RSP_STAR 8

#define RSP_MASTER 9

#define RSP_HERE 10

#define RSP_GUNSHOT 0

#define RSP_PATROL 11

#define RSP_READY 12

#define RSP_COPY 13

#define RSP_NOISY 14

#define S_NAME 0 //给我取个名字吧

#define S_ACT1 1 //前进

#define S_ACT2 2 //倒车,请注意

#define S_ACT3 3 //左拐

#define S_ACT4 4 //右拐

#define S_RDY 5 //Yeah

#define S_AGAIN 6 //请再说一遍

#define S_NOVOICE 7 //没有听到任何声音

#define S_CMDDIFF 8 //说什么暗语呀

#define S_NOISY 8 //说什么暗语呀

#define S_START 9 //准备就绪,开始辨识

#define S_GJG 10 //拐就拐

#define S_DCZY 11 //倒车,请注意

*/

extern unsigned int BSR_SDModel[100]; //外部变量BSR_SDModel[100],辨识器自带

extern void F_FlashWrite1Word(unsigned int addr,unsigned int Value);

extern void F_FlashErase(unsigned int sector);

unsigned int uiTimeset = 3; //运行时间定时,调整该参数控制运行时间unsigned int uiTimecont; //运行时间计时

unsigned int time_10s,time,tem,h,temp,m,c,y,t;

void Delay()

{

unsigned int i;

for(i=0;i<0x3Fff;i++)

{

*P_Watchdog_Clear=0x0001;

}

}

//=========================================================== ==

// 语法格式:void PlaySnd(unsigned SndIndex,unsigned DAC_Channel);

// 实现功能:语音播放函数

// 参数:SndIndex-播放语音资源索引号

// DAC_Channel-播放声道选择

// 返回值:无

//=========================================================== ==

void PlaySnd(unsigned SndIndex,unsigned DAC_Channel)

{

BSR_StopRecognizer(); //停止识别器

SACM_S480_Initial(1); //初始化为自动播放

SACM_S480_Play(SndIndex, DAC_Channel, 3); //开始播放一段语音

while((SACM_S480_Status()&0x0001)!= 0) //是否播放完毕?

{

SACM_S480_ServiceLoop(); //解码并填充队列

*P_Watchdog_Clear=0x0001; //清看门狗

}

SACM_S480_Stop(); //停止播放

BSR_InitRecognizer(BSR_MIC); //初始化识别器

}

//=========================================================== ==

// 语法格式:int TrainWord(int WordID,int SndID);

// 实现功能:训练一条指令

// 参数:WordID-指令编码

// SndID-指令提示音索引号

// 返回值:无

==

int TrainWord(unsigned int WordID,unsigned int SndID)

{

int Result;

PlaySnd(SndID,3); //引导训练,播放指令对应动作

while(1)

{

Result = BSR_Train(WordID,BSR_TRAIN_TWICE); //训练两次,获得训练结果

if(Result==0)break;

switch(Result)

{

case -1:PlaySnd(S_NOVOICE,3); //没有检测出声音

return -1;

case -2:PlaySnd(S_AGAIN,3); //需要训练第二次

break;

case -3:PlaySnd(S_NOISY,3); //环境太吵

return -3;

case -4:return -4; //数据库满

case -5:PlaySnd(S_CMDDIFF,3); //检测出声音不同

return -5;

case -6:return -6; //序号错误

default:

break;

}

}

return 0;

}

//=========================================================== ==

// 语法格式:void TrainSD();

// 实现功能:训练函数

// 参数:无

// 返回值:无

==

void TrainSD()

{

while(TrainWord(NAME_ID,S_NAME) != 0) ; //训练名称

while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) ; //训练第1个动作

while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //训练第2个动作

while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) ; //训练第3个动作

while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ; //训练第4个动作}

//=========================================================== ==

// 语法格式:void StoreSD();

// 实现功能:存储语音模型函数

// 参数:无

// 返回值:无

//=========================================================== ==

void StoreSD()

{

unsigned int ulAddr,i,commandID,g_Ret;

F_FlashWrite1Word(0xef00,0xaaaa);

F_FlashErase(0xe000);

F_FlashErase(0xe100);

F_FlashErase(0xe200);

ulAddr=0xe000;//********

for(commandID=0x100;commandID<0x105;commandID++)

{

g_Ret=BSR_ExportSDWord(commandID);

while(g_Ret!=0)g_Ret=BSR_ExportSDWord(commandID); //模型导出成功?

for(i=0;i<100;i++) //保存语音模型SD1(0xe000---0xe063)

{

F_FlashWrite1Word(ulAddr,BSR_SDModel);

ulAddr+=1;

}

}

}

//=========================================================== ==

// 语法格式:void LoadSD();

// 实现功能:装载语音模型函数

// 参数:无

// 返回值:无

//=========================================================== ==

void LoadSD()

{

unsigned int *p,k,jk,Ret,g_Ret;

p=(int *)0xe000;

for(jk=0;jk<5;jk++)

{

for(k=0;k<100;k++)

{

Ret=*p;

BSR_SDModel[k]=Ret; //装载语音模型

p+=1;

}

g_Ret=BSR_ImportSDWord();

while(g_Ret!=0) //模型装载成功?

{

//LoadSD();

g_Ret=BSR_ImportSDWord();

}

}

}

//=========================================================== ==

// 语法格式:void GoAhead();

// 实现功能:前进子函数

// 参数:无

// 返回值:无

//=========================================================== ==

void GoAhead() //前进

{

PlaySnd(S_ACT1,3); //提示

*P_IOB_Data = 0x0100; //前进

*P_INT_Mask |= 0x0004; //以下为中断定时操作

__asm("int fiq,irq");

uiTimecont = 0;

}

//=========================================================== ==

// 语法格式:void BackUp();

// 实现功能:后退子函数

// 参数:无

// 返回值:无

//=========================================================== ==

void BackUp() //倒退

{

PlaySnd(S_DCZY,3); //提示

*P_IOB_Data=0x0200; //倒退

*P_INT_Mask |= 0x0004; //以下为中断定时操作

__asm("int fiq,irq");

uiTimecont = 0;

}

//=========================================================== ==

// 语法格式:void TurnLeft();

// 实现功能:左转子函数

// 参数:无

// 返回值:无

//=========================================================== ==

void TurnLeft() //左转

{

PlaySnd(S_GJG,3);

*P_IOB_Data=0x0900; //右转

Delay(); //延时

*P_IOB_Data=0x0500; //左转

*P_INT_Mask |= 0x0004; //以下为中断定时操作

__asm("int fiq,irq");

uiTimecont = 0;

}

//=========================================================== ==

// 语法格式:void TurnRight();

// 实现功能:右转子函数

// 参数:无

// 返回值:无

//=========================================================== ==

void TurnRight() //右转

{

PlaySnd(S_GJG,3); //语音提示

*P_IOB_Data=0x0500; //左转

Delay(); //延时

*P_IOB_Data=0x0900; //右转

*P_INT_Mask |= 0x0004; //以下为中断定时操作

__asm("int fiq,irq");

uiTimecont = 0;

}

//=========================================================== ==

// 语法格式:void Stop();

// 实现功能:停车子函数

// 参数:无

基于单片机的语音控制小车的开题报告_共4页

一、选题的依据、意义和理论或实际应用方面的价值 随着现代生活水平的不断提高,人们对智能化产品有着巨大的需求,语音智能控制作为简单快捷方便的操作方式得到越来越广泛人们的认可,例如手机智能语音拨号功能,就是很好的例子。随着电子业的发展, 自动化已不再是一 个新鲜的话题, 无人驾驶的小汽车也必将进入实用阶段, 未来驾驶汽车, 不再是只能依靠手动,语音等方式也有可能成为未来汽车的辅助驾驶途径之一。当前电子设计系统已进人了片上系统时代, 语音识别与处理技术在信息技术的人机 接口中得到了普遍关注。语音识别的音控小车作为典型应用之一,简单地诠释了人机一体化的设计思想。其设计理念缩短了人机界面的距离,增强了互动性和智能性,同时使得将信息技术和控制技术引入到车辆的操纵控制中,形成机器智能,使驾驶员的感知、决策和执行能力扩展成为可能。 二、本课题在国内外的研究现状 Bill Gates 在世界计算机博览会(COMDEX)主题演讲会上描绘IT事业的发展宏图时,率先指出:下一代操作系统和应用程序的用户界面将是语音识别。工业界应对语音识别领域的重大突破做好充分准备,因为那将是一场席卷全球的另一次热潮。 据统计部门的数据,至2006年中国汽车保有量已达3500万辆(其中轿车占80%,约2500万辆),每年仍以30%的速度递增。我国成为了继美国之后的第二大汽车生产和消费大国。汽车行业的迅猛发展也带动了相关配套、服务业的发展。而将功能强大的智能车载信息系统——车载电脑加载到汽车上已经成为欧美、日本等地汽车市场的首选新装备。我国语音智能控汽车产业有着巨大的发展前景。车载电脑给汽车带来了一场信息化的革命,让每辆汽车构建成一个完美的车载信息与娱乐系统终端,包括车载通讯系统、导航系统、数字娱乐系统以及辅助驾驶系统。车载通讯与导航系统主要指GPRS和GPS,让你“轻 车熟路”,而且轻松打电话。 三、课题研究的内容及拟采取的方法 我研究的课题题目是实现语音对小车的智能控制,按照其功能的实现可以划分如下模块:语音输入模块、主控模块(SPCE061A)、电机驱动模块、语 音输出模块、电源模块。语音输入模块实现语音的输入,讲录入的语音作为数据源。主控模块实现对语音的分辨、识别、与存储单元中的指令匹配,发出控制命令。电机模块通过主控模块的控制,对电机发出控制命令。语音输出模块控制发出控制命令相对应的语音。电源模块控制电源的连通。首先对存储器初始化,之后进行录音初始化,进入录音循环中,定时器中断程序控制采样频率,并按时间间隔将采样值送入语音样本队列,录音循环从语音样本队列中获取数据并进行编码,将编码后的数据送入存储器,成为语音资源。在训练过程中,系统调用了语音播放子程序,需要进行播放初始化,进入播放循环中,从语音资源中获取数据,解码,填入播放队列中,定时器中断程序从播放队列中取出数据送到D /A 转换器中,将语音信号送到扬声器中,使得整个训练过程在语音提示下从容进行。 四、课题研究中的主要难点以及解决的方法 1)如何实现对SPCE061A的无线语音接入? SPCE061A 内置MIC 放大电路和AGC 电路, 可很方便地接上MIC 使用。但考虑到小车在运动到距离用户较远的地方时, 无法接收到用户的语音命令, 而

(完整版)基于单片机的语音控制开关设计毕业设计

题目基于单片机的语音控制开关设计所在学院物理与电信工程学院专业班级通信工程专业 1102 班指导教师郑争兵 完成地点物理与电信工程学院实验室 2015年 6月03日

毕业论文﹙设计﹚任务书 院(系) 物理与电信工程学院专业班级通信1102 学生姓名朱楠 一、毕业论文﹙设计﹚题目基于单片机的语音控制开关设计 二、毕业论文﹙设计﹚工作自_2015 _年_ 1__月_10_日起至_2015__年 6 月_ 10 日止 三、毕业论文﹙设计﹚进行地点: 物理与电信工程学院实验室 四、毕业论文﹙设计﹚的内容要求: 智能家居作为一个新生产业,目前处于一个导入期与成长期的临界点,随着智能家居市场推广普及的进一步落实,培育起消费者的使用习惯,智能家居市场的消费潜力必然是巨大的,产业前景光明。本课题设计语音智能控制开关,具体要求如下: 1. 掌握语音识别的工作原理,使用语音识别芯片完成硬件设计; 2.能实现语音控制开关的开启和关闭; 3. 系统集成,焊接电路板,调试。 成果形式:实验样机一套。 毕业设计进度安排: 1.10─3.20:查阅资料(参考文献不少于10篇),进行方案论证,完成开题报告。完成不少于3000字的外文翻译; 3.20─ 4.30:设计硬件电路,编写相关软件、完成电路仿真及样机调试; 5.1─5.20:完善系统调试,撰写论文,准备毕业设计验收等工作; 5.21- 6.10:整理资料,修改论文,准备毕业答辩。

指导教师系(教研室)通信教研室 系(教研室)主任签名批准日期 接受论文(设计)任务开始执行日期学生签名

基于单片机的语音智能开关设计 朱楠 (陕西理工学院物理与电信工程学院通信1102班,陕西汉中 723003) 指导教师:郑争兵 [摘要]语音识别是解决机器“听懂”人类语言的一项技术。随着语音识别理论研究的深入和数字信号处理软、硬件技术的发展,语音识别技术应用的研究越来越受到人们的关注。智能语音家电控制系统实质上就是一个替代传统手动开关的受声控制的电子开关。此系统以STC11L08XE和LD3320语音芯片为硬件核心,对语音芯片LD3320的信息进行处理,并对开关进行控制,通过LD3320外界的麦克风采集声音信号,再通过LD3320语音芯片进行频谱分析,在提取语音特征,之后和关键词语列表中的关键词进行对比匹配,最后找出得分最高的关键词作为识别结果输出给单片机,单片机进行处理后,再输出信号来控制继电器,再通过继电器来控制开关工作,开关又可实现对电器的控制。语音芯片的功能都是通过单片机控制实现的。最终实现对智能语音开关的控制 [关键词] STC11L08XE单片机语音芯片LD3320 语音识别 Design of intelligent voice switch based on MCU Zhu nan (Grade11,Class2,Major of Communication Engineering,School of Physics and Tutor:Zheng Zheng bing Abstract: Speech recognition is a technology to solve the machine to understand human language. Along with the research of speech recognition theory and the development of digital signal processing software and hardware technology, The research on the application of speech recognition technology is getting more and more attention.The intelligent speech appliance control system is essentially an electronic switch which replaces the traditional acoustic control with the manual switch. This system LD3320 voice chip and the stc11l08xe as hardware core and the voice chip ld3320 information for processing, and control the switch, through ld3320 external microphone audio signal acquisition, and then through the ld3320 voice chip spectrum analysis, key words in speech feature extraction, and the list of key words contrast matching, finally to find the highest score of the words as recognition results output to the MCU, MCU processing, then the output signal to control the relay, then through the relay to control of the switch, the switch can be to achieve control of the electric appliances. The function of the speech chip is realized by the MCU control. Control of the intelligent speech switch is realized finally. Key words : STC11L08XEMCU LD3320 voice chip Speech recognition

单片机语音识别程序

最近想做语音识别玩玩,网上查了查,找到一个用Atmega32实现的语音识别机械车 地址是:https://www.wendangku.net/doc/6613194904.html,/e ... h8_css34/index.html 貌似是利用带通滤波取得频谱(或者叫功率谱?),看不太懂.我决定用DFT 算法,因为它节约内存 DFT程序借借鉴了 hendry 单片机 DTMF 软解码算法的实现 https://www.wendangku.net/doc/6613194904.html,/forum.php?m ... &highlight=dtmf //-------------------------------------------------- //DFT运算 //注意,ad是有符号数,无符号的AD值需减128 //返回值为1表示已经计算了功率谱 //-------------------------------------------------- U8 dft(S8 ad) { U8 i; U8 offset;//查表指针 U32 temp; //ad-=128;//去直流分量 for(i=0;i>8; offset+=PI2/4;//偏移1/4周期为cos表 s_dft_real += (S16)ad * sintab[offset];//>>8;//cos表 tabp+=tabinc;//指针下移 } s_dft_p ++; if (s_dft_p == NSAMP) //采样点已达到设定值,计算功率 { s_dft_p = 0; //点数清0 for (i = 0; i < NFREQ; i ++)//每个频点计算功率 { s_dft_real/=NSAMP*6; //除以合适的值能使得功率在一字节内 s_dft_image/=NSAMP*6; temp=s_dft_real*s_dft_real + s_dft_image*s_dft_image; if(temp>65535)temp=65535; s_dft_real = sqrt16(temp);

基于51单片机的语音控制系统

2009年第1期 TIANJIN SCIENCE&TECHNOLOGY 0引言 目前基于单片微机的语音系统的应用越来越广泛,如电 脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等等。本文主要介绍用Flas h 单片机AT89C51和录放时间达60s 的数码语音芯片ISD2560设计的一套智能语音录放系统。ISD2560是ISD 系列单片语音录放集成电路的一种,这是一种永久记忆型语音录放电路,录音时间为60s ,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM 单元中,因此能够非常真实、自然地再现语音、 音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。此外,ISD2560还省去了A/D 和D/A 转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K 字节的EEPROM 。ISD2560内部EEPROM 存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms 。此外,ISD2560还具备微控制器所需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。 1方案设计 自动控制是单片机应用的一个重要领域,在自动控制领 域中,除数字量之外,经常会遇到一种物理量,即模拟量,而声音就是一种模拟量。由于单片机只能处理数字量的转换,因此计算机系统中凡遇到有模拟量的地方,就需要进行模拟量向数字量或数字量向模拟量转换,伴随而来的就出现了单片机的A/D 、D/A 转换的接口问题,虽然这些接口都已集成化,体积小,功耗低,并能方便地与单片机连接,但在转换之后仍然有一定程度的误差,特别是对语音的转换,有明显的失真。因此,使语音能得到更好的还原是方案选择的最终出发点。 图1 方案原理框图 方案中采用了一片ISD2560语音芯片(如图1所示),这种突破性的EEPROM 存储方法可以将模拟语音数据直接写入单个存储单元,不需要经过A/D 或D/A 转换。这种技术产生了2个效果: 比同等的数字方式具有更大的集成度;存储的模拟数据不挥发,而且它具有高质量、自然的语音还原技术。语音芯片的控制采用的是89C51单片机,实现分段存储,本设计实现的是3段录音,由于ISD2560总录放时间是60s ,所以每段的录音时间是20s 。 这一方案的特点:能进行在现场的录音,随录随放,修改语音方便;修改录音内容时,可以通过更改软件程序,从其中任意一段开始修改其后的所有录音内容,不必从第一段开始全部修改;分段灵活,单片ISD 可分1~600个段,若多片级联还可更多,各个录音段的长度任意,只要总录音时间在所用器件的总时间之内即可;价格便宜,录制语音时,只需用软件立即可得到各段的地址进行录音,不需专用的设备。 2 电路设计 2.1 硬件电路设计 图2为AT89C51与ISD2560连接框图,语音芯片的低8 位地址与P0口相连,并有P0口给ISD2560录/放音的初始地址。 图3是89C51单片机的外围电路,用的是12M 晶振,即一个机器周期是1us ,采用的是按键复位方式,复位之后,录音或放音都是从第一段开始。 贾强(天津现代职业技术学院天津300222) 基于51单片机的语音控制系统 【摘要】介绍了由Flash 单片机AT89C51及数码语音芯片ISD2560组成的语音系统,设计出了系统的硬件电路。实现了语音的分段录取、组合回放,通过软件的修改还可以实现整段录取,循环播放,而且不必使用专门的ISD 语音开发设备。ISD2560不需要A/D 和D/A 转换, 并且集成度高,能实现复杂的信息处理功能,真实的再现语音。【关键词】AT89C51ISD2560分段录音组合回放 收稿日期:2009-01-09 创新技术 36

基于单片机技术的语音控制小车设计

基于单片机技术的语音控制小车设计基于单片机技术的语音控制小车设计 1 基于单片机技术的语音控制小车设计 1、引言 语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。 SPCE061A 是一款 16 位μ'nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。

SPCE061A 内嵌 32K 字的 FLASH 程序存储器以及 2K 的SRAM。同时该 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。 借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能. 2、语音控制小车设计要求 2.1 功能要求: 1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能; 2.配合 SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3.可以在行走过程中声控改变小车运动状态; 4.在超出语音控制范围时能够自动停车。 2.2 参数说明 车体:双电机两轮驱动 供电:电池(四节AA:1.2V×4 或 1.5V×4) 工作电压:DC 4V~6V 工作电流:运动时约 200mA 3. SPCE061A特性简介 SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。该单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持

基于语音识别的智能小车设计-毕设论文

基于语音识别的智能小车 摘要 随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。 语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。本设计采用的识别类型是特定人孤立词语音识别。 本系统分上位机和下位机两大方面。上位机利用PC上MATLAB强大的数学计算能力,进行语音输入、端点监测、特征参数提取、匹配、串口控制等工作,根据识别到的不同语音通过PC串口向下位机发送不同的指令。下位机是单片机控制的一个小车,单片机收到上位机传来的指令后,根据不同的指令控制小车完成不同的动作。 该设计对语音识别的现有算法进行了验证和实现,并对端点检测和匹配算法进行了些许改进。本设计达到了预期目标,实现了所期望的功能效果。 关键词:MATLAB,语音识别,端点检测,LPC,单片机,电机控制

SMART CAR GASED SPEECH RECOGNITION ABSTRACT With the development of computer technology,pattern recognition,signal processing technology and acoustic technology etc, the speech recognition system that can meet the various needs of people is more possible to achieve.The past three decades, the voice recognition in the field of computer, information processing, communications and electronic systems, automatic control has increasingly wide range of applications. Speech recognition by the speaker's speech can be divided into isolated word (Isolated Word) identification, conjunctions (Connected Word) and continuous speech recognition (Continuous Speech) identification. Identifying the type of object from the point of view, the voice recognition can be divided into a specific person (Speaker Dependent) speech recognition and non-specific (Speaker Independent) speech recognition. This design uses the identification type is a specific person isolated word speech recognition. This design is of a good implementation of speech recognition in the control field, it does the work that would otherwise require manual operation by the voice of people easily.This system includes two major aspects:the host system and the slave system. The host system use the MATLAB on the computer which has powerful mathematical computing ability to do the work of voice input, endpoint monitoring, feature extraction, matching, identification and serial control,then it send different commands through the PC serial port to slave system according different recognised voice. The slave system is a car controlled by a single-chip micro-controller.It controls the car do different actions according different instructions received.

语音控制小车使用说明资料

语音控制小车用户说明书

目录 一、语音控制小车概述 (3) 1.1 功能简介 (3) 1.2 参数说明 (3) 1.3 注意事项 (3) 二、小车实物 (4) 2.1 车体结构 (4) 2.2 小车实物图 (4) 2.3 动力电机驱动电路 (5) 2.4 方向电机控制电路 (6) 2.5 语音识别原理简介 (6) 三、软件流程 (7) 3.1 主程序流程图 (7) 四、如何使用 (9) 4.1 连接硬件 (9) 5.2 代码下载 (9) 5.3 训练小车 (9) 5.4 声控小车 (10) 5.5 重新训练 (11)

一、语音控制小车概述 1.1 功能简介 语音控制小车综合应用了SPCE061A的众多资源,打破了传统教学中单片机学习枯燥和低效的现状。小车采用语音识别技术,可通过语音命令对其行驶状态进行控制。 语音控制小车的主要功能: 1)可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能; 2)配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3)可以在行走过程中声控改变小车运动状态; 4)在超出语音控制范围时能够自动停车。 1.2 参数说明 车体:双电机四轮驱动 供电:电池(四节AA:1.5V×4) 工作电压:DC 4V~6V 工作电流:运动时约200mA 1.3 注意事项 1)安装电池一定要注意电池的正负极性,切勿装反; 2)长期不用请将电池从电池盒中取出; 3)由于语音信号的不确定性,语音识别的过程会出现一定的误差和不准确性; 4)由于小车行动比较灵活,速度比较快,在使用时一定要注意保持场地足够大,且保证不会对周围的物体造成伤害; 5)不要让小车长时间运行在堵转状态(堵转状态:由于小车所受阻力过大,造成小车电机加电但并不转动的现象),这样会造成很大的堵转电流,有可能会损坏小车的控制电路。

基于单片机的语音识别系统 毕业设计

基于单片机的语音识别系统毕业设计 目录 摘要..................................... 错误!未定义书签。Abstract ................................. 错误!未定义书签。目录..................................................... I 前言.. (1) 1 方案介绍及设计简介 (2) 1.1小车的控制要求及设计方案 (2) 1.1.1小车的控制要求 (2) 1.1.2方案设计与论证 (2) 1.2SPCE061A 简介 (3) 1.2.1SPCE061A单片机概述 (5) 1.2.2SPCE061A的介绍 (7) 1.2.3SPCE061A的结构 (7) 1.3SPCE061A 单片机强大的语音功能 (7) 1.3.1语音识别的原理 (8) 1.3.2系统的结构框图 (9) 1.4语音控制小车设计要求 (10) 1.4.1功能要求 (10) 1.4.2语音控制小车的主要功能 (10) 1.4.3参数说明 (10) 1.4.4注意事项 (10) 2电路设计及程序设计 (11) 2.1电路设计基础知识 (11) 2.2电路方框图及说明 (13) 2.3各部分电路设计 (13) 2.3.1电机的选择 (14)

2.3.2继电器驱动电路的设计 (14) 2.3.3行驶状态控制电路设计 (15) 2.3.4麦克录音输入及AGC电路 (16) 2.3.5语音播报电路 (18) 3软件设计 (19) 3.1软件流程图及设计思路说明 (19) 3.1.1程序设计 (20) 3.2模块设计 (20) 3.2.1中断流程图部分 (20) 3.2.2语音识别部分 (22) 4连接和操作说明 (25) 4.1硬件模块连接图 (25) 4.1.1功能说明 (25) 4.1.2代码下载 (26) 4.1.3训练小车 (27) 4.1.4声控小车 (28) 4.1.5重新训练 (28) 总结 (30) 致谢 (31) 参考文献 (32) 附件1 系统程序说明 (33)

基于单片机技术的语音控制小车设计

1、引言 语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。 SPCE061A 是一款 16 位μ'nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。 SPCE061A 内嵌 32K 字的 FLASH 程序存储器以及 2K 的SRAM。同时该 SOC 芯片具有 ADC 和DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。 借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能. 2、语音控制小车设计要求 2.1 功能要求: 1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能; 2.配合 SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3.可以在行走过程中声控改变小车运动状态; 4.在超出语音控制范围时能够自动停车。 2.2 参数说明 车体:双电机两轮驱动 供电:电池(四节 AA:1.2V×4 或 1.5V×4) 工作电压:DC 4V~6V 工作电流:运动时约 200mA 3.SPCE061A特性简介 SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。该单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持 C 语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。 SPCE061A特性: 16位μ’nSP微处理器; 工作电压:内核工作电压VDD为 3.0V~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O); CPU时钟:0.32MHz~49.152MHz; 内置2K 字 SRAM;

语音控制小车实验报告

语音控制小车实验报告 专业: 学号: 姓名: 2014年01月12日

一、实验目的 语音控制小车以SPCE061A单片机为核心,采用语音识别技术,可通过语音命令对其行驶状态进行控制。本次实验的主要目的: 1.通过简单的I/O 操作实现小车的前进、后退、左转、右转功能; 2.配合SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3.在行走过程中声控改变小车运动状态; 4.在超出语音控制范围时使小车停车。 二、实验内容 1、SPCE061A简介 SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。该单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持 C 语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。 SPCE061A特性: 16位μ’nSP微处理器; 工作电压:内核工作电压VDD为 3.0V~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O); CPU时钟:0.32MHz~49.152MHz; 内置2K 字 SRAM; 内置32K 闪存 ROM; 可编程音频处理; 晶体振荡器; 系统处于备用状态下(时钟处于停止状态),耗电小于 2μA@3.6V; 2 个 16 位可编程定时器/计数器(可自动预置初始计数值); 2 个 10 位 DAC(数-模转换)输出通道; 32 位通用可编程输入/输出端口;

用单片机实现语音控制机器人

用单片机实现语音控制机器人 制作人:潘磊pb02023035 卢恒pb02006088 题目:用凌阳单片机实现语音识别功能并传递给PIC单片机信号,由PIC单片机控制机器人实现动作 关键字:PIC单片机,凌阳单片机,语音控制 单片机在现今生活中占有越来越重要的地位,用语音控制单片机实现控制更具有 广泛的应用价值。用语音控制舞蹈机器人做一些动作是我们这次实现的功能,虽然这 在语音控制方面仍处于起步阶段,但他体现了语音控制的原理和基本实现,也为更高 级的运用打下了基础。 原理: 1.语音识别原理 语音识别电路基本结构如上图所示:语音识别分为特定发音人识别(Speaker Dependent)和非特定发音人识别(Speaker Independent)两种方式。 特定发音人识别是指语音样板由单个人训练,对训练人的语音命令识别准确率较高,而其他人的语音命令识别准确率较低或不识别。非特定发音人识别:是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。语音样板的提取非常重要。我们将标准模式的存储空间称之为“词库”,而把标准模式称之为“词条”或“样板”。所谓建立词库,就是将待识别的命令进行频谱分析,提取特征参数作为识别的标准模式。 识别过程首先要滤除输入语音信号的噪音和进行预加重处理,提升高频分量,然后用线性预测系数等方法进行频谱分析,找出语音的特征参数作为未知模式,接着与预先存储的标准模式进行比较,当输入的未知模式与标准模式的特征相一致时,便被机器识别,产生识别结果输出。如果输入的语音与标准模式的特征完全一致固然好,但是语音含有不确定因素,完全一致的条件往往不存在,事实上没有人能以绝对相同的语调把一个词说两遍,因此,预先制定好计算输入语音的特征模式与各特征模式的类似程度,或距离度的算法规则固化在ROM

智能语音控制系统

作品说明书 题目:智能语音控制系统 目录 1. 开发背景 (2) 2. 原理 (2) 3. 设计方案 (2) 4. 硬件电路设计 (3) 5. 软件程序设计 (5) 6.理论分析与算法 (5)

1.开发背景 20世纪80年代初,随着大量采用电子技术的家用电器面市,家居系统电子化(HE,Homen Electronics),智能化越来越多。然而当今人们对日常设备的智能化控制要求越来越高,从原来的复杂化到简单话,在由简单化到傻瓜化,但是现在人们还是不满足,他们还想要更简单的更方便的更智能的方法来控制自己拥有的设备,这就是语音控制系统为什么会在现代社会如此流行,如此受到大家的欢迎,让语音控制系统成为当今最前沿的民用控制技术。 2. 原理 本系统采用r8c瑞萨单片机采集语音信号,再把语音信号通过通信传到电脑上去,通过电脑的高述的CPU对你说的话就是语音进行分析与计算,最终达到对语音识别的目的,当上位机识别到你说发出的语音后把信号通过通信传回单片机,通过单片机在来控制所有你想控制的设备,如电视、空调、冰箱、电饭锅、洗衣机等家用电器的工作。本系统运用了很多前沿性的技术,通信,单片机控制,对语音的分析,是本系统的三大主要内容,特别是对语音的分析才是本系统的灵魂。 3.设计方案 单片机经过一个音频接收电路把音频(声音)信号采集进单片机机系统中,在通过选用TL064CN语音芯片把音频信号转换成对应的电压值,再通过瑞萨单片机(16位)的AD采样把电压采集进来,同时为了提高采样频率,就采用直接把未处理的数据通过RS232接口上传到上位机软件中;在上位机程序中通过一定的算法处理采集到的数据流,然后把这些数据对应的“写”到窗体显示程序中(既分析仪界面),以实现音频信号的采集工作进行分析。最后得出结果,再由上位机传送控制信号回单片机,让单片机进行控制.

基于单片机技术的语音控制小车设计--(

基于单片机技术的语音控制小车设计--( 附: 湘潭市技师学院 毕业论文(设计) 题目关于单片机控制语音小车的系统设计 专业机电一体化 班级:姓名 指导教师 2012 年 2 月27 日 关于单片机控制语音小车的系统设计 目录 1、引言 2、语音控制小车设计要求 2.1 功能要求 2.2 参数说明 3. SPCE061A特性简介 4、系统总体方案介绍 5、系统硬件设计 5.1 车体介绍

5.2 小车的行走原理 5.3 控制板原理图 6、系统软件设计 6.1 系统的主程序设计 6.2主控制源程序: 6.3 语音识别的原理简介 7、总结 8、结束语 基于单片机技术的语音控制小车设计 1、引言 语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。 SPCE061A 是一款 16 位μ'nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。 SPCE061A 内嵌 32K 字的 FLASH 程序存储器以及 2K 的SRAM。同时该 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很

基于单片机的智能语音识别系统设计毕业设计论文

基于单片机的智能语音识别系统设计 (硬件部分) 系别: 专业班: 姓名: 学号: 指导教师:

基于单片机的智能语音识别系统设计 (硬件部分) The Design of Intelligent Speech Recognition System Based on Single-chip Computer (HardWare)

摘要 本文设计一个让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术的语音识别系统。本语音识别系统以LD3320语音识别芯片为核心部件,主控MCU选用STC10L08XE。主控MCU通过控制LD3320内部寄存器以及SPI flash实现语音识别和对话。通过麦克风将声音信息输入LD3320进行频谱分析,分析后将提取到的语音特征和关键词语列表中的关键词语进行对比匹配,找出得分最高的关键词语作为识别结果输出给MCU,MCU针对不同的语音输入情况通过继电器对语音命令所对应的电器实现控制。同时也可以通过对寄存器中语音片段的调用,实现人机对话。 设计中,电源模块采用3.3V供电,主要控制及识别部分采用LM1117-3.3稳压芯片,语音播放及继电器部分采用7812为其提供稳定的电流电压。寄存器采用一片华邦SPI flash芯片W25Q40AVSNIG,大小为512Kbyte。系统声音接收模块采用的传感器为一小型麦克风——驻极体话筒,在它接收到声音信号后会产生微弱的电压信号并送给MCU。另外系统还采用单片机产生不同的频率信号驱动蜂鸣器来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性不高,但在一定程度上能满足要求,而且易于实现,成本也不高。 关键词:语音识别 LD3320 STC10L08XE单片机频谱分析

语音控制的智能小车设计方案

语音控制的智能小车设计方案 根据美国玩具协会的调查统计,近年来全世界玩具销量增幅与全世界平均GDP增幅大致相当而全世界玩具市场的内在结构比重却发生了重大变化:传统玩具的市场比重正在逐步缩水,高科技含量的电子玩具则蒸蒸日上 美国玩具市场的高科技电子玩具的年销售额2004年较2003年增长52%,而传统玩具的年销售额仅增长3%英国玩具零售商协会选出的2001年圣诞最受欢迎的十大玩具中,有七款玩具配有电子元件从这些数字可以看出,高科技含量的电子互动式玩具已经成为玩具行业发展的主流本文设计一个具有语音识别功能的智能遥控小车该小车对传统的手动遥控小车的机械部分做了改进使之可以实现任意角度转向和以任意速度前进而不象一般的小车那样只能以固定角度转向和以固定速度前进因此更加接近真实的车辆 本文还在小车的控制系统中采用语音识别系统,使控制者可以用语音对小车进行控制,产生相应的动作,而且小车和控制者还具有一定的交互功能 1 智能小车总体结构框图 智能小车主要由转向机构、驱动机构、转向控制模块、驱动控制模块、遥控模块和语音控制模块六大部分组成,如图1所示

2 机械本体结构及工作原理 小车为轮式结构,如图2所示机械部分分为转向机构(图中椭圆内的部分)和驱动机构(图中椭圆外部分)转向机构主要由转向电机、转向架和两个前轮组成驱动机构采用玩具小车常用的双电机驱动方案,包括两个减速电机和两个后轮转向机构工作原理为:转向时由控制者向小车发出转向信号,转向电机根据转向信号正向或反向旋转一定角度,电机通过齿轮、齿条系统带动转向架摆动一定角度,最终带动与转向架固定在一起的前轮偏摆一定角度小车在转向时由于内、外侧的车轮的转弯半径不同,所以内外侧车轮的转速也不相同前轮为从动轮,会根据转弯角度的大小自动调节内、外侧车轮的转速;而后轮为主动轮,其转速分别由两个电机独立驱动,不会根据转弯半径自动调节转速因此小车转弯时,控制系统在控制转向电机的同时还需要根据转向角度的大小向两个驱动电机发出控制信号,

基于单片机的语音识别系统研究开题报告

论文开题报告 一、毕业论文设计的目的及意义 随着人们生活水平不断提高。越来越多的人开始注意私人或工作场所的保密性以及安全性。为了满足人们的不同需求,设计者们开发了多种多样的门禁系统。它们被广泛应用于私人住宅,学校、医院、商店、企业,政府单位等各种场所。按照识别方式分类,有指纹识别式,人脸识别式,语音识别式等等。这些系统各有特点、各有优势。随着计算机功能越来越强大,微电子技术不断发展,即使简单的单片机也能够实现简单的人机对话。这就为语音识别门禁系统的设计提供了必要条件探究语音识别技术在嵌入式系统中的应用,通过嵌入式技术实现语音识别,扩展嵌入式系统的应用领域,将语音识别技术应用于门禁系统,为人们的生活提供便利。 二、结构和主要内容 本文分成五个部分. 第一部分是概述这部分主要论述本系统实现的技术基础,简要介绍了系统用到的嵌入式技术,主要介绍了嵌入式技术的核心-单片机;以及语音识别技术。通过论述语音识别技术的原理,分类,发展前景等,简单的介绍语音识别技术的特点、功能、应用。 第二部分是硬件系统设计。这部分分析硬件系统的组成结构,具体组成模块,具体电路设计,用到的主要的组成部件等。在这里我详细介绍了应用到的系统核心单片机,以及语音识别模块的核心,语音识别芯片。为具体直观的体现本系统的设计思路,将系统分为处理器核心部分、语音信号处理部分、门锁控制电机部分、门锁,一共四个模块。然后分别介绍每个模块的电路设计。 第三部分是软件系统设计,不同模块软件的实现。简要介绍了处理器核心部分的软件实现和门锁控制部分的软件实现。 第四部分是系统的仿真过程,因为软件的仿真更加方便快捷,所以本文选择的是通过软件进行仿真。 三、研究方法 1.收集和整理资料,参阅部分收集到的资料,对论文命题有了初步的认识。 2.完成开题报告,并透过指导老师和论文开题答辩小组审查。 3.查找与阅读论文相关的适宜的英文文献,对其进行翻译并完成。 4.寻找实习单位,进行为期一个月的实习,实习资料涉及社会实践和与论文相关的实地研究。 5.实习期间写下实习周记。 6.透过文献研究和实践研究,对论文命题有了较为全面的理解后,结合前人的研究成果,完成论文初稿的撰写 四、主要参考文献: [1]李建忠编著.单片机原理及应用.西安:西安电子科技大学出版社,2002 [2]李群芳,肖看编著.单片机原理、接口及应用.北京:清华大学出版社,2005

相关文档
相关文档 最新文档