基于单片机技术的语音控制小车设计
- 格式:doc
- 大小:181.00 KB
- 文档页数:25
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工作电流:运动时约 200mA3.SPCE061A特性简介SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。
课程设计说明书(论文)课程名称:单片机课程设计设计题目:语音控制小车院系:自动化测试与控制系班级:设计者:学号:指导教师:设计时间:2011.8.22-2011.9.2课程设计任务书姓名:院(系):专业:测控技术与仪器班号:任务起至日期:2011 年8 月22 日至2011年9月02日课程设计题目:语音控制小车设计要求和技术参数:一、功能要求小车采用语音识别技术,可通过语音命令对其行驶状态进行控制。
主要功能:1.可以通过简单的I/O操作实现小车的前进、倒车、左拐、右拐功能;2.可以增加左转弯、右转弯、S形走等功能;3.配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;4.可以在行走过程中声控改变小车运动状态;5.在超出语音控制范围时能够自动停车。
二、参数说明车体:双电机两轮驱动供电:电池(三节AA:1.5V×3)工作电压:DC 4V~6V工作电流:运动时约200mA尺寸:155mm×85mm×35mm(长×宽×高)(如果加上61板高再加15mm)工作量学习凌阳单片机熟悉凌阳单片机开发环境及程序流程设计和编写程序装载调试运行各种拟实现的功能撰写结题报告准备验收工作计划安排学习凌阳单片机 8.23---8.24熟悉凌阳单片机开发环境及程序流程设计和编写 8.25---8.26程序装载调试运行各种拟实现的功能 8.29---8.30撰写结题报告准备验收 8.31---9.1同组设计者及分工同组人:分工:共同完成凌阳单片机学习过程;其余所有部分独立完成。
指导教师签字___________________年月日教研室主任意见:教研室主任签字___________________年月日*注:此任务书由课程设计指导教师填写。
单片机课设报告一、课设目的及要求(1)课题目的通过设计一个由单片机控制的智能小车来熟悉模块化变成方法掌握C语言及汇编语言的程序设计和调试方法,并理解单片机的原理、结构、指令、运行模式功能模块及应用开发方法。
基于单片机技术的语音控制小车设计【摘要】本文主要介绍了Keil C51简介、汇编语言的发展、智能小车的软件实现,以及小车的机械结构和使用说明以及工作原理。
基于单片机技术的语言控制小车的程序。
关键词:语音控制、汇编语言Abstract: This text primarily introduced the keil c51 the brief introductioned, edit collected materials language that small car of development, intelligence that software realizes, and small car of the machine construction explain with usage and work principle.According to procedure for small car of control of language of technique machine of single slice.It is detailed to introduced......Key words:Speech control, edit collected materials the language、uVision2、Keil C51目录1 绪论 (1)1.1问题的引入 (1)1.1.1声控产品前景及发展趋势 (1)1.1.2研究的目的及意义 (1)2 声控小车软件的设计方案 (3)2.1任务分析 (3)2.1.1设计要求 (3)2.1.2设计思路及软件流程图 (3)图2-1 (3)3 KEIL C51简介及汇编语言的发展 (4)3.1K EIL C51简介 (4)3.1.1 8051开发工具 (4)3.1.2 uVision2集成开发环境 (4)3.1.3 uVision2编辑器和调试器 (5)3.2汇编语言的发展 (6)3.2.1汇编语言的发展史 (6)3.2.2 汇编语言的优点 (6)3.2.3 汇编语言的应用 (6)4 小车使用说明 (8)4.1小车的工作原理 (8)4.1.1 车体的介绍及工作原理 (8)4.2语音的训练 (9)4.2.1 S1—S4功能键如下 (9)4.2.2 基本控制电路 (10)5 声控小车的软件实现 (11)5.1功能分析 (11)5.1.1主控电路 (11)5.2程序设计 (12)结束语 (18)谢辞 (19)文献 (20)1 绪论本文主要介绍“基于单片机技术的语音控制小车”。
基于单片机技术的语音控制小车设计--(附:湘潭市技师学院毕业论文(设计)题目关于单片机控制语音小车的系统设计专业机电一体化班级:姓名指导教师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自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。
以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。
借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能.2、语音控制小车设计要求2.1 功能要求:1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能;2.配合 SPCE061A 的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;3.可以在行走过程中声控改变小车运动状态;4.在超出语音控制范围时能够自动停车。
毕业设计题目基于单片机的声控小车设计姓名学号系部理工系年级专业2012级电子信息工程一班指导教师2016年 5月 1 日摘要在过去三四十多年来,声控智能小车逐渐成为人们生活的必需品,声控智能小车为人们的居住、出行以及旅游等方面创造力良好的条件。
随着社会经济和科学技术的逐步发展,声控智能小车的设备也不断地进行更新换代,优秀的声控智能小车控制系统层出不穷。
另一方面,随着城市人口的剧增,声控智能小车面临需求量越来越大,传统的声控智能小车测量遥控时操作麻烦,精度不高。
声控智能小车使用者因为精度不高或者操作繁琐的情况时有发生,给声控智能小车声控智能小车使用者带来很多不便。
基于这种原因,现在声控智能小车急需增加在一定遥控范围内的功能系统,来解决声控智能小车面临的上述问题。
本文正是基于以上实际需求,设计了一种新型的基于单片机的声控智能小车控制器的设计系统。
该系统由89C51单片机作为系统控制芯片,在声控智能小车上增加USB电插口,并利用单片机控制在手机充满时自动关闭该口的电源;可以通过人体的声音识别来控制智能小车的前进或者拐弯等动作,可以用定量地控制用户对小车的控制。
关键词:声控智能小车;80C51;程序控制;遥控保护Title V oice control car design based on MCUAbstractIn the past thirty or forty years, the socket has gradually become a necessity in people's lives, outlet for people live, travel, tourism and other aspects of creativity in good condition. With the development of social economy and science and technology, socket equipment is constantly upgrading, excellent control system emerge in an endless stream socket. On the other hand, with the city's population increasing, facing socket demand is growing, the traditional temperature measurement socket operation trouble, the accuracy is not high. Because the socket user accuracy is not high or tedious situations have occurred, to bring a lot of inconvenience to users socket socket. For this reason, now need to increase the socket in a certain temperature range of the digital display system, to solve the problem faced by the socket.This paper is based on the actual demand, design a new design system of socket controller based on mcu. The system by the MCU 89C51 as the system control chip, USB power jack on the socket, and controlled by a single chip on the phone with automatically shut down the power; increase the anti lightning, anti short circuit, overload prevention, anti leakage function and power detection function, can use mobile phone client view this month's electricity.Key words: Socket; 80C51; program control; over current protection目录摘要 (II)1 绪论 (3)1.1 课题研究的背景和意义 (3)1.2 智能声控小车的设计原理 (4)1.3 设计的主要完成工作 (6)2 系统设计理论基础 (7)2.1 系统工作原理 (7)2.2 系统设计要求 (7)3 系统硬件设计 (9)3.1 单片机模块 (9)3.2 继电器模块 (11)3.3 液晶显示电路 (12)3.4 按键电路的设计 (13)3.5 语音识别电路设计 (14)3.6 电机驱动电路 (14)4 系统软件设计 (16)4.1 主程序流程 (16)4.2 语音识别模块编程 (17)4.3 LCD显示程序设计 (18)4.4 键盘接口应用实现 (20)4.5 系统遥控程序的实现 (21)5 系统仿真和调试 (22)5.1 PROTUES仿真软件的介绍 (22)5.2 KEIL软件的介绍 (23)5.3 系统仿真 (23)结论 (26)致谢 (27)参考文献 (28)附录(实物图与源代码) (29)1 绪论伴随着社会科技的发展和经济的进步,声控智能小车由上世纪八十年代的人工操作和遥控设定逐渐被自动控制加模块系统所替代。
基于凌阳单片机的语音控制小车摘要声音控制功能是凌阳单片机的一个特色,通过这个功能更能够实现普通单片机无法实现的一些任务,本设计是通过凌阳单片机的语音处理功能实现语音控制小车的前进和方向,并让小车作出相应的回答,设计系统主要包括三大部分,其中两部分为硬件部分:凌阳单片机的小系统,包括I/O端口、DAC转换、ADC转换等等;另一部分是控制板部分,用于控制电机的旋转方向;第三部分为软件部分。
关键词:语音控制小车;声控;小车;SPCE061ABased on Ling Y ang monolithic integrated circuit's voice control carAbstractThe phonic control function is a Ling Y ang monolithic integrated circuit's characteristic, suffices some duties which through this function realizes the ordinary monolithic integrated circuit to be unable to realize, this design is realizes the voice control car's advance and the direction through the Ling Y ang monolithic integrated circuit's pronunciation processing function, and lets the car make the corresponding reply, the design system mainly includes three major parts, two parts for hardware part: The Ling Y ang monolithic integrated circuit's small system, including the I/O port, DAC transforms, ADC transformation and so on; Another part is the control panel part, uses in controlling electrical machinery's hand of rotation; The third part is the software part.Key word: V oice control car;V oice control;Car;SPC061A目录1 引言 (1)2方案论证 (2)2.1方案论证 (2)3语音控制小车设计要求 (3)3.1功能要求 (3)3.2备注 (3)3.2.1 参数说明 (3)3.2.2 注意事项 (3)3.3扩展功能 (3)4 凌阳芯片的介绍 (4)4.1SPCE061A芯片的特点及其功能 (4)4.2SPCE061A芯片内核结构 (5)5硬件系统设计 (6)5.1系统的总体方案 (6)5.1.1 16位微处理器芯片的外围结构 (6)5.261板的各部分硬件模块 (7)5.2.1 麦克录音输入及AGC电路 (7)5.2.2 数摸转换电路 (7)5.2.3 按键,LED和复位电路 (8)5.2.4 电源电路 (8)5.2.5 下载线接口电路和在线调制电路 (9)5.2.6 16位微处理器的连接电路 (9)5.3车体介绍 (10)5.4小车的行走原理 (10)5.5控制电路原理板 (11)5.6控制电路原理 (12)5.6.1 后轮电机驱动电路原理 (12)5.6.2 前轮电机驱动电路原理 (13)6 系统软件设计 (14)6.1系统主程序设计流程图 (14)6.2语音识别 (15)7硬件制作及系统调试 (17)7.1硬件制作 (17)7.2调试和下载程序 (17)7.3调试小车 (17)7.4初试小车 (17)7.5重新调试 (18)结束语 (19)致谢 (20)参考文献 (21)附录附录1 电路原理图(61板)附录2 电路原理图(控制板)附录3 元件清单附录4 PCB图附录5 小车图片附录6 主控制源程序基于凌阳单片机的语音控制小车1 引言语音控制技术是一门新兴技术,可以通过语音直接控制电子产品,摆脱了遥控器的束缚。
基于 STC 单片机的智能语音控制小车一、实验目的1.随着科技的进步和社会的发展, 汽车技术的发展越来越智能化。
本次接口实验 设计就是基于简单智能化的基础上, 采用LD3320 语音单元和 STC 单片机和L298N 机电驱动, 开辟出基于语音无线控制与智能避障的小车, 实现非特定人声语音控 制小车, 以及小车超声波自动避障行驶的功能, 同时液晶显示出超声波前方障碍 物的距离。
2.掌握用 Altium Designer10 软件绘制原理图和 PCB 电路,以及电路板的制作 过程(包括转印、腐蚀,焊接,下载与调试),熟练 Keil uVision4 环境以及单 片机 C 代码的编写、 调试和 hex 文件的生成并下载到单片机芯片内, 掌握软硬联 调技巧与方法。
3.掌握 基于 LD3320 的语音单元的编程、语音处理及与单片机间的通信。
二、系统总体方案本次设计的小车采用 STC89C52 单片机作为主控芯片, 通过 LD3320 语音单元 接单片机控制小车行驶状态(包括前进、后退、左转、右转及停车);小车行驶 过程中遇到障碍物, 如果没有接收到语音信号而超声波检测模块检测周围障碍物 小于安全距离 40cm ,小车自动转向, 距离通过 LCD1602 液晶显示出来; 采用 L298 作为机电驱动芯片驱动小车行驶。
系统总体框图如图 2.1:图 2.1 系统总体框图LCD1602 液晶显示STC89C52 单片机7805 稳压电路18650 锂电池电源HC-SR04 超声波模块L298N 机电驱动直流减 速机电降压模块扬声器LD3320 语音单元三、硬件设计3.1 主控系统本次设计采用 STC89C52 单片机作为控制芯片, STC89C52RC 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 字节系统可编程 Flash 存储器。
单片机系统电路图 2:图 3.1 单片机最小系统原理图复位电路:手动复位,按下复位按钮,复位脚得到 VCC 的高电平,单片机复位,按钮松开后,单片机开始工作。
本科毕业设计(论文)基于单片机的语音控制小车设计摘要随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。
目前,声控技术已在很多领域得到使用。
本文对语音控制功能的小车概况做了阐述。
在硬件设计方面,本论文以凌阳公司的SPCE061A单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。
完成了电源电路、复位电路、键盘电路、音频输入电路,音频输出电路和无线控制电路等硬件功能模块的设计。
在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。
设计出具有如下功能的语音声控小车:能够根据录制的语音命令来控制小车的前进,后退,左转,右转的功能。
测试表明,在环境背景噪音不太大,控制者的发音清晰的前提下,语音控制小车的语音识别系统能对特定的语音指令做出智能反应,做出预想中的有限的动作。
论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。
关键词:SPCE061A,语音识别,全桥驱动,小车IVoice control car design based on single chipmicrocomputerAbstractWith the development of the electronics industry, the voice - the control car become more and more popular to people. And it plays an important role in people 's daily life. At present, the voice - activated technology has had 2 in many fields, For example, voice - activated phone. Only if you called out the names you want and it automatically called to the telephone.This article gives a detail to the voice-activated car. In hardware design, the paper use Sunplus SPCE061A as the control of core. On the software, we use C language programming for voice "training"and"recognition". .Completedthepowercircuit,resetcircuit,keyboardcircuitry,audioinput circuits,audiooutputcircuitandcontrolcircuitofwirelesshardwaresuchasthedesignoffunctionmodule s.It has the following features: According to recorded the voice command to control the car to start, stop,turn right , and turn left. Tests have shown that background noise in the environment is not too big, the controller under the premise of clear pronunciation, voice control car voice recognition system can make intelligent response to a particular voice commands, limited, as expected.First of all, cca shut confirm the system of the program, and then describe the unit 's software and hardware as well as introduce the main components of the situation.Key words:S PCE061A,Speech Recognition,Full-bridge ,driver,TrolleyII目录摘要 (I)Abstract (II)第1章绪论.......................................................................................................................... - 1 -1.1 选题的目的和意义.................................................................................................... - 1 -1.1.1选题目的............................................................................................................. - 1 -1.1.2.选题意义............................................................................................................. - 1 -1.2 语音小车的发展及现状............................................................................................ - 1 -1.3 课题的目的任务和要求............................................................................................ - 2 - 第2章语音小车的方案论证.................................................................................................. - 3 -2.1 语音控制方案............................................................................................................ - 3 -2.2 方案论证.................................................................................................................... - 4 -2.2.1 采用DSP+FPGA方案 ...................................................................................... - 4 -2.2.2采用MCS-51方案 ............................................................................................. - 4 -2.2.3 采用凌阳61方案.............................................................................................. - 5 -2.3 系统控制方案............................................................................................................ - 6 - 第3章系统硬件设计.............................................................................................................. - 9 -3.1 系统硬件总体设计.................................................................................................... - 9 -3.2 系统各单元设计...................................................................................................... - 10 -3.2.1 控制单元设计.............................................................................................. - 10 -3.2.2 动力单元设计.............................................................................................. - 15 -3.2.3 音频单元设计.............................................................................................. - 16 -3.2.4 小车单元设计.............................................................................................. - 19 -3.3 系统总体电路图...................................................................................................... - 25 - 第4章系统软件设计............................................................................................................ - 26 -4.1系统总体程序设计................................................................................................. - 26 -4.2 系统各分支设计..................................................................................................... - 28 -4.2.1训练子程序....................................................................................................... - 28 -4.2.2语音识别子程序............................................................................................... - 29 -III4.2.3动作子程序....................................................................................................... - 31 -4.2.4中断子程序....................................................................................................... - 34 - 第5章系统调试.................................................................................................................... - 37 -5.1 硬件调试.................................................................................................................. - 37 -5.2 软件调试.................................................................................................................. - 38 -5.3 系统联调.................................................................................................................. - 39 - 结论........................................................................................................................................ - 41 - 参考文献.................................................................................................................................. - 43 - 致谢........................................................................................................................................ - 45 - 附录.. (2)IV第1章绪论1.1 选题的目的和意义1.1.1选题目的通过设计一个用单片机控制的语音小车来熟悉模块化编程方法,掌握C语言汇编语言的程序设计和调试方法,并理解单片机的原理、结构、指令;运行模式及应用方法。
江苏科技大学本科毕业设计(论文)学院江苏科技大学专业机械电子工程学生姓名***班级学号05******指导教师李磊二零零九年六月江苏科技大学本科毕业论文江苏科技大学本科毕业论文基于单片机的声控小车控制The control of V oice-activated car based on Single Chip摘要随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。
目前,声控技术已在很多领域得到使用。
比如声控手机、声控洗衣机、电视机、电脑等设备。
本文对声控小车概况做了阐述。
在硬件设计方面,本论文以凌阳公司的SPCE061A 单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。
在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。
设计出具有如下功能的语音声控小车:能够根据录制的语音命令来控制小车的启动、停止、返回、拐弯。
论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。
关键词:SPCE061A,语音识别,全桥驱动,小车AbstractWith the development of the electronics industry,the voice-control car become more and more popular to people. And it plays an important role in people's daily life. At present, the voice-activated technology has been used in many fields. For example, voice-activated phone. Only if you called out the names you want and it automatically called the telephone. There are also voice-activated washing machines, televisions, computers and other equipments.This article gives a detail to the voice-activated car. In hardware design, the paper use Sunplus SPCE061A as the control of core. On the software, we use C language programming for voice "training" and "recognition". It has the following features: According to recorded the voice command to control the car to start, stop, return, and turn.First of all ,papers confirm the system of program, and then describe the unit's software, hardware as well as introduce the main components of the situation.Key words: SPCE061A,Speech Recognition,Full-bridge driver,Trolley目录第一章绪论 (1)1.1引言 (1)1.2国内外研究状况 (1)1.3存在的不足或有待解决的问题 (2)1.4课题的目的任务和要求 (2)第二章设计方案论证 (3)2.1系统总体方案 (3)2.2系统硬件方案 (4)2.3系统控制方案 (5)2.4小结 (5)第三章系统硬件设计 (6)3.1SPCE061A 特性简介 (6)3.2精简开发板——61 板 (7)3.3车体介绍 (8)3.3.1小车的行走原理 (9)3.4控制板原理图 (11)3.4.1全桥驱动原理 (12)3.4.2动力电机驱动电路 (15)3.4.3方向电机控制电路 (15)3.5小结 (17)第四章系统软件设计 (18)4.1 系统的总体程序流程 (18)4.1.1 语音识别的原理简介 (19)4.1.2 训练子程序 (20)4.1.3 语音识别子程序 (22)4.1.4 动作子程序 (22)4.1.5 中断子程序 (24)4.2 程序中需要说明的几个问题 (25)4.3小结 (26)结语 (27)致谢 (28)参考文献 (29)附录 (31)第一章绪论1.1引言所谓声控技术其实也就是利用语音识别技术来达到控制或者操作的一种技术,而语音识别技术这近五年来已经有很大的进步,最新的语音识别技术可以辨识90%以上的人类说出的字。
TP3黄常明2010年月日摘要摘要随着科学技术和人类生活水平的提高,利用语音识别技术来设计、制造各种消费电子产品和电器设备,是社会发展的必然趋势。
什麽是语音识别技术呢!简单地说,就是电子设备或计算机设备能听懂人说的话,并理解它,做出正确的反映,或者去实施相应的动作,它是融合了多门学科的一个研究领域。
语音识别技术具有非常大的发展前景,本文全面地总结了该领域的发展历史,阐述了本课题的社会意义和经济价值。
课题首先全面剖析了语言、语音的基本特性,分析了语音识别系统的算法建模的理论基础,以及如何构成ASR技术系统的基本结构,并详细说明了该系统的工作原理。
由理论基础和识别技术上的研究可知,语音识别系统主要分为两大类:一类是以研究生产的专门芯片为硬件的核心,构成嵌入式语音识别系统;另一类是以PC机为核心硬件构成较大型的语音识别系统。
根据SPCE061A单片机独特的嵌入式语音识别系统和相应的集成开发环境,本课题设计出了基于语音控制的电动小车,该系统是以特定人嵌入式语音识别系统为主,也可适应于非特定人的语音识别系统。
设计了小车的实体构成系统及相应的组装、检测过程,并编写了相应的系统软件程序,该小车能够在语音的控制下,自如地实现前进、后退、转向、停止等各种运动状态。
本系统在语音音频特性的取样过程中,我们的数据必须通过很好的压缩处理来节约空间,应用了失量量化的方式进行,主要采用了离散隐马尔可夫模型和其他的相应算法来实现语音模板的训练,同时实现相应的识别命令。
最后,详细地介绍了IDE集成开发环境的功能,开发操作方法,以及如何进行程序的加载和调试。
关键词:语音识别,系统原理,语音控制,电动小车IABSTRACTAs science and technology and human living standards, the use of voice recognition technology to design and manufacture a variety of consumer electronic products and electrical equipment, is the inevitable trend of social development. What is speech recognition technology does! Simply put, that is, electronic devices or computer equipment can understand people saying, and understand it, and make a correct reflection of, or to implement the corresponding action, which is the integration of a multi-discipline field of study.Speech recognition technology has great prospects for development, this article summarizes a comprehensive history of the development in this area, explained the topic of social significance and economic value. First, a comprehensive analysis of issues of language, voice, basic characteristics, analysis of the speech recognition system modeling algorithm theoretical basis, and how to constitute the basic structure of ASR technology systems, and details of the system works.By the theoretical foundation and identify the technical research we can see that voice recognition system is mainly divided into two categories: one is based on research and production of specialized chips for the hardware, the core, constitutes an embedded speech recognition system; and those based on PC, as the the core hardware structure of the larger speech recognition system.According to SPCE061A SCM's unique embedded speech recognition system and the corresponding integrated development environment, this topic based on voice control design of electric trolley, the system is based on a particular person based embedded speech recognition system can also be adapted to non-specific human voice recognition system. Designed a trolley system and the corresponding entities constitute the assembly, testing process and the preparation of the corresponding system software program, the car can be under the control of speech, the freedom to achieve forward, backward, turn, stop, and other state of motion. This system features the voice audio sampling process, our data must pass a very good compression to save space, the application of the loss of a way to quantify the amount of the main uses of discrete hidden Markov models and other algorithms to achieve the corresponding voiceIItemplate of training, while achieving the corresponding recognize the command. Finally, the detailed description of the function of IDE integrated development environment to develop operational methods, and how to load and debug programsAt present, speech recognition system to sb-core hardware, mainly to PC machine as the core hardware and the speech recognition system to a dedicated hardware chip as the core of the embedded speech recognition system. In this paper, the stdy is based on SCM SPCEO61A people and non-specific embedded speech recognition system.Key words:speech recognition, systems theory, voice control, SPCE061A single-chip, small electricalIII电子科技大学硕士学位论文目录第一章绪论 (1)1.1 课题研究的意义及背景 (1)1.2 国内外研究发展概况与趋势 (2)1.3 嵌入式系统及其发展历程 (2)1.4 本课题研究内容与论文结构 (3)第二章语音识别基础 (5)2.1 语音识别的声学基础 (5)2.1.1 建立语音信号数学模型的意义 (5)2.1.2 语音信号产生的数学模型 (5)2.1.3 汉语音节的结构和特点 (6)2.2 语音识别的系统结构 (7)2.2.1 语音通信的层次模型 (7)2.2.2 语音识别的原理 (9)2.3 传统语音识别系统的不足 (9)第三章语音识别系统的基本原理 (11)3.1 语音识别系统的结构原理 (11)3.2 语音识别系统的硬件组成 (11)3.3 语音信号的预处理 (12)3.3.1 语音采样 (12)3.3.2 去除噪音 (13)3.3.3 端点检测的方法 (14)3.3.4 预加重 (14)3.3.5 加窗分帧 (15)3.4 特征参数提取 (15)3.4.1 线性预测系数 (16)3.4.2 线性预测倒谱系数 (17)IV目录3.4.3 Mel倒谱系数(MFCC (18)3.5 矢量量化技术 (19)3.6 模板训练方法 (20)3.7 模板匹配方法 (20)3.7.1 隐马尔可夫模型 (20)3.7.2 动态时间归整 (23)3.7.3 人工神经网络 (23)第四章基于语音控制的电动小车的总体设计 (24)4.1 系统的组成设计 (24)4.1.1 语音控制电动小车的硬件组成框图 (24)4.1.2 系统总体硬件组成设计说明 (24)4.2 主控模块的电路设计 (25)4.2.1 SPCE061A的结构图 (25)4.2.2 SPCE061A的性能 (25)4.3 微处理及语音识别部分电路 (26)4.3.1 16位算术逻辑运算 (26)4.3.2 结合算术逻辑的16位移位运算 (27)4.3.3 DSP处理与语音识别 (27)4.4 接口与驱动部分电路的设计 (27)4.4.1 电源电路 (27)4.4.2电机接口电路 (28)4.4.3 电机驱动电路 (29)4.4.4 ICE接口电路 (30)4.5 主控板组装与测试 (30)4.5.1主控板及元器件 (30)4.5.2 电路板组装步骤 (33)4.5.3 主控板测试 (35)4.6 电动小车的设计 (37)第五章语音识别系统的软件设计 (39)5.1 软件总体的设计 (39)5.1.1 设计思想和流程图 (39)V电子科技大学硕士学位论文5.1.2 程序代码 (40)5.2 语音训练模块的设计 (44)5.2.1 设计思想和流程图 (44)5.2.2 程序代码 (45)5.3 语音识别模块的设计 (48)5.4 动作控制模块的设计 (49)5.5 定时中断程序的设计 (52)第六章系统的开发环境及调测结果 (54)6.1 u'nSP TM IDE集成开发环境 (54)6.1. 1u'nSP TM IDE的安装 (54)6.1.2u'nSP TM IDE主窗口及主菜单 (55)6.1.3u'nSP TM IDE工具栏 (56)6.1.4u'nSP TM IDE工作区 (58)6.1.5u'nSP TM IDE输出区与编辑区 (59)6.2 u'nSPTMIDE调试窗口 (60)6.3 u'nSPTMIDE的项目 (65)6.4 u'nSPTMIDE库文件加载 (67)6.5 u'nSPTMIDE头文件加载 (69)6.6 测试结果及分析 (70)第七章展望与总结 (72)7.1 展望 (72)7.2 总结 (73)致谢 (75)参考文献 (76)VI第一章绪论第一章绪论日月如梭,光阴似箭,社会和科学技术的发展日新月异,计算机对视频信号的处理已日趋完善,人们更希望能用语音的形式和机器及消费电子产品之间实现自然的沟通。
本科毕业设计(论文)基于语音控制的智能小车设计学生学院信息工程学院专业测控技术与仪器(光机电一体化方向)年级班别20 级(1)班学号学生姓名指导教师20 年月摘要现代社会电子产业高速发展使自动化成为广大民众的日常话题,越来越普及的语音控制系统在生活中随处可见,随着时间的推移,自动化与语音控制系统的结合也必将进入商用阶段。
本文将设计一种通过无线语音控制系统模拟的未来智能语音小车,展示智能语音小车的软件、硬件设计原理。
智能语音小车使用凌阳公司推出的SPCE061A 16位单片机作为主控中心,其中不仅拥有完整的系统电路,另外包含了供电、声音和复位电路等,配合其语音播放以及语音识别的特色,通过训练的语音指令命令小车使其前进、倒退、左转、右转,另外小车还支持重新语音训练。
SPCE061A 16位单片机具有低电压、低功耗、高性价比等特点,配合其开发环境IDE即可完成小车的总体设计方案,其中包含了语音播放、语音识别、驱动等,最终成为一辆智能的语音控制小车。
该系统是以特定人嵌入式语音识别系统为主。
通过实验测试表明,在外界的环境噪音较小并且发令者发音清晰的情况下,该小车可以对经过训练后的语音指令做出动作,并且性能稳定。
最后将会介绍IDE集成开发环境的功能,开发操作方法,以及如何使用小车。
该设计在软硬件的角度具有前瞻性,具体说明了未来智能语音小车的发展方向,具有推广价值。
关键词:SPCE061A,无线语音控制,语音识别,单片机,智能小车AbstractModern society The rapid development of the electronics industry makes automation become the daily topic of the general public. The increasingly popular voice control system can be seen everywhere in life. With the passage of time, the combination of automation and voice control system will enter the commercial stage.This article will introduce a wireless voice control system simulation of the future of intelligent voice car, display intelligent voice car software, hardware design principles. Intelligent voice car using Sunplus SPCE061A 16-bit microcontroller as the main control center, which not only has a complete system circuit, including the power supply, sound and reset circuit, with its voice playback and voice recognition features, through training V oice command command car to make it forward, back, turn left, turn right, another car also supports re-voice training. SPCE061A 16-bit microcontroller with low voltage, low power consumption, cost-effective features, with its development environment IDE can complete the overall design of the car, which includes voice playback, voice recognition, drive, etc., and ultimately become a smart voice Control the car. Experiments show that the car can be trained on the voice commands after training, and the performance is stable when the ambient noise is small and the sender is clear. The design of the hardware and software in the perspective of a forward-looking, specifically the future direction of the development of intelligent voice car, with the promotion of value.Key words:SPCE061A,Wireless voice control,Speech Recognition,Single chip,Smart car目录1 绪论 (1)1.1 题目背景及目的 (1)1.2 国内外研究状况 (1)1.3 题目研究内容 (2)2 语音识别小车的硬件总体方案 (3)2.1 设计要求 (3)2.2 SPCE061A总述 (3)2.2.1 SPCE061A特点 (3)2.2.2 SPCE061A性能 (4)2.2.3 SPCE061A的结构 (4)2.2.4 引脚排列 (5)2.3 SPCE061A最小系统 (6)2.4 61板硬件框图及简要说明 (7)2.4.1 61板接口说明 (8)2.4.2 61板的检测 (10)2.5 系统总体方案 (12)2.5.1 系统硬件方案 (13)2.5.2 系统控制方案 (14)2.6 车体部分介绍 (14)2.7 小车的行走原理 (15)2.8 控制板原理图 (15)2.9 全桥驱动原理 (16)2.9.1 动力驱动电路 (17)2.9.2 方向控制电路 (18)3 语音识别系统的软件设计 (20)3.1 语音识别系统 (20)3.2 语音识别系统的硬件组成 (20)3.3 语音信号的预处理 (21)3.4 特征参数提取 (21)3.5 矢量量化技术 (22)3.6 模板训练方法及匹配方法 (22)3.7 系统软件总体程序流程 (22)3.8 语音识别的层次结构及流程 (24)3.8.1 训练子程序 (25)3.8.2 语音识别子程序 (26)3.8.3 动作子程序 (27)3.8.4 中断子程序 (29)3.8.5 系统开发环境IDE及ISP工具 (29)3.9 程序中需要说明的问题 (30)4 智能语音小车的测试 (32)4.1 连接硬件 (32)4.2 代码下载 (32)4.3 训练小车 (33)4.4 声控小车 (34)4.5 重新训练 (34)4.6 语音识别测试结果 (35)结论 (36)参考文献 (37)致谢 (38)附录A (39)1 绪论1.1 题目背景及目的现代社会电子技术发展迅猛,自动化也随之崛起,在语音识别已成为大众日常生活中的一部分时,预见未来的汽车也将发展成为音控驾驶。
基于凌阳单片机的语音控制遥控小车摘要:本设计给出了以凌阳16位单片机为核心的语音小车的基本原理与实现方案。
该系统由直流电机,桥式驱动电路两个模块构成,分别由单片机独立地实现控制与语音识别功能,使其具有人机对话功能。
关键词:直流电机驱动语音识别凌阳16位单片机语音识别芯片目录1 绪论 (3)1.1语音识别小车的意义和作用 (3)2 系统方案设计与验证 (4)2.1 系统方案设计 (4)2.2 方案验证 (4)2.3 系统方案原理框图 (4)2.3.1 主系统控制部分方案 (5)3 系统各模块设计 (5)3.2 电机驱动模块 (7)3.2.2 三极管8550介绍 (8)3.2.3 三极管8050介绍 (9)4 软件设计 (10)4.1 软件任务分析 (10)4.2 软件准备数据 (11)4.2.1 电机转动编码 (11)4.3 软件程序流程及程序代码设计 (11)4.3.1 发送设备主流程图 (11)5 系统安装和调试过程 (12)5.1 系统安装过程 (12)5.2 系统调试过程 (12)参考文献 (12)1 绪论1.1语音识别小车的意义和作用随着电子业的发展,自动化已经不再是新鲜的话题了,在对系统业提出更高更深入的要求的同时,智能化已成为必然的发展趋势。
智能化产品已开始逐渐投入市场,走进千家万户,渗入各个领域。
随着经济的增长,个人拥有私家汽车已不再是梦想,伴随着汽车业的发展,无人驾驶的智能汽车也必将进入实用阶段。
本设计的主要是针对智能无人驾驶汽车设计出智能音控小车,在智能化小车上实现语音控制,避免出现许多大大小小的事故。
本设计方案也可应用于移库倒库过程中,而且在诸如智能建筑、公共便民设施、自动立体车库等类似的人性化环境中也能够发挥其作用。
2 系统方案设计与验证2.1 系统方案设计本系统由硬件和软件两部分组成。
硬件部分主要有无线发送和接收模块(JZ863)、障碍物检测模块(LM324和ST188(单光束反射式红外光电传感器))、直流电机驱动电路模块(H桥驱动电路)和遥控器的按键模块。
学士学位毕业设计(论文)基于单片机的声控小车学生姓名:XXX指导老师:X X所在学院:信息技术学院专业:电气工程及其自动化中国·大庆2015 年 5 月摘要本文主要设计一种用语音进行控制的单片机小车。
声控小车以拥有可编程音频处理的凌阳SPCE061A单片机作为整个系统的控制核心,不需要添加额外的语音芯片就能实现语音控制功能;声控小车采用H桥电路控制小车电机转动,根据语音识别技术,采用C语言进行编程,实现小车的前进、停止左转和右转,以及语音播报功能。
关键词:SPCE061A 声控小车语音识别H桥电路ABSTRACTThis paper states the design of a voice control car based on single chip microcomputer. In hardware design of the car, we use SPCE061A as the control center in the system, which have programmable audio processing and can realize voice control function without additional voice chip. V oice control car use H- bridge circuit to control the car motor rotation, according to the speech recognition technology, using C language programming, realize the car forward, stop, turn left, turn right and voice broadcast.Keywords: SPCE061A V oice control car Speech recognition technology H- bridge circuit目录摘要 (I)ABSTRACT ........................................................................................ I I 前言 (IV)1绪论.............................................................................................. - 1 -1.1国内外研究发展和现状 ........................................................ - 1 - 1.2研究主要内容......................................................................... - 2 -1.3研究的目的和意义................................................................. - 3 -2 小车的设计方案......................................................................... - 4 -2.1设计方案的选择..................................................................... - 4 -2.2整体设计方案......................................................................... - 4 -3 系统的硬件设计......................................................................... - 7 -3.1 MCU核心控制模块设计 ...................................................... - 7 - 3.2语音识别模块的设计........................................................... - 10 - 3.3 电机及其驱动电路模块设计 ............................................. - 13 -3.4电源模块............................................................................... - 15 -4 系统的软件设计....................................................................... - 17 -4.1语音模块程序设计............................................................... - 18 - 4.2电机控制模块程序设计 ...................................................... - 19 - 4.3主程序设计........................................................................... - 20 - 结论............................................................................................... - 22 -参考文献....................................................................................... - 23 -致谢............................................................................................... - 25 -附录一声控小车硬件原理图 .................................................... - 26 -附录二声控小车程序................................................................. - 27 -前言随着人们生活水平的提高,电子产品的快速发展,普通电子产品的消费已经满足人们需求。
基于单片机技术的语音控制小车设计基于单片机技术的语音控制小车设计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工作电流:运动时约 200mA3. 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可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;2 个 16 位可编程定时器/计数器(可自动预置初始计数值);2 个 10 位 DAC(数-模转换)输出通道;32 位通用可编程输入/输出端口;14 个中断源可来自定时器 A / B,时基,2 个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用音频编码 SACM_S240 方式(2.4K 位/秒),能容纳 210 秒的语音数据;锁相环 PLL 振荡器提供系统时钟信号;32768Hz 实时时钟;7 通道 10 位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;低电压复位(LVR)功和低电压监测(LVD)功能;内置在线仿真板(IC E,In-C ircuitEm ulator)接口。
4、系统总体方案介绍小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。
在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间一到,中断服务程序就会发出指令让小车停下来。
SPCE061A 被控对象控制板小车程序下控制程载电缆序下载线喇叭电池盒图1 控制系统所需硬件35、系统硬件设计系统的硬件方面,由于大部分的功能实现都是在61板上完成的,只有电机控制部分电路另外设计在一块独立的电路板上,我们称之为控制板。
下面详细的介绍小车的结构和运行原理以及控制电路板的结构和功能实现。
图2 系统硬件框图SPCE061 复位按钮 A芯片程序下载接口MIC输控制按钮入口图3 系统硬件组装效果图45.1 车体介绍语音控制小车为四轮结构。
其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。
在自然状态下,前轮在弹簧作用下保持中间位置。
后面两个车轮由后轮电机驱动,为整个小车提供动力。
所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮。
5.2 小车的行走原理.直走:由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。
倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动。
图4 小车前进、后退示意图左转:前轮电机逆时针旋转(规定为正转),后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进。
右转:前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。
图5 小车转向示意图55.3 控制板原理图控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如下。
接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8~IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12~IOB15 以及IOA8~IOA15接口,可以在这些接口上添加一些传感器。
电源部分:整个小车有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板的I/O输出电源。
系统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1后产生61板电源SPCE061A 在语音控制小车中的应用(VCC_61),通过61板的Vio跳线产生61板的端口电源(V1)。
图6 小车控制电路图6、系统软件设计6.1 系统的主程序设计系统的主程序流程如下图所示:6图7 主程序流程图共分为四大部分:初始化部分、训练部分、识别部分、重训操作。
初始化部分:初始化操作将 IOB8~IOB11 设置为输出端,用以控制电机。
必要时还要有对应的输入端设置和 PWM 端口设置等。
训练部分:训练部分完成的工作就是建立语音模型。
程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到 Flash,在以后使用时不需要重新训练;如果已经训练过会把存储在Flash 中的模型调出来装载到辨识器中。
识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。
如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车SPCE061A在语音控制小车中的应用的名字使小车停下来。
重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61 板的KEY3),7循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000 单元),并等待复位。
复位后,程序重新执行,当检测到训练标志位为 0xffff 时会要求重新对其进行训练。
6.2主控制源程序://====================================================== // The information contained herein is the exclusive property of // Sunnnorth Technology Co. And shall not be distributed, reproduced, // or disclosed in whole in part without prior written permission. // (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO. // ALL RIGHTS RESERVED // The entire notice above must be reproduced on all authorized copies.//========================================================//======================================================== // 工程名称: Car_Demo// 功能描述: 实现小车的语音控制// 涉及的库: CMacro1016.lib// bsrv222SDL.lib// sacmv26e.lib// 组成文件: main.c// Flash.asm, hardware.asm,ISR.asm// hardware.h,s480.h, hardware.inc// 硬件连接: IOA0-----KEY1// IOA1-----KEY2// IOA2-----KEY3// IOB8-----前进// IOB9-----倒车// IOB10----左拐// IOB11----右拐// 维护记录: 2005-12-12 v1.0//========================================================#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 (volatileunsigned 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 *)0x700C8#define P_TimerB_Ctrl (volatile unsigned int *)0x700D #defineP_Watchdog_Clear (volatile unsigned int *)0x7012 #define P_INT_Mask (volatile unsigned int *)0x702D #define P_INT_Clear (volatile unsigned int *)0x7011#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 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 intuiTimeset = 3; //运行时间定时,调整该参数控制运行时间unsigned int uiTimecont; //运行时间计时//=============================================================// 语法格式: void Delay();// 实现功能: 延时// 参数: 无// 返回值: 无//=============================================================void Delay(){unsigned int i;for(i=0;i<0x3Fff;i++){9*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){10case -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();// 实现功能: 存储语音模型函数// 参数: 无// 返回值: 无//============================================================= 11void 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[i]);ulAddr+=1;}}}//============================================================= // 语法格式: void StoreSD();// 实现功能: 装载语音模型函数// 参数: 无// 返回值: 无//============================================================= 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) //模型装载成功,g_Ret=BSR_ImportSDWord();}}12//============================================================= // 语法格式: 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");13uiTimecont = 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();// 实现功能: 停车子函数// 参数: 无// 返回值: 无//============================================================= void Stop() //停车 {*P_IOB_Data=0x0000; //停车PlaySnd(S_RDY,3); //语音提示 }//============================================================= // 语法格式: void BSR(void);// 实现功能: 辨识子函数// 参数: 无// 返回值: 无//============================================================= void BSR(void){int Result; //辨识结果寄存Result = BSR_GetResult(); //获得识别结果if(Result>0) //有语音触发,{14*P_IOB_Data=0x0000; //临时停车switch(Result){case NAME_ID: //识别出名称命令Stop(); //停车待命break;case COMMAND_GO_ID: //识别出第一条命令GoAhead(); //执行动作一:直走break;case COMMAND_BACK_ID: //识别出第二条命令BackUp(); //执行动作二:倒车break;case COMMAND_LEFT_ID: //识别出第三条命令TurnLeft(); //执行动作三:左转break;case COMMAND_RIGHT_ID: //识别出第四条命令TurnRight(); //执行动作四:右转break;default:break;}}}//=============================================================// 语法格式: void IRQ5(void);// 实现功能: 中断服务子函数// 参数: 无// 返回值: 无//============================================================= void IRQ5(void)__attribute__((ISR)); //运动定时控制 void IRQ5(void) {if(uiTimecont++ == uiTimeset){*P_IOB_Data = 0x0000;}*P_INT_Clear = 0x0004;}//=============================================================// 语法格式: int main(void);// 实现功能: 主函数// 参数: 无// 返回值: 无15//============================================================= int main(void){ unsigned int BS_Flag; //Train标志位*P_IOA_Dir=0xff00; //初始化IOA,IOA0~7下拉输入*P_IOA_Attrib=0xff00;*P_IOA_Data=0x0000;*P_IOB_Dir=0x0f00; //初始化IOB,IOB8~11同向输出*P_IOB_Attrib=0x0f00;*P_IOB_Data=0x0000;BSR_DeleteSDGroup(0); //初始化存储器RAMBS_Flag=*(unsigned int *)0xe000; //读存储单元0xe000if(BS_Flag==0xffff) //没有经过训练(0xe000内容为0xffff){TrainSD(); //训练StoreSD(); //存储训练结果(语音模型)}else //经过训练(0xe000内容为0x0055){LoadSD(); //语音模型载入识别器}PlaySnd(S_START,3); //开始识别提示BSR_InitRecognizer(BSR_MIC); //初始化识别器while(1){BSR();if((*P_IOA_Data)&0x0004) //是否重新训练{F_FlashErase(0xe000);while(1);}}}166.3 语音识别的原理简介语音识别主要分为“训练”和“识别”两个阶段。