公交车语音报站及汉字显示系统设计.docx
《公交车语音报站及汉字显示系统设计.docx》由会员分享,可在线阅读,更多相关《公交车语音报站及汉字显示系统设计.docx(26页珍藏版)》请在冰豆网上搜索。
公交车语音报站及汉字显示系统设计
公交车语音报站及汉字显示系统设计(总28页)
摘要
公共汽车成为城市人们出行的必备选择后所面临的问题是乘客们如何能够在正确的车站下车,如何知道这辆车开向哪里,途中还会经过哪些车站。
在一些需要提示乘客注意的情况,比如车在转弯需要注意,或者需要让座等等,这时该怎么办解决的办法就是利用公交车报站器播放语音,提示乘客。
在当今社会,即使在私家车越来越多的今天,公交车仍然是人们出行的首选,因为公交车具有方便、快捷、车票便宜等优点。
传统的公交车报站主要由售票员报站,但是有些售票员有着浓重的地方口音,给外地人乘坐公交车造成了困难,另外,随着无人售票车逐渐增多,公交车报站器就越显得重要了。
本文应用单片机技术、语音合成技术设计了一种公交车语音报站和汉字显示系统,它能很好的模仿人完成报站任务,从而解决了人工报站不准确不方便等问题。
本文设计的新型的公交车语音报站系统,AT89C52单片机为核心,外扩ISD1730语音芯片,LED显示器和行列驱动芯片。
主要有单片机的线编程模块,话筒,语音芯片,功放、键盘按钮、LED显示程序。
通过对单片机语音模块的编程,实现语音播报,再有扬声器、及放大电路放大,同时也可以手动触发音频播放,设置站台号,再通过LED显示程序显示出来。
该公交语音报站系统,方便简单、功能稳定,具有一键智能操作等功能。
【关键词】单片机、语音芯片、LED显示器
Abstract
Busbecomenecessarychoiceofcitypeopletravelafterfacingthequestionishowthepassengerstogetoffthetrainattheright,howtoknowthecaropentowhere,willalsobeonthewaythroughwhichthestation.Insomeofthepassengersneedtopayattentiontothesituation,suchascarinturnneedtopayattentionto,orneedtogiveupherseat,etc.,thenwhatshouldIdoThesolutionistousethebusstopsplaythevoiceandpromptpassengers.
Intoday'ssociety,evenintoday,moreandmoreprivatecars,busesarestillamongtheirfirstchoicesofinvestmentwithpeopletravel,becausethebushastheadvantagesofconvenient,quickandtheyarecheaper.Traditionalbusstopsismainlycomposedoftheconductorstops,butsomeoftheconductorhasastronglocalaccent,causeddifficultforoutsiderstoridethebus,ontheotherhand,astheunmannedvehicle,busstops,themoreimportantthe.
Thispaperintroducesthedesignprincipleofanewbusautomaticstopreportingsystem,whichcentersAT89C52SingleChipMicyoco,concerningISD1730speechchip,dotmatrixLEDcharacterdisplayscreenandlinedriverchip.thissystemmainlyincludethesinglechipmicrocomputerlineprogrammingmodule,microphone,voicechip,poweramplifier,thekeyboardbutton,liquidcrystaldisplayprogram.Basedonsinglechipmicrocomputervoicemoduleprogramming,therealizationofspeech,nospeaker,andamplifyingcircuitamplifier,atthesametimecanalsomanuallytriggeraudioplayback,setuptheplatform,throughtheLEDdisplayprogram.Changetobusvoicestopssystem,simple,convenientandstablefunction,generalpromotionvalue
【keywords】singlechip、voicechip、LEDdisplay
一、绪论
研究背景及意义
公共汽车是目前世界各国使用最广泛的公共交通工具。
它起始于1905年的美国纽约,当时用公共汽车代替原有的公共马车,20世纪30年代得到了迅速的发展。
随着现代社会的建设,公交车越来越为大众所喜爱,不仅仅可以在低消费下达到目的地,同时也能省去很多的自驾麻烦,是打工族和学生族的常用交通工具,公交车便成为了现代文明城市的一道流动的风景线。
为了使乘客方便清楚的知道公交车所到站点,公交车配备了一些设备,最普遍的就是报站系统,汉字显示屏,无人售票等装置。
公共汽车之所以被广泛采用,是因为其机动灵活性高,在路面状况良好的城市道路上就可以通行,而且公共汽车组织其运行所需要的附属设施的投资,相较之其它现代化公共交通工具也是最少的。
随着我国公共汽车车辆类型发展趋势,其中按载客量分车型,有小型(载客60~90人)、中型(载客90~130人)和大型(载客130~180人)。
大型公共汽车对于解决上下班客运高峰时间的乘车拥挤情况起了很大解决交通堵塞作用。
城市公共交通是城市建设和发展的重要组成部分,随着城市的扩建,人们生活节奏的加快,公共交通问题显得日益重要。
在我国中小城市里,公交车仍然是城市交通的主体,它的服务质量与市民们的生活息息相关,也是衡量一个城市的文明指标。
而国内大多数城市现有的公交车还是采用传统的公交系统,没有实现智能化,比如公交车报站只能由人工来实现报站,离不开驾驶员或售票员的相应操作,公交车司机一边要开车一边还要兼顾报站,这就增加了驾驶员的操作负担,驾驶员开车时为报站而分散精力,存在一定的安全隐患,同时由于人工报站受到个人素质、工作态度劳动强度等因素影响,往往出现误报、漏报甚至干脆不报等现象,给乘客带来了很大的不便。
因此,在中小城市中,公交车对报站系统的需求也日益强烈。
研究现状
现阶段公交车语音报站在国内外来说主要有以下几种方式:
一是通过用户终端接收工作的全球定位系统卫星导航信息,车辆信息的经度和纬度,然后计算实时协调、配合,当车辆进入该网站在一定距离范围内,无需人工操作,系统会进行语音报站;二是使用无线电频率识别技术,在每个公交车站设置一个射频发射器一个惟一的ID,传输采用间歇工作方式,当公共汽车将要到达车站,车站接收和解码ID的车载系统平台,是由单片机控制的自动播出平台对应的数字语音到站信息;三是车轮轴角脉冲计数,计数的值与预设值对比,确定到站,达到准确到站的目的。
然而,这三个方法不适合大多数国内中小城市的发展现状。
第一种设备成本过高,定位精度满足要求;第二大平台建设,一旦网站的变化,射频发射器必须移动,更多的麻烦;第三个需要公交线路固定严格,稍有变化,所以很难准确的停止。
为此,本文试图设计一种既方便易行又经济实惠的公交车语音报站系统及汉字显示以此来实现一键智能化操作完成报站等任务。
课题研究内容
本课题要求设计公交车语音报站及汉字显示系统,以实现公交车的语音报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LED显示屏进行汉字显示。
在进行系统设计时,除了实现系统要求的功能以外,同时,由于系统是安装在公交车上,属于车载终端设备,所以必须兼顾电源、功耗、体积等因素,且还要考虑到产品成本、开发工具、研发周期等问题[1][2]。
基于以上因素,整个系统采用了AT89C52单片机作为主控制器的设计思路。
本设计的主要任务是研究设计公交车语音报站及汉字显示系统。
在设计中,主要去完成了以下工作:
(1)在整体电路完成的情况下,实现一键智能操作并利用ISD1730进行语音报站,以及利用4块16*16LED显示屏进行文字的显示。
(2)在以AT89C52为主控芯片的情况下,完成了硬件的整合,画出了电路图。
(3)写出了软件源代码,进行软件编程,达到设计目的。
二、系统总体方案设计
方案论证
控制模块
本设计采用单片机作为核心控制芯片,单片机选用AT89C52。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机。
该芯片具有40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),AT89C52设计和配置了振荡频率可通过软件设置省电模式。
空闲模式下,CPU暂停工作,AT89C52支持并行编程还支持ISP在线编程。
工作频率更高,电源范围更宽,抗干扰性更强,加密功能更强。
外置看门狗芯片MAX813L,此芯片是一体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片,它使用简单、方便。
语音模块
ISD1730是华邦公司新推出ISD1700系列芯片的单片优质语音录放电路,芯片可以提供大量的新功能,其中包括一个内置的专利信息管理系统,新消息显示,双操作模式(独立与嵌入式),以及一个可定制的指示信息的声音。
芯片内部的前端放大器由自动增益控制、麦克风、扬声器驱动电路、振荡器、记忆和全方位的系统功能的集成[3][4]。
本次设计采用ISD1730语音芯片设计录放电路,由按键直接控制语音的录放等,电路工作稳定、可靠性高,完全达到了设计要求,具有非常好的实用性。
芯片ISD1730提供多项创新功能,包括多信息管理系统,新信息提示,双运作模式,以及可定制的信息操作指示音效。
该芯片可录放音十万次,存储内容可以断电保留一百年,具有两种控制方式,两种放音方式输出方式,可处理多大255段信息,而且它的音质好,应用非常灵活。
本设计选用ISD1730芯片为本设计的播放语音芯片,并且对芯片的各个引脚功能,以及和单片机连接的电路进行了细致的分析和研究,芯片内部包含芯片上的时钟,麦克风前置放大器,自动增益控制,带通滤波器,平滑滤波器和功率放大器。
使用模拟存储技术,可以提供20秒钟播放时间,在没有失去电力供应下降时,语音质量高。
在报站状态下,只需要由单片机P1口送出所需报站名及其他语句的存储地址,给23脚一个下降沿信号,开始放音。
显示模块
方案一:
采用LCD点阵显示,用来显示文字、图形、图像等各种信息的显示屏幕。
它均由LCD矩阵块组成。
图文显示屏可与计算机同步显示汉字、英文文本和图形,该方案简单易行。
但所需的元件较多,且不容易进行操作,可读性差,一旦设定后,很难再加入其他的功能[5]。
方案二:
采用4个16*16点阵LED显示汉字,即为16*128点阵汉字显示,并且设置有驱动电路。
根据AT89S51单片机的特点,它一共使用32条IO口,为了节约IO资源,选有74LS245芯片为单片机系统扩充IO资源提供了条件。
将行列总线通过74245接在单片机的I0口,实现行扫描控制,在单片机通过74LS595接入列总线实现列扫描的控制。
然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字。
通过比较最终选择方案二。
总体方案设计
设计利用单片机,控制语音的输出和输入,当公交车到站时按下键按向单片机发出指令请求指令,单片机响应中断请求,控制语音模块开始报站,同时单片机向LED显示芯片发出控制代码使LED显示芯片显示到站文字信息。
工作流程如图2-1。
图2-1设计框图
三、硬件电路设计
控制电路设计
简介
AT89C52单片机在电子行业中有着广泛的应用,它是一个低电压,高性能8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器ROM和256bytes的随机存取数据存储器(RAM),采用ATMEL公司的高密度、非易失性存储技术,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元如图3-1所示。
图3-1单片机引脚图
AT89C52为8位通用微处理器,主要用于收敛调节控制的功能。
功能包括收敛掌握集成电路内部寄存器,数据RAM和外部接口初始化等特性,收敛调节控制、收敛测试模式控制、红外遥控信号的红外接收机解码和与CPU主板、通信等[6]-[8]。
如图所示:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写"1"时,可作为高阻抗输入端用。
P1是一个内部带上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑,对端口写"1"。
表1和的功能特性
引脚号
功能特性
T2,时钟输出
T2EX(定时/计数器2)
P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。
对端口P2写"1",通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动4个TTL逻辑门电路。
如EA端为高电平,CPU则执行内部程序存储器中的指令。
XTAL1振荡器反相放大器及内部时钟发生器的输入端。
XTAL2振荡器反相放大器的输出端。
AT89C52除了有AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。
定时/计数器2的控制和状态位位于T2CON.寄存器对是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。
晶体振荡电路
三种常用振荡器:
RC振荡器,振荡器和晶体振荡器。
RC振荡器是最常见的应用程序的一个振荡器电路,其结构简单,成本低,电路功耗低。
但是电路的工作电压大大影响其频率,相关性较差,精度差。
环形振荡器振荡频率范围很宽,高度的稳定性。
但对电源噪声非常敏感,布局大小面积较大[9][10]。
晶体振荡器的频率是非常准确的且工作稳定。
图3-2晶体振荡电路
由于AT89C52的振荡器特性可知道,XTAL1和XTAL2反向放大器的输入和输出。
反向放大器可以配置为片内振荡器。
可以采用石晶和陶瓷振荡。
如由外部时钟源设备,XTAL2应不接。
更多的内部时钟信号通过一个二分频率触发器,所以外部时钟信号脉冲宽度没有任何要求,但必须保证脉冲高低电平的要求的宽度。
振荡电路由AT89C52的18,19脚的时钟端(XTALl及XTAL2)以及12MHz晶振X1、电容C2,C3组成,采用片内振荡方式。
复位电路
单片机应用程序的操作系统,因为恶劣的环境,在工作的过程中一旦失控的干扰,往往会出现“撞车”现象,它显示了系统无法继续正常运行,处于瘫痪状态,其硬件电路,没有伤害,只有内部程序运行出现错误,然后消失,即使干涉系统还没有恢复正常,需要采取一些措施来保护系统可以自动恢复正常后失控,“程序运行监控系统”(监管机构监管机构)是一种常见的抗干扰措施,以确保系统自动重置干扰后的失控。
单片机选用AT89C52,用外置看门狗芯片MAX813L,,此芯片体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片;使用简单、方便。
它所提供的复位信号为高电平。
系统从软件死循环状态恢复到复位状态,使系统重新恢复到正常的运行状态。
目前在市场上有许多流行的专用复位芯片常用的有Maxim公司生产的MAX系列芯片,本文利用MAX813L设计复位电路,如图3-3所示。
图3-3复位电路
MAX813L有双列直插和贴片两种封装形式。
第1脚MR为复位输入端,低电平有效,第2脚VCC为电源端,第3脚GND为地,第4脚PFI为电源故障检测输人端,第5脚PFO为电源故障输出端,第6脚WDI为看门狗检测输入端,第7脚RESET为复位输出端,第8脚WDO为看门狗输出端。
程序运行“死机”及相应对策,程序正常运行时,由主程序在小于的时间间隔内周期性地从P1.7端向MAX813L的WDI输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。
按键电路
按键电路的设计如图3-4所示,当公交车到将要到站时,司机按下按键开关会出现语音播报,及文字显示,在按键关闭时,会提示下一站到站的站名及文字显示。
图3-4按键电路
语音电路设计
语音电路芯片简介
ISD1730是ISD公司最新推出的单片高音质语音录放电路,该芯片提供多项创新功能,包括多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。
芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。
(1)ISD1730特点:
·可录、放音十万次,存储内容可以断电保留一百年
·两种控制方式
·两种录音输入方式
·两种放音输出方式
·可处理多达255段信息
·有丰富多样的工作状态提示
·多种采样频率对应多种录放时间
·音质好,电压范围宽,应用灵活
(2)ISD1730电特性:
·工作电压:
·静态电流:
-1μA
·工作电流:
20mA
(3)独立按键工作模式
ISD1730独立按键工作模式回放电路非常简单,但功能强大。
记录,不仅把函数,还有快进,抹去,音量控制,直接播放和复位等功能这些函数可以简单地通过完成按键。
当在按键工作模式时,芯片可以销信号是由导致提示芯片的工作状态,并伴有响声,用户还可以设置四个提示音效。
录音操作:
按下REC键,REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。
录音结束后,录音指针自动移向下一个有效地址。
而放音指针则指向刚刚录完的那段语音地址。
放音操作:
放音操作有两种模式,分别是边沿触发和电平触发,都由PLAY管脚触发。
(1)边沿触发模式:
点按一下PLAY键,PLAY管脚电平变低便开始播放当前段的语音,并在遇到EOM标志后自动停止。
放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。
在放音期间,LED灯会闪烁直到放音结束时熄灭。
如果在放音期间点按放音键会停止放音。
(2)电平放音模式:
如果一直按住PLAY键,使PLAY管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将PLAY管脚电平拉高。
在放音期间LED闪烁。
当放音停止,播放指针会停留在当前停止的语音段起始位置。
(3)快进操作:
点按一下FWD按钮将FWD端拉低,会启动快进操作。
快进操作用来将播放指针移向下一段语音信息。
当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。
当下降沿来到FWD端时,快进操作还要决定于芯片当时的状态:
如果芯片在掉电状态并且当前播放指针的位置不在最后一段,那么指针会前进一段,到达下一段语音处。
如果芯片在掉电状态并且当前播放指针的位置在最后一段,那么指针会返回到第一段语音处。
如果芯片正在播放一段语音(非最后一段),那么此时放音停止,播放指针前进到下一段,紧接着播放新的语音。
如果芯片正在播放最一段语音,那么此时,放音停止,播放指针返回到第一段语音,紧接着播放第一段语音。
(4)擦除操作:
擦除操作分为单段擦除和全体擦除两种擦除方式,区别如下:
单个擦除:
只有第一段或最后一段语音可以被单个擦除。
点按一下ERASE健将ERASE管脚拉低,这时具体的擦除情况要看播放指针的状态:
·如果芯片空闲并且播放指针指向第一段语音,则会删除第一段语音,播放指针指向新的第一段语音(执行擦除操作前的第二段)
·如果芯片空闲并且播放指针指向最后一段语音,则会删除最后一段语音,播放指针指向新的最后一段语音(执行擦除操作前的倒数第二段)
·如果芯片空闲并且播放指针指向没有指向第一或最后一段语音,则不会删除任何语音,播放指针也不会被改变
·如果芯片当前正在播放第一段或最后一段语音,点按下ERASE键会删除当前语音。
全体擦除:
当按下ERASE键将ERASE管脚电平拉低超过秒钟,会触发全体擦除操作,删除全部语音信息。
(5)复位操作:
如果用RESET控制此管脚,建议RESET管脚与地之间连接一个μF电容。
当RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。
(6)音量操作:
点按一下VOL键将VOL管脚拉低会改变音量大小。
每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。
总共有8个音量档供用户选择,每一档会改变4dB。
复位操作会将音量档放在默认位置,即最大音量。
(7)FT直通操作:
按住FT键将FT管脚持续保持在低电平会启动直通模式。
出厂设定的是在芯片空闲状态,直通操作会将语音从Analn端直接通往喇叭端或AUD输出口。
在录音期间按下FT键,会同时录下Analn进入的语音信号。
4.ISD1730引脚介绍
MIC+麦克风输入+
MIC-麦克风输入-
VSSP2负极PWM喇叭驱动器地
SP-喇叭输出-
VCCPPWM喇叭驱动器电源
SP+喇叭输出+
VSSP1正极PWM喇叭驱动器地
AUD/AUX辅助输出,决定于APC寄存器的D7,用来输出一个AUD或AUX输出。
AUD是一个单端电流输出,而AuxOut是一个单端电压输出。
他们能够被用来驱动一个外部扬声器。
出厂默认设置为AUD。
APC寄存器的D9可以使其掉电。
AGC自动增益控制
/VOL音量控制
ROSC振荡