1、滨州学院 课 程 设 计题 目 基于SPCE061A的语音遥控器_院 系 自动化系 专业班级 07机械本科二班 学生姓名 李倩 学生学号 2023030096 指导教师 刘宝民 滨州学院课程设计任务书题目 基于SPCE061A的语音遥控器 专业 机械设计制造及其自动化专业 姓名 李倩 学号 2023030096 主要内容:设计一个基于SPCE061A的语音遥控器,利用SPCE061A技术,红外识别以及MIC键盘输入技术.根本要求:工作电压(CPU) VDD为2.43.6V (I/O) VDDH为2.45.5V;系统处于备用状态下(时钟处于停止状态),耗电仅为2A3.6V;14个中断源可来自定时
2、器、时基、外部时钟源输入、键唤醒; 7通道10位电压模-数转换器和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具有低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真电路ICE(In- Circuit Emulator)接口;主要参考资料:1 边肇祺 张学工 模式识别M 北京:清华大学出版社2 何立民 单片机应用技术选编(1)M 北京:北京航空航天大学出版社 完成期限 2023、6、292023、7、 10 指导教师 刘宝民 专业负责人 2023年 6 月 29 日目录1.整体设计12系统总开发22.1系统硬件设计22.2系统软件设
3、计32.3系统程序设计-54.电路的工作原理75.总结96.系统需要的元器件清单97.参考文献101.整体设计设计要求16位nSP微处理器;工作电压(CPU) VDD为2.43.6V (I/O) VDDH为2.45.5V;CPU时钟:0.32MHz49.152MHz ;内置2K字SRAM;内置32K FLASH;系统处于备用状态下(时钟处于停止状态),耗电仅为2A3.6V;2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器、时基、外部时钟源输入、键唤醒;具备触键唤醒的功能;7通道10位电压模-
4、数转换器和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;具有低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真电路ICE(In- Circuit Emulator)接口;具有保密能力;具有WatchDog功能(由具体型号决定)。系统总体方案论证与比拟方案一: SPCE061A 键盘输入 MIC输入温度传感器 语音输出 红外发射图 3.1。整个系统主要由键盘输入电路、MIC输入电路、语音输出电路、红外发射电路组成。通过分析按键命令或语音识别结果,利用正常的结果以红外指令码发出,控制电视机的运行,同时用语音提示。系统组
5、成如图 3.1。方案中用到的单片机式凌阳的16位单片机SPCE061A,由于该CPU具有丰富的I/O口和丰富的时基信号,为我们提供了极大的方便,整个系统结构简单明了,易于批量生产。方案二:运用传统的集成电路加之以多种辅助电路。但系统规模庞大,且复杂。易受多种因素影响,导致系统工作状况不稳定。这也是传统遥控器的通病。由于系统采用集成电路,携带器件多,耗电量巨大。不易于被消费者接受。方案确实定:比拟两种方案,运用方案二,劣势明显。而运用方案一,系统只用了单颗芯片来完成语音处理和控制功能,与专用的语音处理芯片相比,具有结构简单、本钱低、易实现的特点,并且凌阳科技公司提供了丰富的C函数库和语音处理函数
6、库,供用户调用,缩短了开发周期。2.系统开发2.1系统硬件设计硬件电路如图 4.1:图 4.1硬件电路 硬件上共设计了13个按键,采用44的行列式键盘,IOB0IOB3设置成输入口,IOB4IOB7设置成输出口,预留3个按键作为备用键。 语音识别电路比拟简单,MIC选用驻极体话筒。驻极体话筒具有结构简单、重量轻、体积小、无方向性、频率响应宽、保真度好等优点,它的偏压由SPCE061A的VMIC管脚提供。SPCE061A提供了2个10位D/A输出通道AUD1、AUD2,用于输出语音信号,每个通道的输出能力为3mA。考虑到功耗,在这里采用了单通道AUD1输出。 通过IOB8输出的PWM信号(IOB
7、8、IOB9有特殊功能)可以作为红外载波信号,其频率由可编程定时器TimerA(或TimerB)的溢出频率决定。 温度传感器采用普通负温度系数热敏电阻,热敏电阻灵敏度高、价格廉价。mnSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小、可有可无。借助这种通用结构附加可选结构的积木式构成,可形成各种不同系列派生产品,以适合不同场合的应用。这样做无疑会使每一种派生产品具有更强的功能和更低的本钱。2.2系统软件设计在软件设计方面,采用模块化程序结构,当前方案包括初始化、键盘扫描、温度采集、温度播报、万年历时间计算、万年历播报、红外发射、语音识别、语音播放等模块,程序
8、流程见图5.1NNNY 开始 系统初始化键盘扫描 有键?温度播报键温度采集温度播报进入睡眠 报时键时间播报 语音识别器触发语音识别红外发射图5.1 N 系统初始化的过程:先对系统时钟、IO口、万年历、中断(翻开按键唤醒和2Hz中断)进行初始化,然后扫描按键,如果有按键,进行相应处理,无按键那么进入睡眠模式,万年历的计算在2Hz中断效劳程序中进行。 语音播放模块应用凌阳科技提供的音频编码算法,首先在PC机上录好提示语音文件(WAV文件),并经所提供的压缩工具进行压缩处理以形成二进制文件,加载到用户程序中,编译链接后存储到单片机FLASH中,播放时再解压缩送D/A复原出语音。对于应用unSPTM内
9、核的SPCE系列芯片,向用户提供三种不同压缩率的算法,各种压缩算法的名称及编码率类型列在表 5.1。表 5.1压缩算法名称语音压缩编码率类型SACM_A202316KBits/s、20KBits/s、24KBits/sSACM_S4804.8KBits/s、7.2KBits/sSACM_S2402.4KBits/s这三种压缩算法的区别在于压缩率和音质的不同。SACM_A2023算法的压缩率相对较小,音质较好,相应地,占用的资源较多。SACM_S240算法的压缩率最大,音质相对较差。SACM_S480算法介于这两者之间。每种算法都有完整的供程序调用的库函数,软件编写非常方便。2.3系统程序设计本
10、语音遥控器采用SACM_S480算法。语音提示背景播放程序: SACM_S480_Initial(1); /播放硬件资源初始化 ACM_S480_Volume(15); /初始化音量 SACM_S480_Play(result,3,3); /播放函数 while(SACM_S480_Status()&0x0001)=1) /播放状态 SACM_S480_ServiceLoop(); /播放效劳函数 SACM_S480_Stop(); /停止播放主播放函数SACM_S480_Play(int Index,Int Channel,Int Ramp_Set)有三个参数:1. Index:播放索引号;
11、2. Channel:播放通道。1通过DAC1通道播放,2通过DAC2通道播放,3通过DAC1和DAC2通道播放;3. Ramp_Set:消除开始放音时的“啵声。语音识别电路的根本结构如图 5.2。图 5.2音滤除噪音预加重滤波器组PACRCOR系数、线性预测系数、过零次数、能量相关函数等模式匹配词典语音分析 语音识别分为特定发音人识别(Speaker Dependent)和非特定发音人识别(Speaker Independent)两种方式。 特定发音人识别是指语音样板由单个人训练,对训练人的语音命令识别准确率较高,而其他人的语音命令识别准确率较低或不识别。 非特定发音人识别是指语音样板由不同
12、年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。语音样板的提取非常重要。语音遥控器就是采用非特定发音人识别方式。 语音识别分为语音样板训练和语音识别两个过程。我们将标准模式的存储空间称之为“词库,而把标准模式称之为“样板。所谓语音样板训练,就是将待识别的命令进行频谱分析,提取特征参数作为识别的标准模式。语音识别的过程就是提取语音命令的特征参数,与词库中的样板比拟,取相似度最好的样板命令序号作为识别结果。凌阳科技公司提供语音样板训练工具和语音识别库函数,每次可以识别30条语音命令,命令较多的话可以分多组进行,语音识别流程见图 5.3:图5.3流程图 初始化识别器 选择样板库调BSR_GetResult函数函数返回值识别结果处理其他处理3.电路的工作原理 目前所设计的电视语音遥控器,主要由键盘输入电路、MIC输入电路、温度采集电路、语音输出电路、红外发射电路组成。用户通过按键,完成遥控功能保存按键功能、语音报温和报时功能。SPCE061A有1路专用于采集语音信号的A/D转换电路(MIC输入)和7路用于其它功能的A/D转换电路。前者能用来进行语音识别、录音等的语音信号的输入,在本遥控器里用来采集语音信号,进行语音识别;后者中,选择其中1路进行温度采集,由按键控制温度的播报。有丰富的时基信号,采用2Hz的时钟进行计数,并进行万年历计