当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于16位微控制器的小车语音控制系统

引言

  SPCE061A是一款16位微控制器,其高速的处理和特殊的内核结构使它能够非常快速地处理复杂的数字信号,同时其内嵌32KB的FLASH ROM和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,呈高电平状态。单片机通过检测这种高低电平的变化来实现小车的路程测量。

   [!--empirenews.page--]软件部分

 

  主程序流程

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

  

 

  图4 主程序流程图

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

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

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

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

  FIQ中断服务程序

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

  调试及性能分析

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

  结语

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

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

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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭