基于SPCE061A的小车语音控制系统

发布者:和谐相伴最新更新时间:2014-11-03 来源: 21ic关键字:SPCE061A  语音控制系统  微控制器 手机看文章 扫描二维码
随时随地手机看文章

  引言

  语音控制系统是一种智能化系统,目前国内较成型的语音控制产品还不多,因此,进行这方面的研究是很有意义的。

  SPCE061A是一款16位微控制器,其高速的处理和特殊的内核结构使它能够非常快速地处理复杂的数字信号,同时其内嵌32KB的FLASHROM和2KB的SRAM能够存储所需的数据和程序,特别是其所提供的语音识别函数可供方便地进行调用,不需要过多地考虑语音算法,为语音识别设计带来了很大的方便。本文选用SPCE061A作为该系统的控制核心,系统硬件结构如图1所示。

系统硬件结构图

图1系统硬件结构图

  方案论证

  主控模块和语音处理模块的选择

  较MCS-51系列单片机而言,SPCE061A单片机内部集成有32KB的ROM、2KB的SRAM,更能满足软件对空间的要求,且不需要扩展相关存储器。另外,该类单片机完全支持C语言,软件编写比较方便,语音处理模块采用凌阳的语音压缩算法,也用软件来实现。该单片机内部集成有A/D、D/A转换功能,方便实现语音录放功能。

  电机模块的选择

  电机模块选择直流电机。与步进电机相比较而言,直流电机具有转速快、控制方便等特点,更能够满足小车较高速行驶情况的要求,如图2所示。

电机控制模块原理图

图2电机控制模块原理图

  测路程方案的选择

  本文利用红外对管来实现对小车的路程测量。在小车的车轮转轴上安装一个不透光转盘,在转盘边缘均匀地打N个孔,当红外发射管发射的红外光经小孔照射到接收管时,接收管的反向端电平将发生变化,单片机通过检测这种电平的变化便可以自行计算出小车的运行路程。红外对管还具有体积较小、安装较霍尔传感器更方便、成本低等特点。

  系统硬件结构

  语音控制小车的系统硬件结构主要由两部分组成:一部分是SPCE061A精简开发板,另外一部分是电机控制板。SPCE061A精简开发板为系统主控模块,电机控制板则驱动小车的前后两个电机按系统的要求工作。

  小车控制板主要包括接口模块、电机控制模块、预留传感器接口以及电源模块等几部分。其中,电源模块采用集成稳压芯片L7805,在输出端(控制板的JP11)并接了一个470μF的去耦电容和一个0.1μF的滤波电容,增强了系统电压的稳定性和抗干扰性能。

  电机控制模块是整个控制板的核心部分,其根据61板的具体输出信号启动或停止相应的电机,并调整电机的正反转方向,实现小车的前进、倒退等功能。后电机的控制电路包括方向控制和速度控制两个单元,前电机的控制电路则只有方向控制单元。控制单元负责小车电机的正转、反转和停止三态控制。速度控制单元是扩展单元,以适应不同的场合需求。

  红外对管测小车运行路程部分的原理图如图3所示。

红外对管电路原理图

图3红外对管电路原理图

  红外发光管D2和接收管U4安装在同一水平线上,发射管D2一直处于发射工作状态。当D2和U4间没有被挡住,即D2发射的红外线照射在U4上时,U4的2脚和3脚导通,同时2脚和1脚也导通,此时晶体管Q1的基极电压为Ub=VDD×R12/(R12+R10),Q1导通,SPEED端近似于接地,呈低电平状态。当D2和U4间被挡住时,即D2发射的红外线不能照射在U4上时,U4的2脚和3脚截止,同时2脚和1脚也截止,此时Q1的基极经电阻R12和R10接地,即基极电压为0V,此时Q1截止,SPEED端经电阻R11接到VDD,呈高电平状态。单片机通过检测这种高低电平的变化来实现小车的路程测量。[page]

  软件部分

  主程序流程

  小车的主程序流程图如图4所示,主要分为四部分:初始化部分、训练部分、识别部分和重训操作。

主程序流程图

图4主程序流程图

   初始化部分的初始化操作会将SPCE061A单片机上的IOB13~IOB10设置为输出端,用以控制电机。将其IOA的低8位IOA0~IOA7设置为下拉的输入端,用来连接按键。

  训练部分完成的工作是建立语音模型。程序一开始会判断小车是否被训练过,如果没有训练过,系统会要求对其进行训练,并且会在训练成功之后将训练的模型存储到Flash中;如果已经训练过则会把存储在Flash中的模型调出,装载到辨识器中。

   在识别环节当中,如果辨识结果是名字,直接置待命标志,然后等待动作命令。只有检测到待命标志,小车才会根据相应的辨识结果执行动作。如果没有待命标志,即使识别到动作命令也不会执行动作。小车在执行完对应的命令之后清除待命标志,结束待命状态。

  考虑到有重新训练的需求,这里设置了重新训练的按键。程序运行时循环扫描该按键,什么时间检测到此键按下,则将擦除语音模型存储区首单元(0xe000)所在的页,等待复位到来。复位后,程序重新从头开始执行,当检测到语音模型存储区首地址为0xffff(擦除后的值)时,系统会要求重新对其进行训练。

  FIQ中断服务程序

 

  FIQ中断服务程序用来调用语音辨识子程序,并对a2000格式的语音进行解码播放。

  调试及性能分析

  系统的调试以程序为主。硬件调试时,首先检查电路的焊接是否正确,然后用万用表测试或通电检测。软件调试则需要分别进行主程序、FIQ中断服务程序、显示子程序等的编程及调试。本程序采用单片机汇编语言编写,用KEILuVision2编译器编程调试。软件调试直到语音能够控制小车的行驶状态,并显示出小车的行驶距离等功能为止。

  结语

  本文设计的语音控制系统主要采用16位单片机SPCE061A来实现。软件编程则是采用C语言和汇编语言的混合编程来实现的,集两种语言的优点于一体,实现对硬件的实时控制。通过实验验证,该语音控制系统主要可实现以下功能:

  (1)可以通过语音命令来控制小车的行驶状态,实现前进、后退、左转、右转等功能;

  (2)显示小车的运行时间以及运行路程;

  (3)可以扩展控制板的调速环节,利用系统的PWM资源,实现小车的PWM调速;

  (4)预留多路开关型传感器接口,可以自行安装各类传感器,配合程序实现小车的循迹、避障等功能。

  参考文献

  1.李晶皎.嵌入式语音技术及凌阳16位单片机应用[M].北京:北京航空航天大学出版社,2003:6-8

  2.刘科斌,韩佳玲,李国宾.监控系统的语音识别与语音提示[J].辽宁师专学报,2002,4(3):19-20

  3.马忠梅,籍顺心等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社.2004

  4.ASimpleIntelligentElectricalCarBasedonSCM.电子技术[J].2004(04)

  5.熊庆国.新型16位单片机SPCE061A及应用展望[J].现代电子技术,2003(8):55-56,59

关键字:SPCE061A  语音控制系统  微控制器 引用地址:基于SPCE061A的小车语音控制系统

上一篇:如何用MCU设计可穿戴电子产品
下一篇:基于LJD-ZN-8400T智能触摸液晶显示终端与单片机的接口

推荐阅读最新更新时间:2024-03-16 13:44

8051系列单片机BASIC语言开发环境简介
  BASIC语言已经发展到QuickBASIC、Visual Basic以后,已经具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递等。   早期的BASIC语言由于生成的代码不是最终目标机器的代码,而是经过一个RUNTIME程序解释后运行的,因而执行效率低。而单片机的BASIC编译器直接将代码编译成相应芯片的机器码,不需要在单片机的内存中驻留RUNTIME程序,执行效率与其他编译器编译出来的一样。   MCS-Electronics公司开发的BASCOM-8051开发环境是以BASIC语言为基础的单片机编程系统,具有易学易用、功能强大、开发周期短等特点。   一、命令分类示例   1、伪指令
[单片机]
51单片机串口通信数码管显示
/********************************************************************************* * 【外部晶振】: 11.0592MHZ * 【主控芯片】: STC89C52 * 【程序功能】: 串口工作方式1,8位UART,比特率9600,接收串口数据,数码管以十 进制格式显示,并且把接收到的数据加1后通过串口发出 **********************************************************************************/ #include reg
[单片机]
单片机内部定时/计数器实验程序
新人发帖: 实验六、实验内容 1. 连线并编制程序。使用定时器1中断,按方式1工作,得到1S的定时;按方式2工作,得到4ms的定时。 2.初始化程序 包括定时器初始化和中断系统初始化。主要对IP,IE,TCON,TMOD 的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP不必设置。 3.设计中断服务程序和主程序 中断服务程序除了要完成计时工作外,还要实现动态显示。 软件设计:扩展单个按键,使其具有“开启/停止/清除”的功能,开启:可以实现0—99S的计时,停止:能显示记录的时间,清除:具有清除当前记录重新记录数据。 仿真原理图如下 单片机源程序如下: #include reg51.h #defi
[单片机]
<font color='red'>单片机</font>内部定时/计数器实验程序
单片机学习记录——继电器
继电器简介 单片机接继电器电路,用偏小的信号,达到直接控制大电流负载的目的,即弱电控制强电。单片机的引脚输出来控制继电器的闭合与断开。 硬件连接 从电路图可得知,继电器只有一个接口J2与单片机相连接。当接低电平时,继电器闭合;当接高电平时,继电器断开。继电器的闭合可通过叫做DK的LED显示出来。 软件设计 /**************************************************** * 函 数 名 : relay_on * 函数功能 : 使继电器闭合 * 输 入 : 无 * 输 出 : 无 **************************
[单片机]
<font color='red'>单片机</font>学习记录——继电器
8051单片机实战分析(以STC89C52RC为例) | 07 - 独立按键驱动
按键是比较常用的也是比较简单的人机交互操作,按键实际上是一个非自锁的轻触开关,按下时触点会闭合,松开是触点断开。 1 独立式按键 常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自与独立的输入线相连接,如图所示。 4 条输入线接到单片机的 IO 口上,当按键 K3 按下时,K3两边的线路将会导通,P32这个单片机IO口直接接到GND,此时P32这个引脚就是低电平了。当松开按键后,当松开按键后,线路断开,就不会有电流通过,那么P32引脚就会是默认的电平状态,是一个高电平,因为被上拉电阻R8拉到了VCC状态。所以我们就可以通过 P32 这个 IO 口的高低电平来判断是否有按键按下。 2
[单片机]
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 07 - 独立按键驱动
单片机上使用M430/OS对系统的意义解析方案
引 言 1 在MSP430上使用RTOS的意义 一般的观点认为,MSP430上使用RTOS是没有意义的这是可以理解的。因为MSP430的硬件资源有限(以MSP430F149为例,只有2KB RAM),任何商业操作系统都不可能移植到MSP430上。目前在MSP430上得到应用的RTOS,只有μC/OS-II,但使用μC/OS-II 必须有昂贵的C编译器,这严重地限制了其在MSP430上的使用。 正是基于以上情况,笔者在应用MSP430过程中,编写了一个基于MSP430F149的RTOS,暂定名为M430/OS。它占用RAM量少、代码短小,稍加改动就可适用于大多数其它MSP430单片机。 在MSP430单片机系统上使用M430
[单片机]
51单片机的C语言延时的一些总结
在网上搜了一些关于C51单片机C语言的精确延时(相对)的例子和方法 现总结如下: 1,_nop_() 适用于us级的少量延时 标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。 这在汇编语言中很容易实现,写几个nop就行了。 在keil C51中,直接调用库函数: #include // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用 _nop_ 函数,这个函数相当汇编NOP指令,延时几微秒。 NOP指令为单周期指令,可由晶
[单片机]
基于单片机的电动汽车多功能充电系统设计
   引言   由于石油危机和日益严重的环境污染,电动汽车发展已经是大势所趋。蓄电池为电动汽车提供动力,而蓄电池充电性能直接影响蓄电池的使用和寿命,蓄电池一般分为铅蓄电池、镍镉电池、镍氢电池和锂离子电池。由于蓄电池种类繁多且容量不一,不同种类和容量的蓄电池往往需要不同的充电器匹配,如果蓄电池的充电器匹配不好会出现过充过热等不安全现象,从而影响蓄电池的正常使用并缩短蓄电池寿命。因此,设计一款基于单片机控制的能为各类蓄电池充电的多功能充电系统是十分必要的。多功能充电系统能快速稳定地为不同类型和不同容量的蓄电池充电,我们在软件上针对不同类型的蓄电池设计了相应的充电方法,使每种蓄电池都能在最佳充电方法下充电。对于不同容量的蓄电池,在
[单片机]
基于<font color='red'>单片机</font>的电动汽车多功能充电系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved