一种智能语音抢答器简要设计.doc_第1页
一种智能语音抢答器简要设计.doc_第2页
一种智能语音抢答器简要设计.doc_第3页
一种智能语音抢答器简要设计.doc_第4页
一种智能语音抢答器简要设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除 目 录第一章:系统开发平台与方案选择11.1开发平台11.1.1软件平台:keil11.1.2硬件平台:STM32F103RBT611.2方案选择11.2.1系统图设计11.2.2控制芯片的选择2第二章:系统总体设计22.1硬件模块的设计22.1.1 SYN6658语音模块的设计22.1.2发声模块:喇叭的设计32.1.3键盘模块的设计42.2软件程序设计42.2.1系统流程图42.2.2语音模块流程图6第三章:系统实物图73.1 STM32F103RBT673.2 SYN6658语音模块7第四章:系统调试84.1软件调试84.2硬件调试8第五章:心得体会及总结8参考文献9精品文档第一章:系统开发平台与方案选择1.1开发平台1.1.1软件平台:keilKeil C51是美国Keil software 公司推出的51系列兼容单片机C语言软件开发的一款产品。C语言在结构上、可读上、功能上、可维护性上相对于汇编有很明显的优势。Keil中包含C编译器、宏汇编、库管理、仿真调试器等的完整开发方案,通过uVision将这些模块组合起来。在生成目标代码方面,Keil C51的效率非常高,汇编代码由大多数语句生成,其语言组合结构紧凑,并且易于理解。在开发中型、大型软件时可以更好的体现高级语言的优势。在使用C语言编程,或者即使不使用C语言而仅仅使用汇编语言来编程,Keil的集成环境简单、仿真调试工具强大,在操作时这些优点会令工作效率提高,并可高效完成。1.1.2硬件平台:STM32F103RBT6 STM32F103RBT6属于STM32103xB增强型系列。使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。1.2方案选择1.2.1系统图设计1.2.2控制芯片的选择方案一:STC89C52 STC89C52的寻址空间比较大,它的寻址范围达64KB,这个数值对于单片机控制来说算是比较大的了5。同时它的处理功能强大,中央处理单元中集成了专用的寄存器部分,转移指令、硬件的计算和布尔处理器以及各种逻辑运算,都给我们的应用提供了很大的方便。在工作频率范围方面,STC89C52为0到40MHz,相当于普通8051的0到80MHz,且它在实际工作频率上,更是可达48MHz,在目前看来这个速度应该算是比较快的了。方案二:STM32F103RBT6 STM32F103RBT6属于STM32103xB增强型系列。使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz.其内置高速闪存达128KB。综上所述,因为语音模块需要写入大量的数据,要求大容量的flash。所以选择方案二作为本次设计的控制芯片。第二章:系统总体设计2.1硬件模块的设计2.1.1 SYN6658语音模块的设计1. SYN66SYN6658语音芯片简介是北京宇音天下科技有限公司于 2012 年最新推出的一款性/价比更高, 效果更自然的一款高端语音合成芯片。 公司最新推出的 SYN6658 语音合成芯片,继承了 OSYNO6188 和 SYN6288 语音芯片的优秀特点:小尺寸贴片封装、硬件接口简单、低功耗、音色清亮圆润、极高的性/价比;除此之外,SYN6658 在识别文本/数字/字符串更智能、更准确,语音合成自然度上升了一个大的台阶。SYN6658 语音合成效果和智能化程度达到了质的飞跃,是一款真正面向高端行业应用领域的中文语音合成芯片。SYN6658 语音合成芯片的诞生,将推动 TTS 语音合成技术的行业应用走向更深入、更广泛!2. 芯片工作原理图 从上图可以看出:SYN6658 通过 UART 接口或 SPI 接口通讯方式,接收待合成的文本数据,实现文本到语音(或 TTS 语音)的转换。2.1.2发声模块:喇叭的设计1. 发声原理喇叭其实是一种电能转换成声音的一种转换设备,当不同的电子能量传至线圈时,线圈产生一种能量与磁铁的磁场互动,这种互动造成纸盘振动,因为电子能量随时变化,喇叭的线圈会往前或往后运动,因此喇叭的纸盘就会跟着运动,这此动作使空气的疏密程度产生变化而产生声音。2. 喇叭的选择因语音模块的功放输出端可以直接驱动0.5W8欧的喇叭,故采用如图所示的喇叭。2.1.3键盘模块的设计1. 工作原理:该单元的原理利用按键被按下的时候对应的端口被拉低,这时检测端口的电平即可判断按键是否被按下。2. 注意事项:但是由于按键是机械器件,按下或松开都有机械抖动,抖动时间大概是10ms。所以要有个延时10ms用于按键去抖。2.2软件程序设计2.2.1系统流程图 开 始 欢迎词,提示选手进入抢答环节主持人按下控制按钮,系统随机语音出题后,并提示选手开始抢答按键扫描出首先按下抢答按钮的选手,并语音提示选手的号码结束语抢答环节结束YN 结 束2.2.2语音模块流程图 开 始Stm32通过串口2发送数据给SYN6658SYN6658接收数据并且对数据进行语音合成 驱动喇叭发声 结 束第三章:系统实物图3.1 STM32F103RBT63.2 SYN6658语音模块第四章:系统调试4.1软件调试1. 串口数据发送的不对,后来用jlink仿真的时候查出少了一个命令字;2. 数据发送正确后,语音模块就是没有发声。原来是芯片的控制信号没有正确赋 值;3. 喇叭发声了,但是内容还没有全部讲出来就执行下一个程序。Stm32的时钟频率高达72MHz,语音芯片还没有完全合成就进入了下一个程序。加了延时程序解决了问题。4.2硬件调试主要是对SYN6658芯片在焊接的过程中,出现了虚焊的情况,造成电路不稳定。后来经过重新焊接后,调试成功。第五章:心得体会及总结本次综合实训设计了一个具有语音随机出题、语音报号、抢答自锁功能的语音抢答器。设计理念得益于公交车的报站系统。每到一个站台,司机按下控制按钮,这时就会语音播报当前的站台提示乘客做好下车的准备。所以我想可以把语音的功能挪用到知识竞赛、文体活动当中的抢答器里。这样,就可以省去主持人读题的麻烦。目前市面上还未出现这样的抢答器,那么这款抢答器必然会有其广阔的应用前景。这是我用自学的STM32F103RBT6设计的一个智能语音抢答器的项目。在做项目的过程中,我不仅要对项目的整体做规划,还要对各个功能模块做分析。使我有了系统层次上的认识。还掌握了keil、jlink的使用,了解了一些软件调试、硬件仿真的方法。让我对整个嵌入式开发有了进一步的理解。非常感谢这次电子综合实训。不过,我觉得这款抢答器还有几个需要改进的地方。比如,如何扩展FLASH的容量以便存储更大的题库,如何提高SYN6658语音合成的效率等。随着科技的不断进步,我相信这些功能将不断完善。参考文献1谭浩强C程序设计M清华大学出版社 20092徐爱钧单片机原理及应用基于Proteus虚拟仿真技术M机械工业出版社 20103蒙博宇 ST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论