版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业论文(设计)题 目 语音识别机器人的设计 系 部 电子信息工程 专 业 电子信息工程 年级 06级 学生姓名 学 号 指导教师 语音识别机器人的设计【摘 要】 语音识别可划分为训练和识别两个过程。在第一阶段,语音识别系统对人类的语言进行学习,把学习内容组成语音库存储起来,在第二阶段就可以把当前输入的语音在语音库中查找相应的词义或语义。凌阳16位SPCE061A单片机内嵌32K字闪存,2K字SRAM,内置10位ADC、DAC,有多达14个的中断源。它的CPU内核采用16位具有DSP功能的微处理器芯片, 而且CPU可最高工作在49MHz的主频下,能够非常容易地、快速地处理复杂的数字信号,因此
2、与其他类型的单片机相比,在数字语音处理方面SPCE061A更具有优势。基于SPCE061A设计了一个具有语音识别功能的机器人。经过训练,训练人可使用各种命令让机器人完成许多有趣的动作,使得人机交互更具智能化。【关键词】SPCE061A单片机 语音识别 机器人The Design of the Speech Recognition Robot【Abstract】 The speech recognition is divided into two stages, namely, training and recognition. At the first stage, the speech re
3、cognition system learns about the human language and stores what it has learned in a speech database. Then at the next stage, the meaning of each inputted speech can immediately be found in the speech database. Sunplus 16-bit SPCE061ASCM is embedded with 32K word Flash and 2K word SRAM, with built-i
4、n 10-bit ADC and DAC as well as more than 14 interrupt sources. The core of its CPU is a 16-bit microprocessor chip which has the function of DSP. Besides, the CPU can work with a frequency up to 49 MHz, and process complex digital signals easily and quickly. Therefore, compared with other types of
5、SCM, SPCE061A has more advantages in speech processing. Based on SPCE061A, a speech recognition robot has been designed. After training, the robot can complete many interesting actions according to the orders, which makes the human-computer interaction more intelligent.【Key words】SPCE061A SCM Speech
6、 Recognition Robot目 录 TOC o 1-3 h z u HYPERLINK l _Toc261893054 绪论 PAGEREF _Toc261893054 h 1 HYPERLINK l _Toc261893055 1 SPCE061A单片机 PAGEREF _Toc261893055 h 1 HYPERLINK l _Toc261893056 1.1 SPCE061A简介 PAGEREF _Toc261893056 h 1 HYPERLINK l _Toc261893057 1.2 芯片特性 PAGEREF _Toc261893057 h 1 HYPERLINK l _
7、Toc261893058 1.3 SPCE061A精简开发板 PAGEREF _Toc261893058 h 2 HYPERLINK l _Toc261893059 2 所用语音算法 PAGEREF _Toc261893059 h 2 HYPERLINK l _Toc261893060 2.1语音识别算法 PAGEREF _Toc261893060 h 2 HYPERLINK l _Toc261893061 2.1.1 语音识别概述 PAGEREF _Toc261893061 h 2 HYPERLINK l _Toc261893062 2.1.2 语音识别原理 PAGEREF _Toc2618
8、93062 h 2 HYPERLINK l _Toc261893063 2.1.3 SPCE061A实现语音识别的步骤 PAGEREF _Toc261893063 h 3 HYPERLINK l _Toc261893064 2.2 凌阳音频概述 PAGEREF _Toc261893064 h 4 HYPERLINK l _Toc261893065 2.2.1音频压缩编码 PAGEREF _Toc261893065 h 4 HYPERLINK l _Toc261893066 2.2.2 凌阳语音的播放、录制、合成和辨识 PAGEREF _Toc261893066 h 5 HYPERLINK l
9、_Toc261893067 2.2.3 常用的应用程序接口API的功能及应用 PAGEREF _Toc261893067 h 5 HYPERLINK l _Toc261893068 3 系统总体设计方案 PAGEREF _Toc261893068 h 8 HYPERLINK l _Toc261893069 4 系统的硬件设计 PAGEREF _Toc261893069 h 9 HYPERLINK l _Toc261893070 4.1 SPCE061A最小系统 PAGEREF _Toc261893070 h 9 HYPERLINK l _Toc261893071 4.2 SPCE061A的时钟
10、 PAGEREF _Toc261893071 h 10 HYPERLINK l _Toc261893072 4.2.1 时钟电路 PAGEREF _Toc261893072 h 10 HYPERLINK l _Toc261893073 4.2.2 锁相环 PAGEREF _Toc261893073 h 10 HYPERLINK l _Toc261893074 4.2.3 系统时钟 PAGEREF _Toc261893074 h 11 HYPERLINK l _Toc261893075 4.3 电源模块 PAGEREF _Toc261893075 h 13 HYPERLINK l _Toc261
11、893076 4.4 语音录放 PAGEREF _Toc261893076 h 13 HYPERLINK l _Toc261893077 4.4.1 录音 PAGEREF _Toc261893077 h 13 HYPERLINK l _Toc261893078 4.4.2 放音 PAGEREF _Toc261893078 h 14 HYPERLINK l _Toc261893079 4.5 机器人硬件驱动电路 PAGEREF _Toc261893079 h 14 HYPERLINK l _Toc261893080 5 系统软件设计 PAGEREF _Toc261893080 h 15 HYPE
12、RLINK l _Toc261893081 5.1 擦除FLASH模块 PAGEREF _Toc261893081 h 16 HYPERLINK l _Toc261893082 5.2 位操作模块 PAGEREF _Toc261893082 h 17 HYPERLINK l _Toc261893083 5.3 语音播放函数 PAGEREF _Toc261893083 h 17 HYPERLINK l _Toc261893084 参考文献 PAGEREF _Toc261893084 h 20 HYPERLINK l _Toc261893085 附录 PAGEREF _Toc261893085 h
13、 21 HYPERLINK l _Toc261893086 致 谢 PAGEREF _Toc261893086 h 22绪论 目前制造业市场上,工业机器人具有相当大的市场潜力,要使工业机器人真正应用于生产线上的各个方面,满足人们日益增长的需求,就离不开高性能的语音识别控制系统。随着计算机软硬件技术、半导体技术、电子技术、通讯技术等的飞速发展人类已经进入后PC时代。 语音识别技术得到了迅猛发展, 支持语音识别的各种产品纷纷面世。人类实现了语音命令控制空调、电视、灯光、自动窗帘等的使用,让人们的生活“随音所欲”,更加舒适,更加便捷。基于凌阳16位SPCE061A单片机设计了一个具有语音识别功能的机
14、器人。在经过训练后使机器人对训练人的命令做出应答,完成跳两首舞曲、走步、转向、转头、发射飞盘等动作。1 SPCE061A单片机本系统采用凌阳16位SPCE061A单片机作为控制中心,对输入的语音指令进行识别和处理,从而驱动机器人不同部位的直流电机,做出前进、后退、左传、右转等不同动作。1.1 SPCE061A简介SPCE061A是凌阳科技研发生产的性价比很高的一款16位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有八路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路,用于录音。两路10精度DAC,只需外接功放(SPY0030A)即可完成放音。凌阳16位单片机所
15、拥的一套指令系统和集成开发环境具有易学易用、效率高等特点。在集成开发环境中,支持标准C语言编程,并可以实现C语言与凌阳汇编语言的相互调用,语音的录放只需调用相应的库函数就可实现。 SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对芯片的编程和仿真变得非常方便,而且ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE)可以对芯片进行仿真;而程序的下载(烧写)也是通过该接口进行下载。1.2 芯片特性SPCE061A 性能简介1:(1) 16位微处理器(2) 工作电压(CPU)VDD 为3.03.6V,(I/O)VDDH 为3.05.5V(3) CPU
16、时钟:0.3249.152MHz(4) 内置2K字SRAM(5) 内置32K字FLASH(6) 可编程音频处理(7) 晶体振荡器(8) 系统处于备用状态下(时钟处于停止状态),耗电仅为2uA/3.6V(9) 2个16 位可编程定时器/计数器(可自动预置初始计数值)(10) 2个10 位 DAC(数/模转换)输出通道(11) 32位通用可编程输入/输出通道(12) 14个中断源可来自定时器 A/B、时基、2个外部时钟源输入和键唤醒(13) 具备键唤醒的功能(14) 使用凌阳音频编码SACM_S480可以播放压缩的语音资源(15) 锁相环PLL振荡器提供系统时钟信号(16) 32768Hz实时时钟
17、(17) 7通道10位电压模/数转换器(ADC)和单通道声音模/数转换器(18) 声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能(19) 具备串行设备接口(SIO)(20) 具备低电压复位(LVR)功能和低电压检测(LVD)功能(21) 内置ICE(在线仿真电路)接口(22) 具有 WatchDog 功能1.3 SPCE061A精简开发板SPCE061A精简开发板(简称61板),是以凌阳16位SPCE061A单片机为核心的精简开发、仿真实验板。61板除了具备单片机最小系统电路外,还包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等。61板上有
18、调试器接口(Probe接口)以及下载线接口(EZ_Probe接口),分别可接凌阳科技的在线调试器、简易下载器。实现程序的下载、在线仿真调试只需配合unSP IDE使用。2 所用语音算法2.1语音识别算法2.1.1 语音识别概述根据对说话人的依赖程度,分为:(1) 特定人语音识别(SD):只能辨认特定使用者的语音,训练使用。(2) 非特定人语音识别(SI):可辨认任何人的语音,无须训练。根据对说话方式的要求,分为:(1) 孤立词识别:每次只能识别单个词汇。(2) 连续语音识别:用者以正常语速说话,即可识别其中的语句。 2.1.2 语音识别原理特征提取,抽取反应语音本质的特征参数,形成特征矢量序列
19、。语音模型库,从一个或多个讲话者多次重复讲话中提取的语音参数模板。匹配检测,把输入语音的特征参数与语音模型库进行比较分析,得到识别结果。语音识别原理参看图 2-1,如下:图 2-1 语音识别原理2.1.3 SPCE061A实现语音识别的步骤SPCE061A实现语音识别的步骤,分为训练部分与识别部分,以及在训练、识别过程中中断的情况,参看图 2-2,如下:图 2-2 SPCE061A实现语音识别2.2 凌阳音频概述我们所说的音频是指频率在20Hz20KHz的声音信号,分为:波形声音、语音和音乐三种,其中波形声音就是自然界中所有的声音,是声音数字化的基础。语音也可以表示为波形声音,但波形声音表示不
20、出语言、语音学的内涵。语音是对讲话声音的一次抽象,是语言的载体,是人类社会特有的一种信息系统,是社会交际工具的符号。音乐与语音相对更规范一些,是符号化了的声音。但音乐不能对所有的声音进行符号化。为了让数字计算机更加便利处理音频信号,需要将模拟的(连续的)声音波形数字化(离散化),该过程主要包括采样和量化两个方面。数字音频的质量取决于:采样频率和量化位数这两个重要参数。此外,声道的数目、相应的音频设备也是影响音频质量的原因。语音处理技术是建立在语言学和数字信号处理基础之上的综合学科,其过程大致可以分为A/D采样输入、编码处理、存储、解码处理和D/A等。如今,要实现语音处理有多种渠道,可以选用专用
21、语音芯片也可以选用单片机,二者区别参看表 21,如下:表 21 语音处理器件性能对照表2所选器件音质语音播放长度和段落价格专用语音芯片好受限制较高单片机由AD、DA精度、压缩算法等决定由存储空间决定有优势SPCE061A单片机具有八路10位ADC和两路10位DAC,两个16位可编程定时器/计数器,内置MIC放大器和自动增益控制(AGC)电路,CPU时钟主频最高达49MHz且具有DSP功能,有能力执行复杂压缩算法。所以在选择具有语音处理功能单片机时,SPCE061A单片机可谓是上上之选。SPCE061A将A/D、编码算法、解码算法、存储及D/A做成相应的模块,每个模块都有其应用程序接口API,要
22、实现语音处理,只用了解每个模块所要实现的功能及参数的内容,然后调用该API函数即可。不同音频质量等级的编码技术标准(频响)参看表 22,如下:表 22 音频质量等级编码技术标准2信号类型频率范围(Hz)采样率(KHz)量化精度(位)电话话音200340088宽带音频(AM质量)5070001616调频广播(FM质量)2015K37.816高质量音频(CD 质量)2020K44.116凌阳音频压缩算法处理的语音信号的范围是200Hz3.4KHz的电话话音。2.2.1音频压缩编码2.2.1.1 音频压缩编码基础音频压缩编码中的数据量:(采样频率量化位数)/(字节数)声道数目压缩编码的目的,通过对资
23、料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。压缩编码的必要性,未经压缩编码的音频资料量很大,用来传输或存储是不容易实现的。所以要通过对信号趋势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息。常见的几种音频压缩编码:(1) 波形编码2,将时间域信号直接变换为数字代码,尽量真实地还原波形。波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。译码是其反过程,将收到的数字序列经过译码和滤波恢复成模拟信号。(2) 参数编码2,参数编码又称为声源编码,是将信源信号在
24、频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量重建语音信号。具体说,参数编码是通过对语音信号特征参数的提取和编码,尽量保持语音信号的可懂性,而还原后的波形可能与原波形差别很大。(3) 混合编码2,将波形编码和参数编码组合起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,尽量保持波形编码的高质量和参数编码的低速率。2.2.1.2 压缩分类压缩分为无损压缩和有损压缩。无损压缩一般指磁盘文件,压缩比低,一般为:2:14:1;有损压缩是指音/视频文件,压缩比可高达100:1。凌阳音频压缩算法根据不同的压缩比分
25、为以下几种:SACM-A2000、SACM-S480、SACM-S240。三者区别参看表 23,如下:表 23 凌阳语音压缩算法区别2凌阳音频压缩算法编码方式编码率(bps)压缩比音质SACM_A2000波形编码16K, 20K, 24K8:1, 8:1.25, 8:1.5好SACM_S480混合编码4.8K, 7.2K80:3, 80:1.5中SACM_S240参数编码2.4K80:1.5差2.2.2 凌阳语音的播放、录制、合成和辨识要完成语音的播放、录制、合成及辨识等工作,单片机需要强大的信息处理能力而凌阳16位SPCE061A单片机则是为此而开发的,其具有DSP功能,可处理大量信息,CP
26、U最高时钟频率可达到49MHz,具备运算速度高的优点。凌阳压缩算法中SACM_A2000、SACM_S480、SACM_S240主要是用来放音,可用于语音提示,而DVR则用来录音。2.2.3 常用的应用程序接口API的功能及应用语音和音乐与我们的生活有着相当密切的关系,而单片机对语音的控制如录放音、合成机辨识也广泛应用在现实生活中。语音处理大致可以分为A/D、编码处理、存储、解码处理以及D/A等。然而,通过麦克风输入所生成的WAVE文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然很不可能实现的,而凌阳的SPCE061A所采用的解决办法即SACM_LIB,该库将A/D、编码、解码
27、、存储及D/A做成相应的模块,对于每个模块都有其应用程序接口API,要实现某功能,用户只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可。语音识别API2介绍:BSR _Init Recognizer(int Audio Source);初始化识别器BSR _Train(int Word ID, int Train Mode);语音训练BSR _Delete SD Group(int SD Group No);清除内存BSR _Pause Recognizer();暂停识别,但不释放中断等资源BSR _Resume Recognizer();恢复被暂停的识别BSR _Get
28、 Recognizer Score();获得识别结果的可信度,返回值从-4096到4096,数值越大表示输入语音与特征模型的匹配度越高BSR _Enable CPU Indicator();开启CPU状态监测功能。开启该功能后,IOA0和IOA1将发出每16ms电平变化一次的方波BSR _Disable CPU Indicator();关闭CPU状态监测功能BSR _Export SD Word(int Command ID);使用函数库时,会自动创建一个100 Word的数组BSR _SD Model100,可以把某条训练命令的特征模型数据导出到这个数组中BSR _Import SD Wor
29、d(int Command ID);可以把BSR _SD Model数组中的数据导入为某条语音命令的特征模型unsigned int BSR _SD Model;配合BSR _Export SD Word(int Command ID)与BSR _Import SD Word(int Command ID)函数使用,此数组的作用相当于一个暂时的存储区SACM_480采用混合编码方式,压缩比比较大,存储容量大,音质介于A2000和S240之间,适用于语音播放,如电子词典词库等,所以本文采用了该算法,以下就SACM_480算法具体介绍其API函数的格式、功能、参数、返回值、备注。其相关API函数如
30、下所示:1) API格式2: C:int SACM_S480_Initial(int Init _Index)ASM:R1= Init _ IndexCall F_ SACM_ S480_Initial功能说明:SACM_480语音播放之前的初始化。参数: Init _ Index=0:手动方式 Init _ Index=1:自动方式。返回值: 0:语音模块初始化失败。 1:语音模块初始化成功。备注: 该函数用于对定时器、中断和DAC等的初始化。2) API格式2: C:void SACM_S480_ServiceLoop(void) ASM:Call F_ SACM_S480_Service
31、Loop功能说明:从资源中获取SACM_S480语音资料,并将其填入解码队列中。参数: 无返回值: 无备注: 播放语音文件中数据,当出现FF FF FFH数据时便停止播放。3) API格式2: C: int SACM_S480_Play(int Speech _Index, int Channel, int Ramp _Set)ASM:R1= Speech _IndexR2= ChannelR3= Ramp _SetCall SACM_S480_Play功能说明: 播放资源中SACM_480语音。参数: Speech _Index:语音索引号。Channel:1. 通过DAC1通道播放。2.
32、通过DAC2通道播放。3. 通过DAC1和DAC2双通道播放。Ramp _Set:0. 禁止音量增/减调节。1. 仅允许音量增调节。2. 仅允许音量减调节。3. 允许音量增/减调节。返回值: 无备注: SACM_S480的数据率有4.8Kbps7.2Kbps两种,可在同一模块的几种算法中自动选择一种。 Speech _Index是定义在resource.inc文件中资源表的偏移地址。 中断服务子程序中F_FIQ_Service_SACM_S480必须放在TMA_FIQ中断向量上。4) API格式2: ASM:Call F_FIQ_Service_SACM_S480功能说明:用作SACM_S48
33、0语音背景程序的中断服务子程序。通过前台子程序(自动方式的SACM_S480_ServiceLoop及手动方式SACM_S480_Decode)进行语音信息编码,然后将其送入DAC通道播放。参数: 无返回值:无备注:SACM_S480语音背景子程序只有汇编指令形式,且应该将此子程序安置在TMA_FIQ中断源上。3 系统总体设计方案用61板来控制机器人,使用了I0B7-IOB15资源,另外使用了扬声器,参看图 3-1,如下:图 3-1 系统的总体框图61板与机器人连接图,参看图 3-2,如下:图 3-2 61板与机器人连接图系统主要由61板与机器人驱动电路组成。整个系统的主控板是61板,用来驱动
34、电路驱动电机。在主控板61板的控制下完成跳两首舞曲、走步、转向、转头、发射飞盘等动作。另外为了使机器人智能化,增添了特定人语音识别的功能,通过各种命令的使用来操作机器人。 4 系统的硬件设计4.1 SPCE061A最小系统SPCE061A最小系统中,含有SPCE061A芯片外围的基本模块,其主要由晶体输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等组成,参看图 4-1。在OSC32O、OSC32I端口接上晶体振荡器和谐振电容,在VCOIN端口接上相对应的电容和电阻后即可工作。在其他不用的VDD端口和GND端口也不能悬空应该接上0.1uF的耦合电容以提高抗
35、干扰能力。图 4-1 SPCE061A最小系统4.2 SPCE061A的时钟凌阳16位SPCE061A单片机最高CPU时钟频率(CPUCLK)可达到49.152MHz,为数字信号处理奠定了坚实的基础。而取得CPU时钟频率(CPUCLK)的过程大致可分为三个阶段。第一阶段,先通过晶体振荡电路得到了一个32768Hz的实时频率(RTC)。第二阶段,锁相环对实时频率(RTC)进行倍频,得到系统时钟频率Fosc。第三阶段,对系统时钟频率Fosc进行分频,最终得到CPU时钟频率(CPUCLK)。其过程参看图 4-2,如下:图 4-2 SPCE061A的时钟4.2.1 时钟电路日常生活中的钟表、实时时钟延
36、时以及其他与时间相关产品所采用的是32768Hz的实时时钟。在SPCE061A时钟电路中使用的是晶体振荡器,采用频率为32768Hz外接晶体,SPCE061A时钟电路的连线图可参看图 4-3。图 4-3 SPCE061A时钟电路连接图4.2.2 锁相环锁相环(Phase Lock Loop)是将32768Hz的实时时钟(RTC)进行倍频,调整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz的系统时钟Fosc参看图 4-4,如下:图 4-4 PLL倍频电路框图SPCE061A片内集成了PLL电路,要使芯片内PLL电路正常工作只需外接简单的电路即可
37、,参看图 4-5,如下:图 4-5 PLL外围电路4.2.3 系统时钟将经过PLL电路倍频得到的系统时钟频率Fosc,对其分频便可得到CPU时钟频率(CPUCLK),参看图 4-6。可以通过对P_SystemClock单元的编程完成对系统时钟频率Fosc和CPU时钟频率(CPUCLK)的定义。32768Hz RTC 振荡器有两种工作方式3:强振模式和自动弱振模式。处于强振模式时,RTC 振荡器始终运行在高耗能的状态下。处于自动弱振模式时,系统在上电复位(power on reset) 后的前 7.5 秒内处于强振模式,然后自动切换到弱振模式以降低功耗。图 4-6 分频电路框图在 SPCE061
38、A 内,P_SystemClock单元(参看表 41)控制着系统时钟频率Fosc和 CPU 时钟频率(CPUCLK)。第 02 位用来控制CPUCLK(参看表 42)。第 57 位用来控制Fosc(参看表 43)。Fosc的预设值为24.576MHz,上电复位或系统从备用状态(睡眠状态)被唤醒后,CPUCLK的预设值为Fosc/8。另外,在睡眠状态(即b2b0同时被置为1)下,通过设置该单元的第 4 位可以打开或关闭32768Hz 实时时钟。表 41 设置P_SystemClock单元3b15-b8b7-b5b4b3b2b1b0PLL频率选择32768Hz睡眠状态32768Hz方式选择CPU时
39、钟选择1:在睡眠状态下,32768Hz时钟仍处于工作状态(预设)0:在睡眠状态下,32768Hz时钟被关闭1:32768Hz时钟处于强振模式0:32768Hz时钟处于自动弱振模式(预设) 表 42 CPU时钟频率(CPUCLK)选择3b2b1b0CPUCLK000Fosc001Fosc/2010Fosc/4011Fosc/8100Fosc/16101Fosc/32110Fosc/64111停止(睡眠状态)表 43 PLL频率(Fosc)选择3b7b6b5Fosc00024.576MHz00120.48MHz01032.768MHz01140.96MHz1-49.152MHz4.3 电源模块电源
40、输入端口是61板的能源供应中心,整块板子的电源都是由此提供进去,可采用电池或稳压电源提供5V输入,并且必须至少保证电流在50mA以上,否则会造成系统无法倍频和下载出错。SPCE061A的内核供电为3.3V,由于I/O端口可接3.3V也可以接5V,所以在电源模块中有一个端口电平选择跳线J5用于选择端口电压,电源模块参看图 4-7,如下:图 4-7 电源模块由于此系统需要的端口高电平为5V,所以图 4-7当中的J5跳线需要跳到1和2上。4.4 语音录放录音过程,将输入的语音信号(模拟信号)作A/D转换,转换成数字信号,编码后存入存储器中。放音过程与录音相反,先将数据从存储器中取出并解码,然后作D/
41、A转换成语音信号。4.4.1 录音使用A/D转化器的7个通道将模拟信号转换成数字信号,可以直接通过引线输入。另外1个通道是只用于语音输入,即通过内置有自动增益控制放大器的麦克风通道(MIC-IN)输入,它专门用于对语音信号的采样,首先语音信号经MIC转换成电信号,由隔直电容隔断直流成分,然后输入至SPCE061A内部前置放大器。SPCE061A内部自动增益控制(AGC)电路能随时跟踪、监测前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益。当输入信号减小时,AGC电路自动增大放大器的增益,可使进入A/D的信号保持在最佳电平,又可使削弱减至最小。SPCE061A的A/
42、D转换范围是整个输入范围,即最大的模拟信号输入电压范围0VAVdd.非法的A/D模拟信号将影响转换电路的工作范围,从而降低ADC的性能。由于Line _in通道和IOA0IOA6共用引脚,所以尽量选择其他非IOA0IOA6的引脚,因为非法IO信号会造成电压不稳最终影响ADC的性能。ADC的最大输入电压由P_ ADC_ Ctrl(写)的第7位和第8位的值决定。第7位VEXTREF控制着ADC的参考电压,即AVdd/外部参考电压。第8位V2VREFB控制着2V电压源是否起作用。如果起作用,用户可向VEXTREF引脚输入2V电压。此反馈回路把ADC的最高参考电压设置为2V。如果被指定的参考电压源的值
43、不超过AVdd,它还可以被当作ADC的最高参考电压。A/D转换器对输入的音频信号进行8kHz采样,并按照凌阳音频编码格式进行编码,每秒将占用16kBits的存储器空间。系统扩展了一块容量为1Mbits的SRAM存储器HM628128A来存储语音数据。4.4.2 放音将HM628128A中存储的语音数据顺序取出,解码后,以8kHz的速率进行D/A转换输出,语音数据经电容滤波恢复成原始语音波形,最后用三极管驱动扬声器放音。SPCE061A音频输出共有两个DAC通道,DAC1和DAC2输出的模拟电信号通过DAC1和DAC2引脚输出。DAC的输出范围是0 x00000 xFFFF。DAC1和DAC2的
44、输出数据应写入P_DAC1和P_DAC2单元。上电复位以后,两个DAC均被自动打开,此时会消耗少量的电流(几个毫安)。如若不需要,尽量关闭DAC输出(将P_DAC_Ctrl单元的第一位置为1)。而且DAC的直流电压必须保持平稳地变化,否则可能由于电压的突变引起扬声器产生杂音。为减缓电压的变化幅度,从而输出高质量的音频数据可以采用ramp up/down技术。其应用条件是:被唤醒/上电复位后首次使用DAC时,上电复位功能应在被关闭/进入睡眠状态之前。放音利用的是SPCE061A内部的DAC,电路参看图 4-8。图中的SPY0030是凌阳公司的产品。和LM386相比,在工作电压上,LM386需在4
45、V以上,而SPY0030仅需2.4V(两节电池)即可工作;在输出功率上,LM386仅在100mW以上,而SPY0030可达700mW。图 4-8 放音模块电路4.5 机器人硬件驱动电路机器人硬件原理参看图 4-9,如下:左右腿、脖子电机驱动加速度、发射电机驱动图 4-9 机器人驱动电路原理图机器人驱动电路采用功率较大的三极管搭成H桥来驱动电机从而实现电机的正向旋转与电机的反向旋转,本系统中使用H桥4驱动的电机包括两个用于走路的电机与一个头部转向的电机。同时用了一个三极管驱动单向旋转的电机,如加速电机与发射电机。5 系统软件设计完成特定人语音的训练可在主函数中调用相关函数,然后在训练成功后进行语
46、音识别,再根据识别的命令执行相关的操作。程序流程参看图 5-1。根据FLASH中的标志位判断是否为第一次下载。使用BSR _Export SD Word(uiCommand ID) 函数将训练好的语音模型导出存储到FLASH中,用于操作。在语音识别中,首先读取FLASH取得语音模型,然后调用BSR _Import SD Word(uiCommand ID)函数将语音资源载入内存。在识别出命令后,执行相关动作,操作电机的正向或反向旋转,同时配合延时与播放声音组合起来形成不同的动作。图 5-1 程序流程图与中断流程图5.1 擦除FLASH模块在程序中按照操作SPCE061A的flash的步骤擦写f
47、lash,在程序中写成3个函数用于操作flash,如下:F _ Flash Write1Word()3语法:void F_FlashWrite1Word(int addr, int Value)描述:写一个字到FLASH中参数:1、被写数据的存储地址2、被写数据返回:无F _ Flash Write()3语法:F _Flash Write(int sector, int & num, int size)描述:顺序写多个字参数:1、被写数据的起始地址2、被写数据3、写数据的数量返回:无F _ Flash Erase()3语法:void F _ Flash Erase(sector)描述:擦除25
48、6字节参数:擦除页的起始地址返回:无5.2 位操作模块由于SPCE061A没有位操作指令,而在程序控制电机的时候需要经常操作某一位,为了方便程序的编写,增强可读性,编写位操作模块函数void Set _ IOB _Bit(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)1,参数依次为IO的位、Dir、Attrib、Data、Buffer例如操作IOB11为同向低电平输出为Set _ IOB _Bit(11,1,1,0,0)5.3 语音播放函数在本系统的软件设计当中,将语音播放的程序设计为语音播放模块,以便
49、于调用:语音播放程序分为两部分,第一部分是播放流程控制,参看图 5-2;第二部分是中端播放服务程序,参看图 5-3,如下:图 5-2 SACM_480自动播放流程图图 5-3 中断服务程序流程图结论语音处理技术本身就是一门理论性强、实用面广而且难度较大的综合学科。而开发出具有语音功能的单片机也是相当困难的。凌阳unsp系列16位单片机,就是适应这种需求而设计的。凌阳SPCE061A实现语音识别其独特之处在于:硬件电路简单,因为SPCE061A是一款专门为语音信号处理设计的单片机,麦克风和喇叭可以直接接入,接放大电路可不用外接。具有一套高效的指令系统,软件编程容易,有相应的API函数,可直接调用
50、。参考文献1 凌阳科技大学计划.凌阳单片机在大学生电子竞赛中的应用.北京:北京航空航天大学出版社,2005:7-82 赵定远 马洪江.16位单片机及语音嵌入式系统.北京:中国水利出版社,2006:237-2493 罗亚非. 凌阳16位单片机应用基础.北京:北京航空航天大学出版社,2005:33-344 李晓静 罗永革 佘建强 刘珂璐.基于AMT直流电机的H桥驱动电路硬件研制.湖北汽车工业学院学报,2007(3);22-255 薛均义 张彦斌凌阳16位单片机原理及应用.北京:北京航空航天大学出版社,20036 王慧 王超陈 俊波.基于语音识别机器人的研究.世界科技研究与发展,2009(10):8
51、11-8137 丛欣 梁光胜.嵌入式语音识别技术.电脑编程技巧与维护,2006(9):76-788 严一岩.语音集成电路概述.电子世界,1997(10):22-239 双龙.智能机器人语音识别对话与控制.电子世界,2004(10):3810 黄淞 蒋雪峰 张贵冰 杨文杰.智能语音识别避障机器人的研究与设计.应用科技,2002(10):163-16511 Zili Zhou Chris K. Modeling of Configuration-Dependent Flexible Joints for a Parallel Robot. Advances in Mechanical Engine
52、ering,2009(4):1-12致 谢在论文最后的收尾阶段,首先我要将我最崇高的敬意和最衷心的感谢献给李军老师,在她的悉心指导和尽心帮助下,这篇论文才得以顺利完成,李老师给我的帮助,不仅仅是在论文的写作上,她严谨的治学态度更教会了我许多书本上学不到的知识,在我日后的工作和生活中,这些收获必定会指引我认真、踏实的走好每一步。我还要感谢学院里每一位教过我课程的老师,是他们交给我丰富的专业知识,使我受益匪浅,大大提高了专业能力和专业素质,为我论文的完成打下了坚实的基础,我将永远感谢他们。同时,我也感谢学院图书馆是他们的辛苦工作,给我们提供宽广的知识搜索平台为论文的完成提供了强有力的保障。最后,我
53、还要感谢我的父母及家人,他们是我最坚实的后盾,不仅在物质上支持我,更在精神上给予我最无私的关怀和鼓励,让我始终能够在愉悦、舒适的心情及环境下完成我的学业,谢谢他们!附录资料:不需要的可以自行删除常用电工与电子学图形符号序号符号名称与说明1直流 注:电压可标注在符号右边,系统类型可标注在左边2直流 注:若上述符号可能引起混乱,也可采用本符号3交流 频率或频率范围以及电压的数值应标注在符号的右边,系统类型应标注在符号的左边50Hz示例1: 交流 50Hz100600Hz示例2:交流 频率范围100600Hz380/220V 3N 50Hz示例3:交流,三相带中性线, 50Hz, 380V(中性线与
54、相线之间为220V)。3N可用3+ N代替3N 50Hz/TN-S示例4:交流,三相,50Hz,具有一个直接接地点且中性线与保护导线全部分开的系统4低频(工频或亚音频)5中频(音频)6高频(超音频,载频或射频)7交直流8具有交流分量的整流电流注:当需要与稳定直流相区别时使用9N中性(中性线)10M中间线11+正极12-负极13热效应14电磁效应过电流保护的电磁操作15电磁执行器操作16热执行器操作(如热继电器、热过电流保护)17电动机操作18正脉冲19负脉冲20交流脉冲21正阶跃函数22负阶跃函数23锯齿波24接地一般符号25无噪声接地(抗干扰接地)26保护接地27接机壳或接底板28等电位29
55、理想电流源30理想电压源31理想回转器32故障(用以表示假定故障位置)33闪绕、击穿34永久磁铁35动触点注:如滑动触点36测试点指示示例点,导线上的测试37交换器一般符号/转换器一般符号注:若变换方向不明显,可用箭头表示在符号轮廓上38电机一般符号,符号内的星号必须用下述字母代替C同步交流机 G 发电机G8同步发电机 M电动机MG拟作为发电机或电动机使用的电机MS同步电动机 注:可以加上符号或SM伺服电机 TG测速发电机TM力矩电动机 IS感应同步器39三相笼式异步电动机40三相线绕转子异步电动机41并励三相同步变速机42直流力矩电动机步进电机一般符号43电机示例:短分路复励直流发电机示出接
56、线端子和电刷44串励直流电动机45并励直流电动机46单相笼式有分相扇子的异步电动机47单相交流串励电动机48单向同步电动机49单向磁滞同步电动机自整角机一般符号符号内的星号必须用下列字母代替:CX 控制式自整角发送机 CT控制式自整角变压器TX 力矩式自整角发送机 TR 力矩式自整角接收机50手动开关一般符号51按钮开关(不闭锁)52拉拔开关(不闭锁)53旋钮开关、旋转开关(闭锁)54位置开关 动合触点限制开关 动合触点55位置开关 动断触点限制开关 动断触点56热敏自动开关 动断触点57热继电器 动断触点58接触器触点(在非动作位置断开)59接触器触点(在非动作位置闭合)60操作器件一般符号
57、 注:具有几个绕组的操作器件,可由适当数值的斜线或重复本符号来表示61缓慢释放(缓放)继电器的线圈62缓慢吸合(缓吸)继电器的线圈63缓吸和缓放继电器的线圈64快速继电器(快吸和快放)的线圈65对交流不敏感继电器的线圈66交流继电器的线圈67热继电器的驱动器件68熔断器一般符号69熔断器式开关70熔断器式隔离开关71熔断器式负荷开关72火花间隙73双火花间隙74 动合(常开)触点 注:本符号也可以用作开关一般符号75动断(常闭)触点76先断后合的转换触点77中间断开的双向触点78先合后断的转换触点(桥接)79当操作器件被吸合时延时闭合的动合触点80有弹性返回的动合触点81无弹性返回的动合触点8
58、2有弹性返回的动断触点83左边弹性返回,右边无弹性返回的中间断开的双向触点84指示仪表的一般符号 星号须用有关符号替代,如A代表电流表等85记录仪表一般符号 星号须用有关符号替代,如W代表功率表等86指示仪表示例:电压表87电流表88无功电流表89无功功率表90功率因数表91相位表92频率表93检流计94示波器95转速表96记录仪表示例:记录式功率表97组合式记录功率表和无功功率表98记录式示波器99电度表(瓦特小时计)100无功电度表101灯一般符号 信号灯一般符号注:如果要求指示颜色则在靠近符号处标出下列字母:RD 红、YE 黄、GN 绿、BU蓝、WH白如要指出灯的类型,则在靠近符号处标出
59、下列字母:Ne氖、Xe氦、 Na钠 、Hg汞、 I碘、 IN白炽、EL电发光、ARC弧光、FL荧光、IR红外线、UV紫外线、LED发光二极管102闪光型信号灯103电警笛 报警器104优选型其它型峰鸣器105电动器箱106电喇叭107优选型其它型电铃108 可调压的单向自耦变压器109 绕组间有屏蔽的双绕组单向变压器110 在一个绕组上有中心点抽头的变压器111 耦合可变的变压器112 三相变压器星形三角形联结113 三相自耦变压器 星形连接114 单向自耦变压器115 双绕组变压器注:瞬时电压的极性可以在形式Z中表示示例:示出瞬时电压极性标记的双绕组变压器流入绕组标记端的瞬时电流产生辅助磁通
60、116 三绕组变压器117 自耦变压器118电抗器 扼流圈119优选型其它型电阻器一般符号120可变电阻器 可调电阻器121压敏电阻器、变阻器 注:U可以用V代替122滑线式变阻器123带滑动触点和断开位置的电阻器124滑动触点电位器125优选型 其它型 电容器一般符号 注:如果必须分辨同一电容器的电极时,弧形的极板表示:在圈定的纸介质和陶瓷介质电容器中表示外电极在可调和可变的电容器中表示动片电极在穿心电容器中表示纸电位电极126优选型 其它型 极性电容器127优选型 其它型 可变电容器可调电容器128优选型 其它型 微调电容器129电感器 线圈 绕组 扼流圈130半导体二极度管一般符号131
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茂名市2025届高三冲刺模拟语文试卷含解析
- 李建伟 合同编通则司法解释解读与应对实务
- 房屋租赁合同押金收据填写模板
- 第1单元阅读综合实践(分层练习)(解析版)
- 《初中知识结构图》课件
- 供配电系统培训课件
- 四年级上册科学教科版课件第2课 呼吸与健康生活
- 《服务领域物流》课件
- 学生人身安全协议书(2篇)
- 《HR工具数据分析》课件
- GB/T 1839-2008钢产品镀锌层质量试验方法
- GB/T 1713-2008颜料密度的测定比重瓶法
- PAC人流术后关爱
- 年产12万吨甲烷氯化物可行性研究报告
- 脑积水的护理演示文稿
- 《中级微观经济学》考试复习题库(附答案)
- 方形真空干燥机验证方案
- 肿瘤基础知识示范课件
- 肺炎链球菌介绍及肺炎链球菌肺炎介绍
- 私营企业员工年度绩效评价表
- 医院护理品管圈成果汇报缩短脑卒中静脉溶栓患者DNT完整版本PPT易修改
评论
0/150
提交评论