基于语音技术的公交车智能报站器.doc_第1页
基于语音技术的公交车智能报站器.doc_第2页
基于语音技术的公交车智能报站器.doc_第3页
基于语音技术的公交车智能报站器.doc_第4页
基于语音技术的公交车智能报站器.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

xx学院20xx届 毕 业 设 计(论文)设计(论文)题目基于语音技术的公交车智能报站器开发院系名称计算机科学与技术系专业(班级) 姓名(学号) 指导教师 系负责人 二八年 -IV-摘 要作为汽车报站器,顾名思义,其最主要的功能就是报站:告知乘客该公交车的起始站、终点站和目前停靠站的站名,从而方便乘客的出行。为实现报站器的功能,经过调研,系统主要可分解为硬件运行环境设计和软件流程设计及软件代码的编写。硬件系统方面本论文选择以AT89S52为主控芯片(MCU),以ISD2560为语音芯片,其次还要选用矩阵键盘、复位电路、晶体振荡器、功放模块及稳压电路等。晶体振荡器与AT89S52的XTAL1和XTAL2两个引脚连接作为MCU 的时钟源,提供时钟频率;复位模块输出端与AT89S52的RESET相连为系统提供复位信号;电源稳压模块主要经前端变压、桥式整流后,经过7805稳压及电解电容滤波后为系统提供稳定的工作电源。硬件系统中,将矩阵键盘和AT89S52控制芯片的连接作为人机接口,播报何种语音由司机通过矩阵键盘来自主控制, AT89S52将要播报的语音内容的语音地址加载到ISD2560语音芯片,并发出控制信号,ISD2560语音芯片接到控制信号后,将语音地址与事先存储在自身内部的语音信息地址相比较得出将要播放何种语音内容,接着将该语音内容送到功放模块(语音放大器)经信号放大后播出。此外,系统还将提供对司机的错误操作进行纠正的功能软件方面,在设计好硬件电路后,为实现系统功能,利用Gold Wave软件技术实现语音文件的录制、编辑与灌入,以901路公交线为例讲述了软件的工作流程,然后用Keil C51开发环境实现代码的编写及软调试,并生成HEX文件,通过EasyPRO Programmer环境将生成的HEX文件写入AT89S52;最后在实验板上进行了软件代码的编写和调试,直至最终能够实现系统的功能,完成最初设计目标为止。 关键词:单片机、语音芯片、报站器、硬件设计、复位电路AbstractAutomobile station reporter is mainly used to report station, such as informing passengers of the starting station, the terminal station and the current station stop, so as to bring the convenient traveling to passengers. In order to carry out the function of the station reporter,the system could be primarily divided into two parts which is the hardware design of operating environment and process design and code compiling of software. In this paper, AT89S52 chip is chosen for the control chip(CPU), while the ISD2560 is used as the voice recorders, and followed by the selection of the keyboard matrix, a reset circuit, a crystal oscillator, a power amplifier module (audio amplifier), a LED digital control and a regulator circuit. The crystal oscillator and AT89S52s XTAL1 and XTAL2 two-pin connector would be connected as the power source of the MCU to provide a clock frequency. The output of the reset circuit and the AT89S52s pin connector would be linked to offer the reset signal. Power regulators, as the main front-end module PSA, the bridge rectifier, a 7805 regulation and electrolytic capacitor after filtering system for the work to provide a stable power supply.The matrix keyboard and the AT89S52 control chip is chosen as the man-machine interfaces within the hardware system. The driver could automatically select announcing language by the matrix keyboard.The AT89S52 could load the voice address of the announcing contents to the ISD2560 voice chip which could compare this address with the pre-stored internal own voice message, and give control sign., thus deciding to announce what contents which will be then sent to the voice amplifier module (voice amplifiers) to play. In addition, the system also has a function to correct the drivers error operation.In the software, for the purpose of achieving the system function after the hardware circuit has designed would be to accomplish the recording, editing and inputting of audio files by the Gold Wave software technology to take 901-bus line for example to tell workflow of software. Then Keil C51 development environment to achieve the preparation of the code and debug software, and generate HEX documents, through EasyPRO Programmer environment will be generated by HEX file into the AT89S52; board experiments carried out in the final of the software code writing and debugging, until finally be able to achieve The function of the system, the target date to complete the original design.Keyword: SCM, voice chip, station reporter, hardware design, reset circuit 目 录摘 要IAbstractII目 录III第一章 绪论- 1 -1.1课题背景、现状和意义- 1 -1.2 设计内容- 1 -1.3 试验方法- 2 -1.4 本论文的章节内容安排如下- 2 -1.5 小结- 2 -第二章 系统工作原理- 3 -2.1 公交车报站器- 3 -2.2 系统组成和工作原理- 3 -2.3 所用主要技术- 4 -2.3.1 Protel电路设计软件- 4 -2.3.2 Gold Wave软件- 5 -2.3.3 Keil C51 Vision2- 5 -2.3.4 唯创ISD4000编程软件- 5 -2.3.5 Easy Pro编辑器- 7 -2.4 小结- 8 -第三章 硬件设计- 9 -3.1 ISD2560- 9 -3.1.1 ISD2560简介- 9 -3.1.2 ISD2560引脚的功能- 9 -3.1.3 ISD2560的操作模式- 10 -3.1.4 ISD2560分段录放音- 11 -3.2 AT89S52- 11 -3.2.1 AT89S52的标准功能- 11 -3.2.2 AT89S52的引脚功能- 12 -3.3 矩阵键盘- 13 -3.3.1 矩阵式键盘的结构- 13 -3.3.2 矩阵键盘的功能- 14 -3.3.3 矩阵键盘的工作方式- 14 -3.3.4 矩阵键盘的编程方法- 15 -3.4复位电路- 15 -3.4.1 复位电路的结构- 15 -3.4.2 复位电路的功能- 15 -3.5 晶振电路- 15 -3.5.1 晶振电路的结构- 15 -3.5.2 晶振电路的功能- 16 -3.6 稳压电路- 16 -3.6.1 稳压电路的结构- 16 -3.6.2 稳压电路的功能- 16 -3.7 音频放大器- 17 -3.7.1 音频放大器的结构- 17 -3.7.2 音频放大器的功能- 17 -3.8 系统硬件电路- 17 -3.8.1 系统硬件的连接- 17 -3.8.2 ISD2560内部地址单元寻址- 18 -3.8.3 系统的工作方式- 18 -3.9 小结- 18 -第四章 软件设计- 19 -4.1 系统的规划- 19 -4.2 语音技术- 19 -4.2.1 语音编辑- 19 -4.2.2 语音资源规划- 20 -4.3 Keil C51 uVision技术- 21 -4.4 系统各模块设计- 23 -4.4.1 系统主流程设计- 23 -4.4.2 键盘处理流程- 24 -4.4.3 语音任务流程设计- 28 -4.4.4 延时模块设计- 29 -4.5 小结- 30 -第五章 系统的测试、运行和维护- 31 -5.1 系统测试- 31 -5.1.1 测试方法- 31 -5.1.2 测试结果- 31 -5.1.3 结果分析与方案改进- 31 -5.2 系统运行与维护- 31 -5.3 小结- 31 -结 论- 33 -参考文献- 35 -致 谢- 36 -附 录- 37 -合肥学院计算机科学与技术系毕业论文第一章 绪论1.1课题背景、现状和意义在人类社会迈入21世纪的今天,随着科学技术的进步,微型计算机技术取得长足发展,已经在许多领域得到了广泛的应用。在声学领域,微机技术与各种语音芯片相结合,使得汽车报站器的实现成为了可能,这为公交车在各个城市的使用和迅速普及提供了技术上的支持。公交车的使用对现代人们的生活产生了积极而深远的影响,不仅大大方便了市民的出行,节约了人们的宝贵时间,还减轻了城市日益拥堵的交通压力。但是,随着城市的快速发展和道路的迅速扩建,公交车线路也需要不时地进行调整、优化,从而,站名也将随之进行变化这要求汽车报站器的语音芯片中的语音内容必须进行频繁的更换,因此一款能够方便地更换语音信息、播放高质量语音信息的汽车报站器就显得越来越重要。对于传统的汽车报站器来讲,其语音芯片都是采用专用语音合成芯片制成的,为固态数字化声音压缩存储形式,工作方式为:声音 模拟量 存储 模拟量 声音 播放,此类语音芯片外围电路复杂,存储容量小,语音质量还会在转换过程中产生一定的失真,并且由于更换语音芯片内部信息不易而需要专业设备和人士这在相当程度上浪费了大量人力、财力。此外,传统的汽车报站器对各种误操作也是束手无措,难以对其纠正。上述种种不足严重影响了传统汽车报站器的应用、推广和普及,使得其很难适应现代社会高速发展的要求。因此,研制、生产一种能够适应现代社会发展的新型汽车报站器就显得尤为重要,不仅可以为人们提供更为人性化的服务和体现出现代前沿科技在人民日常生活中的应用,而且,更为重要的是新技术的应用可以节省大量的人力、物力和财力,无形中为社会资源在其他产业方面的投入提供了更多的保障,从而可以产生更大的社会效益。1.2 研究内容为了克服传统汽车报站器中的不足,在经过多方调研与资料的查阅后,提出了本论文中的设计方案,并经过多次论证最终确认了该设计方案的可行性和其能够产生的重要的社会意义。本论文中系统的设计目的就是要克服传统汽车报站器诸多不足和缺陷,使得报站器的生产和使用更为方便,成本也更为低廉,提供的服务也更为人性化。本次设计采用目前较常用的、功能更为强大的、成熟的芯片,以满足报站器系统设计的方便性、生产的经济性、应用的可靠性和安全性等要求。论文中以AT89S52为控制芯片和ISD2560为录放音芯片为主要部件来设计汽车报站器。在整个设计过程中,不仅会涉及到语音的录制、编辑、剪切和灌入等问题,还将解决利用软件开发环境编写和调试软件代码和将软件代码向芯片中的烧制以及语音的寻址等相关问题。ISD2560的应用不仅省落了语音录放过程中的A/D和D/A转换过程,而且使得语音的存储、更换更为简单、方便,还可对司机的各种误操作进行纠正。1.3 试验方法通过调研公交车报站器的运行流程,规划本课题任务,主要可分解为硬件运行环境设计和软件流程设计及软件代码的编写。在硬件系统的设计过程中,选用合理器件,采用Protel绘图工具绘制硬件系统原理图,并利用试验板进行模拟试验。软件流程设计及软件代码的编写过程中,根据公交车报站器的运行流程,设计其任务流程。其中,利用Keil c51开发环境进行软件代码的编写与调试,使之最终产生二进制代码HEX文件,再采用EasyPRO80B实现HEX文件到单片机的加载。采用Gold Wave 编辑软件对语音文件进行编辑处理,采用ISD编辑器将语音编码写入到ISD2560中,再采用唯创波音软件工具优化语音地址比配。1.4 本论文的章节内容安排如下第一章 绪论:介绍论文课题背景、所要研究的内容、完成设计过程中所要应用到的工具和论文章节的总体安排。第二章 系统基本原理:讲述系统的基本组成、工作原理和对所要应用到的主要技术简要介绍。第三章 系统硬件:主要详细介绍系统的各部分硬件的功能和系统整体设计方案。第四章 系统软件:主要讲述系统的整体工作流程和相关技术的应用方法及总结性概括。第五章 系统的测试、运行和维护:讲述系统整体的测试、运行、测试情况总结和维护。结论参考文献致谢附录1.5小结本章内容主要讲述了本论文的开发背景,论文所研究的课题在现实中的发展现状和其在社会中存在的意义,确定了论文的研究方向和其实现方法,介绍了需要用到的元器件和相关软件,并在最后对整个论文的章节安排作了一个简要的概括。- 42 -第二章 系统工作原理2.1公交车报站器为了能够更好的完成设计任务,就需要对公交车报站器的功能和其能够产生的经济价值及社会价值(这能更好的体现本设计的意义所在)有一个较为清晰地认识,在此对其做一个简要介绍。对于乘客(最大的受众群体)而言,报站器的主要功能体现在:通过报站器的语音播放功能,应使乘客能够非常清晰明白的知道本次公交车的起始站和终点站以及当前所停靠站的站名,当乘客上下车时和公交车启动后,并能够告知乘客下一站将要到达的站点和向乘客提供其它的温馨语音提示。对于公交车司机来讲,最为希望的应该就是自己能够方便地自行更改报站器的播放内容,并可以通过编辑播放列表文件更改所要播放的文件,而当出现操作错误时能够轻易地通过键盘按钮进行纠正。对于生产厂家而言,在能够很好的实现和满足公交车报站器功能要求的前提下,最为注重的应该就是考虑使用当前哪些科技材料来代替传统的、相对落后的材料而简化生产工序,以此降低生产成本并使生产的产品使用更为简单以此扩大销售量,从而为企业、社会创造更多的价值。2.2 系统组成和工作原理基于公交车报站器的功能和其自身所带来的一系列企业、社会经济价值考虑,本系统将采用AT89S52型号单片机作为主控制模块和ISD2560语音播放技术,实现对报站器的主要部件设置,另外,还将选用矩阵键盘、复位电路、晶体振荡器、功放模块(音频放大器),和一个稳压电路。电路系统中,将矩阵键盘和AT89S52的连接作为人机接口,播报何种语音由司机通过矩阵键盘来自主控制,然后AT89S52将要播报的语音内容的语音地址传递到ISD2560,并发出控制信号,ISD2560接到信息后,将语音地址与事先存储在自身内部的语音信息地址相比较得出将要播放何种语音内容,接着将该语音内容送到功放模块(语音放大器)将语音放大后播出;晶体振荡器与AT89S52的XTAL1和XTAL2两个引脚连接作为主控芯片MCU的时钟源,提供时钟频率;将复位电路模块与AT89S52控制芯片的RERST引脚相连为系统提供复位信号;将稳压电路模块分别与AT89S52、ISD2560语音芯片、复位电路和矩阵键盘的电源线引脚相连,以此保证向各个电路模块和整个系统提供稳定的电压。此外,当司机进行了误操作时,可以通过键盘上的按钮清除上一步操作进行纠正。系统工作原理框图如图 2-1 所示。人机接口(键盘)主控器电源时钟频率复位电路语音模块信号放大语音输出图 2-1系统工作原理框图2.3 所用主要技术为了能够更好的完成本论文的设计工作,在论文的设计过程中将会应用到的主要技术有Protel电路设计软件、Gold Wave软件、Keil C51、维创ISD4000编程软件、Easy Protel编辑器。2.3.1 Protel电路设计软件Protel是由Protel Technology公司研发的一款电路板设计软件,使用该软件能够非常方便的设计电路原理图、画元件图、设计电路版图、化元件封装图和进行电路仿真。(1) Protel 99SE的主要功能和特点(a) 原理图设计工具SCH99SE。SCH99SE模块是一个功能完备的多图纸层次化的原理图编辑器,包含快速设计录入、自动连线和多接口输入输出等高级工具、还可绘制一般图案或插入图片。另外,还提供组件编辑器和6万多个原理图软件,可以节约大量绘图时间。(b) 功能强大的设计工具PCB99SE。PCB99SE模块可为用户提供一个交互有好和功能强的的PCB设计环境。(c) 无网格自动布线器Route 99SE。Route 99SE模块是一个完全集成的基于形状的无网格自动布线器,布线效率高、使用方便,且布线质量好。(d) 信号完整性分析器Intigrity 99SE。此模块拥有信号完整性分析技术,提供精确的板级物理信号分析,包含有设计系统物理信号分析的详细信息。可检查串扰、过冲、下冲、延时和阻抗等问题。(e) 高级数据混合电路信号仿真器SIM99SE。此模块是一个基于SPICE 3F5/XSPICE标准的仿真器。(f) 通用可编程逻辑器件设计工具PLD99SE。此模块是一个集成的PLD开发环境,集成有PLD功能仿真和工业标准JEDEC输出。2.3.2 Gold Wave软件Gold Wave是一款集声音编辑、播放、录制和转换等功能于一体的数码录音和软件编辑工具。在其中可打开相当多类型的音频文件,包括WAV, OGG, VOC, IFF, AIF, AFC, AU, SND, MP3, MAT, DWD, SMP, VOX, SDS, AVI, MOV, APE等多种音频文件格式,内含丰富的音频处理特效功能,从一般特效如多普勒、回声、混响、降噪到高级的公式计算(利用公式在理论上可以产生任何你想要的声音),效果很好。2.3.3 Keil C51 Vision2Keil C51 Vision2是德国Keil公司推出的基于32位Windows环境、以C51系列单片机为开发目标、以C语言为基础的集成开发平台。uVision2 集成开发环境集成了一个项目管理器和一个功能丰富有错误提示的编辑器以及设置选项生成工具在线帮助,利用uVision2创建你的源代码并把它们组织到一个能确定目标应用的项目中去,uVision2自动编译汇编连接你的嵌入式应用并为开发提供一个单一的焦点。uVision2 是一个基于Window的开发平台包含一个高效的编辑器和一个项目管理器和一个MAKE工具,支持所有的KEIL 8051工具包括C编译器宏汇编器连接/定位器目标代码到HEX的转换器,uVision2通过以下特性加速到嵌入式系统的开发过程。全功能的源代码编辑器 :器件库用来配置开发工具设置;项目管理器用来创建和维护项目;集成的MAKE工具可以汇编编译和连接嵌入式应用;所有开发工具的设置都是对话框形式的;真正的源代码级的对CPU和外围器件的调试器;高级GDIAGDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信;与开发工具手册和器件数据手册和用户指南有直接的链接。2.3.4 唯创ISD1400编程软件(1) 唯创ISD4000性能特点支持ISD所有5V的 ISD1100、ISD1200、ISD1400、ISD2500等器件;可同时编程/拷贝两块ISD器件,编程同时可检测一片芯片;专用“编程拷贝软件”直接通过电脑控制对系统进行编程(即可指定任意地址写入、修改语音内容)、拷贝、地址测试等,简单、易操作,拷贝音质好;系统状态用四位“数码管”显示,操作过程用“数码管”将信息(如地址或段数)显示出来。编程器如图2-2所示。图 2-2 ISD4000编程器(2) 按键及输入、输出口说明表2-1唯创ISD4000按键功能名 称功 能 说 明MASTER对已录音的芯片进行试听或测地址SLAVER 放置待拷贝的芯片SLAVER 放置待拷贝的芯片音频输入用音频线将电脑音频输出与编程拷贝机相连接录音监听用有源音响实时监听电脑放音时的语音麦克风对SLAVER 通过麦克风进行录音电源(DC9V)连接编程拷贝机专用9V电源232接口将电脑和编程拷贝机用232缆线相连接PCISD联机拷贝与脱机操作的状态转换回放监听监听MASTER位置芯片的语音输出复位对系统进行复位录音脱机时,对SLAVER进行手动录音操作播放/拷贝脱机时,对MASTER放音、测地址及拷贝等状态脱机时,可根据需要将系统调至相应工作状态(a) 地址录音。将拨码开关拨至“PC”模式,并将软件中的录音方式选择为“地址录音”,按“连续放音”即可对已编辑好的语音进行录音或拷贝工作。此时系统显示应与软件中的地址相一致。录音或拷贝的同时可对已录音的芯片进行放音,电脑所放语音应与被测试芯片所放语音同步(此功能可以验证芯片是否录音成功)。如若需要对其中某一个段进行录音,可通过鼠标点击该段即可。(b) 模式录音。将拨码开关拨至“PC”模式,并将软件中的录音方式选择为“模式录音”,按“连续放音”即可对已经编辑好的语音进行录音或拷贝工作(模式录音:连续录制各段信息,段与段之间不会有空段存在,即某一段信息的开始地址接着它前一段的结束地址)。此时系统显示语音的段数。录音或拷贝的同时可对已录音的芯片进行放音,电脑所放语音应与被测试芯片所放语音同步(此功能可以验证芯片是否录音成功)。(c) 测试语音地址。将拨码开关拨至“ISD”模式,接通专用的直流9V电源,系统显示ISD芯片的型号,如需要改变型号,按一下“模式”键,系统会转换一种型号,直到系统显示用户所要操作的ISD芯片型号。(执行前最好把连接电脑的232连线,音频输入线拔掉)。将需要测试的语音芯片放置在“MASTER”座上,长按一下“播放/拷贝”键,直到系统显示“0000”,即可松开按键,系统开始测试第一段的语音结束地址,测试完成后,系统显示下一段的开始地址(所显示的地址是十六进制),用户短按一下“播放/拷贝”键继续测试下一段语音的开始地址,依次类推。(d) 手动录音。将拨码开关拨至“ISD”模式,接通专用的直流9V电源,系统显示ISD芯片的型号,如需要改变型号,可按一下“模式”键,系统会转换一种型号,直到系统显示用户要操作的ISD芯片型号。插上麦克风或将放音设备的音频输出与系统的音频输入相连接,把需要录音的ISD芯片放在“SLAVER ”和“SLAVER ”座上,短按一下“录音”键,系统显示“ISD”,表示目前系统进入麦克风录音状态,按住“录音”键,数码管显示“0001”,此时系统可将麦克风或放音设备的语音录制到芯片中,松开“录音”键第1段语音录音结束,再次按住“录音”键,系统显示自动加一,开始录制下一段语音。(注意:麦克风只能对芯片“SLAVER ”进行录音)。录音结束后,可把ISD芯片放在“MASTER”座上,然后按一下“复位“键将系统复位,短按一下“录音”键,系统显示“ISD”,表示目前系统进入放音状态,此时“MODE/BACK”键代表后退,每按一下系统会播放上一段语音,“COPY/PLAY”键代表前进,每按一下系统会播放下一段语音。(e) 录/放音状态显示。“地址及状态显示”部分的数码管右下角的3个小数点从左到右依次分别显示“MASTER”、“SLAVER ”、“SLAVER ”的录/放音状态。在录/放音过程中,如小数点连续闪动,表明录/放音状态正常。如停止闪动则表明录/放音过程有误,当前芯片工作不正常,可能是芯片问题或是锁紧座接触不良(IC脚氧化)等问题,重新放置IC再录制。2.3.5 Easy Pro编辑器Easy Pro 80B通用编程器是Easy Pro系列产品的一种,也是目前国内市场上同类产品中集成度最高,功耗最小,支持型号最全的通用编程器之一。EasyPRO 80B采用USB通讯技术,内置高速CPU并采用程控电源和程控分频器,使得编程深度加大,速度更快,稳定性更好,编程效果更加流畅。如图2-3所示。图2-3 Easy Pro编辑器(1) Easy Pro 80B的电路特点内置高速处理器,时序烧写不依赖PC,确保精确的编程时序和极高的编程速度。系统内部预设500MA过流保护电路,彻底防止意外事件;如有特殊需要,过留容限可由用户自行修改。同时主控芯片各端口设有过压保护电路,有效防止编程时的高压冲击。主控芯片的每个端口设有过压保护电路,可以防止编程时高压的冲击。采用USB接口,快速可靠,极大的节省了系统资源,保证编程的同时其它程序的无障碍运行。引脚实现万能全驱,可作数据总线、地址总线、控制总线、编程电压驱动总线和管脚接触不良测量专用总线等,编程电压,I/O口电平随芯改变,自动适应。烧录电压范围为0V至18.0V,最少分256级可调;编程电流最大可提供500mA。 且编程性能可靠稳定。功耗低,在为编程时,整机电流小于60mA。人性化的软件界面,操作简单、方便、流畅,工作效率高提供编程文件管理程序,用户以项目方式管理编程文件。插片自动启动功能:支持自动烧写,大幅提高生产效率,有效降低生产成本。由MCU产生芯片编程时序,完全符合芯片编程手册规定,不损伤编程芯片。由PC存贮所有编程芯片的时序,编程芯片种类可由PC软件无限升级,用户将免费获取。(2) Easy Pro 80B的功能特点界面美观,操作简单、方便、流畅,工作效率高。采用表面贴片工艺生产,可靠性高,使用寿命长。编程器体积小巧,适合外出携带。已获得PHILIPS、MOTOROLA、ATMEL、WINBOND、ST、SST、HOLTEK、SYNCMOS等厂商的支持与认证。所有算法均经过批量烧写测试,杜绝烧毁芯片的现象。支持用户对所编程芯片序列号的二次开发。当用户插入坏片时系统具有自动保护和检测功能。采用USB1.1接口,数据通讯速率最高可达每秒6Mbps,编程速度快,使用、连接均十分方便。是国内市场中能够真正准确烧写P89C66xHxx、AT89C51、AT89Sxx等系列芯片的并行烧写器。2.4 小结本章首先介绍了公交车报站器在人们生产生活中的应用以及给人们的日常生活带来的影响,接着介绍了论文中设计的公交车报站器所要用的元器件及所需电路和报站器的工作原理,最后讲述了所要应用的软件。文中不仅列出了报站器的组成元件和所有模块电路,还对其工作原理做了一个直观概括,并详细介绍了所用软件的功能和其特性以及部分软件的工作模式。第三章 硬件设计3.1 ISD25603.1.1 ISD2560简介ISD2560语音芯片是美国ISD公司生产的语音录入和重放的ISD2500系列芯片之一,该语音芯片是一种永久记忆型语音录放芯片,采样频率为8.0KHz(该器件的同一系列的产品采样频率越低,录放时间越长,但通频带和音质会有所降低。),录音时间可长达60s,可重复录放10万次。其采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM (容量为480KB,较之1400系列芯片128KB大得多,所以录放时间较长) 单元中,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”,能够非常真实、自然地再现语音、音乐、音调。ISD2560的集成度较高,且不需另加AD或DA变换来存放或重放信息,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480k字节的EEPROM。芯片内有10个地址输入端,使得寻址能力高达1024位,且其内部的EEPROM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。ISD2560语音芯片还具备微控制器所需的控制接口,通过操纵地址和控制线可完成不同的任务如信息的组合、连接、设定固定的信息段和信息管理等,以实现复杂的信息处理功能。ISD2560语音芯片可不分段,也可按最小段长为单位来任意组合分段。此外,ISD2560语音芯具有抗断电、音质自然、使用方便、单片存放、反复录音、低功耗以及开发应用具有所需的外围电路简单等许多优点。因此,该芯片作为目前国内外较为理想的语音芯片在许多领域获得了广泛的应用。其主要特点为:录放时间可达60s;高质量、自然的语音还原技术;自动静噪功能;内置微控制器串行通信接口;具有多段信息处理功能,最大可分600段。3.1.2 ISD2560引脚的功能图 3-1 ISD2560的DIP封装图ISD2560的封装如图 3-1 所示。ISD2560引脚的功能如表 3-1 所示。表 3-1 ISD2560引脚的功能引线端名称功能1-7A0/M0A6/M6地址8-10A7A9地址11AUX IN辅助输入12,13VSSD、VSSA数字和模拟地14,15SP+、SP-扬声器输出16,28VCCA、VCCD模拟电源、数字信号电源正极17,18MIC、MIC REF麦克风输入和输入参考端19AGC自动增益控制20,21ANA IN、OUT模拟信号输入和输出22溢出23片选(低电平允许芯片工作)24PD芯片低功耗状态控制25录放音结束信号输出26XCLK外部时钟27P/录/放控制选择3.1.3 ISD2560的操作模式当最高位地址(MSB)A8、A9都为高电平时,地址端 就作为操作模式选择端(高电平有效)。表 3-2 模式功能模式控制功能典型应用A0/M0信息检索快速检索信息A1/M1删除EOM标志在全部语音录放结束时,给出EOM标志A2/M2未用当工作模式A3/M3循环放音从0地址开始连续重复放音A4/M4连续寻址可录放连续的多段信息A5/M5CE电平触发允许信号中止A6/M6按钮控制简化器件接口使用操作模式时需要注意以下两点:第一、所有操作模式下的操作都是从0地址开始,以后的操作根据模式的不同,而从相应的地址开始工作。当电路中录音转放音或进入省电状态时,地址计数器复位为0。第二、操作模式位不加锁定,可以在MSB(A8、A9)地址位为高电平时,CE电平变低的任何时间执行操作模式操作。如果下一片选周期MSB(A8、A9)地址位中有一个(或两个)变为低电平,则执行信息地址,即从该地址录音或放音,原来设定的操作模式状态丢失。3.1.4 ISD2560的分段录放音ISD2560最多可分为600段,只要在分段录/放音操作前(不少于300纳秒),给地址A0A9赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音时芯片遇到EOM标志即自动停止放音。2560芯片地址空间的分配方法是:地址0599作为分段用,地址600767未使用,地址7681023为工作模式选择。表 3-3 ISD2560地址0599的分配十进制二进制信息时间(秒)A9A8A7A6A5A4A3A2A1A025600000000000005000001100105.0100000110010010.0250001111101025.0300010010110030.0400011001000040.0500011111010050.0599100101011159.93.2 AT89S52单片机ATML89S52是美国ATML公司生产的低电压、低功耗、高性能8位CMOS单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256B的随即存取数据存储器,器件采用高密度、非易失性存储技术生产,与标准的MCS-51指令系统及8052产品引脚兼容,片内通用8位中央处理器和Flash存储单元,功能强大。AT89S52芯片的主要性能参数如下:与MC-51产品指令和引脚完全兼容、8K字节可重擦写Flash闪存、1000次擦写周期、全静态操作:0Hz24Hz、三级加密程序存储器、2568字节内部RAM、32个可编程I/O口线、3个16位定时计数器、可编程串行UART通道、低功耗空闲和掉电模式。3.2.1 AT89S52的标准功能8K字节Flash闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及终端系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89S52型单片机的封装图如图3-2 所示。图 3-2 AT89S52芯片封装图3.2.2 AT89S52的引脚功能 Vcc:电源电压GND:接地端P0口:P0口是一组8位漏极开路型双向I/O口,即地址/数据总线复用口。作为输出时,每位以能驱动电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换低8位地址和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1口是一个内部带上拉电阻的8位I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”时,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1接收低8位地址。另外,AT59S52的P1.0和P1.1引脚还可分别作为定时/计数器2的外部计数输入和输出。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2口的输出缓冲级可驱动4个TTL逻辑门电路。对端口P2写“1”时,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。在作为输入口时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程或校验时,P2也接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉到高电平并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口个引脚的第二功能分别如下:表3-4 P3口个引脚功能端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0 (定时/计数器)P3.5T1 (定时/计数器)P3.6 (外部数据存储写选通)P3.7 (外部数据存储读选通)RST:复位输入端。当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。ALE/:地址锁存端。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。通常情况下ALE以时钟振荡器频率的1/6输出固定脉冲信号。存储器编程期间,该引脚用于输入编程脉冲。:外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。/VP:外部访问允许端。当CPU仅访问外部程序存储器时,EA端必须保持低电平,如果EA端为高电平,则CPU执行内部程序存储器中的指令。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.3 矩阵键盘3.3.1 矩阵式键盘的结构当键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-3所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P10口P17口)就可以构成4*4= 16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,两者的区别就会越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9个键)。因此,在需要的键数比较多时,采用矩阵法来做键盘是较为合适的方法,本论文设计中采用的即是矩阵键盘的结构。在设计的过程中,还将会为键盘提供一个稳压源,以保证工作过程中电压的稳定。图 3-3 矩阵键盘3.3.2 矩阵键盘的功能判断键盘中有无键按下。将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中;若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置。在确认有键按下后,即可进入确定具体闭合键的过程。其方法是依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态,若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。3.3.3 矩阵键盘的工作方式(1) 编程扫描工作方式采用编程方法每隔一段时间调用键扫描子程序,查询是否有键输入。每次扫描时间间隔可以不等。但此方法因扫描不及时易丢失按键信息。(2) 定时扫描工作方式此方法是采用单片机内的定时器每隔一固定时间产生定时中断,CPU响应中断后执行一次键扫描子程序,有键输入时进行键处理。此方法优点是能保证键盘在指定的时间间隔内进行扫描,响应较为及时。(3) 中断工作方式此种工作模式是为了克服(1)、(2)两种工作方式只能在固定时间内才能处理按键信息的弊端而设计的。采用此工作方式不仅可以提高CPU的工作效率,而且还能保证按键信息不会丢失。只要有键闭合,就会立即产生中断信号是CPU转入中断处理程序,进行对按键的处理。3.3.4 矩阵键盘的编程方法先读取键盘的状态,得到按键的特征编码:先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法将可以得到16个键的特征编码。3.4基本复位电路3.4.1 复位电路的结构图 3-4 复位电路复位电路的结构如图 3-4 所示。3.4.2 复位电路的功能复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。通常,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起抖动而影响复位。图3-4中所示的RC复位

温馨提示

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

评论

0/150

提交评论