公交车语音报站系统的设计.docx
- 文档编号:12272573
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:46
- 大小:518.33KB
公交车语音报站系统的设计.docx
《公交车语音报站系统的设计.docx》由会员分享,可在线阅读,更多相关《公交车语音报站系统的设计.docx(46页珍藏版)》请在冰豆网上搜索。
公交车语音报站系统的设计
山东大学
毕业设计(论文)
题目公交车语音报站系统的设计
学生姓名:
指导教师:
自动化工程学院电气工程及其自动化专业六班
2012年5月17日
摘要
本设计主要解决如何方便、准确地指示乘客到站的问题,具有模拟人声进行报站和预报站,对所报站数和站名进行文字显示和站名语音信息录放及站名选择控制等功能。
系统包括微控制器模块,语音录放电路,站数、站名显示模组,键盘接口电路,复位电路及电源等。
系统使用51单片机来控制语音合成芯片和液晶显示模组。
语音合成芯片ISD4004,采用模拟数据半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩造成的量化噪声和失真现象。
配合液晶屏显示,就使得该报站系统更加实用。
关键字:
单片机,语音提示,文字显示,公交报站
ABSTRACT
Thedesignmainlysolvetheproblemofhowtoeasilyandaccuratelyindicatethatpassengersarriving.Ithasthefunctionofanalogvoicereportingandforecastingstationonthetextdisplay,reportingnumberandstationname,andvoiceinformationrecordingandstationnameselectioncontrol.Thesystemincludesmicro-controllermodule,voicerecordingandplaybackcircuitry,stationnumber,stationnamedisplaymodules,interfacecircuitofthekeyboard,resetcircuitandpowersupply.Thesystemuses51Single-chipMicrocomputertocontrolspeechsynthesischipandliquidcrystaldisplaymodule.SpeechsynthesischipISD4004adoptsthepatentedtechnologyforsemiconductormemorydirectlysimulateddatastorageofanalogvoice,thatanalogvoicedataiswrittendirectlytotheindividualstorageunits,notthroughA/DandD/Aconversion,sowecanreceivethenaturalemergenceofbettervoiceeffectsandavoidthequantizationofnoiseanddistortioncausedbythequantizationandcompressioninthegenerallysolidvoicecircuit.Besides,LCDmakesthereportingsystemmorepractical.
KEYWORDS:
Single-chipMicrocomputer,AudioPrompt,CharacterDisplay,Bus-StopAuto-Announce
第一章绪论
随着国民经济的持续发展和各级政府对县域经济的高度关注,乡镇的城市化正在全国如火如荼地展开,基础设施得到了突飞猛进的发展。
在这个过程中,乘坐公交车逐步取代了以前落后的出行方式,成为广大城乡人民短途出行的首选。
近年来城市公交事业迅速发展,以前靠售票员报站的方式已经不能满足实际需要,很多大中城市都在推广实行无人售票。
在广大乡镇,公交车如何实现自动报站还缺乏人们的重视。
目前,公交车自动报站主要有以下几种方式:
一种是通过全球定位系统(GPS)的用户终端接收工作卫星的导航信息,从而解算出车辆的经纬度信息,进而计算出实时坐标,将其与站点坐标相比较,当车辆驶入站点一定距离范围内时,不用人工干预,系统自动报站;另一种是利用无线射频识别(RadioFrequencyIdentification)技术,在每一个公交站台设置一个具有唯一ID的射频发射器,采用间歇工作方式发射信号,当公交车即将到达车站时,车载系统接收到站信号并解码出站台的ID号,由单片机控制自动播放对应站台编号的报站语音;还有一种是对车轮轴的转角脉冲进行计数,将计数值和预置值对比,即可确定报站时刻,达到准确报站的目的。
然而,这三种方式都不太适合乡镇的发展现状。
第一种设备造价过高,定位精度也难以达到要求;第二种站台建设投入较大,站点一旦变更,射频发射装置即须移动,较为麻烦;第三种需要公交线路严格固定,稍有改变,报站就难以准确。
为此,本文试图设计一种既方便易行又经济实惠的公交车自动报站系统。
本设计采用人工按键的操作方式,实现公交车对站名的语音提示和文字显示功能。
当公交车到达某一站时,司机或乘务人员只需按动按键,就可以使单片机控制语音模块对站名进行语音提示,并控制显示模组在液晶屏上显示站数和站名。
系统由一片八位单片机,一个语音模块,一个液晶模组,一块稳压芯片,若干电阻电容和与非门等组成。
经过本课题的研究,我们得到了一种公交车自动报站的低成本解决方案。
第二章方案设计
2.1原理
本系统使用八位单片机作为控制器件。
当系统进行语音再生时,单片机控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。
同时,单片机通过程序读取文字信息,送入液晶显示模组来进行站数和站名的显示。
当汽车到达某站时,司机或乘务人员通过键盘来控制系统进行工作。
而且,系统具有根据公交车的行驶方向确定报站顺序的功能(司机或乘务人员可以通过按键来控制)。
当系统进行语音录制时,语音信号通过语音录入电路送给语音合成电路中的语音芯片,由语音芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。
2.2框图
图2.1系统组成结构
2.3简介
为了降低控制仪器成本并减小体积,系统采用了Intel生产的8031单片机作为主控芯片。
8031内部没有程序存储器,需要外部扩展存储器,选用一片8KBUVEPROM存储器芯片2764就可以满足应用要求。
同时,8031还需要外接晶振和复位电路。
语音提示模块选用ISD4004系列语音芯片,外接话筒和音箱组成语音录制和播放电路。
其中,音箱由音频功率放大器LM386驱动。
图2.2语音提示模块组成结构
文字显示模组采用12864液晶屏作为显示单元,其驱动芯片为带有中文字库的ST7920控制器系列。
模组使用ST7920作为控制器和行驱动器,同时使用ST7921作为列驱动器。
与单片机的连接,我们采用并行间接访问方式。
键盘接口电路采用独立按键设计,通过触发器来消除按键抖动。
电源采用LM2576作为稳压器件,将公交车上的+24V直流电压转变为+5V直流电压。
LM2576是NS生产的3A电流输出降压开关型稳压集成芯片,能够较好地解决LM7805因输入电压过高而发热量较大的问题。
第三章硬件设计
3.1微控制器
1980年,Intel推出了MCS-51系列高性能八位单片机。
与MCS-48系列相比,51单片机无论在CPU功能还是存储容量以及特殊功能部件性能上都要高出一筹。
典型产品为8031,其内部资源分配和性能如下:
八位CPU、寻址能力为64K,128字节RAM、无ROM,四个八位I/O接口电路,一个串行全双工异步接口,五个中断源和两个中断优先级。
3.1.1复位
复位电源线(RST)可以使8031处于复位(即初始化)工作状态。
通常,8031的复位有自动上电复位和人工按钮复位两种。
在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路等也需要复位。
因此,我们需要一个包括上电和按钮复位在内的系统同步复位电路。
3.1.2晶振
片内晶振电路输入线(XTAL1和XTAL2)用来外接石英晶振和微调电容,即用来连接8031片内OSC的定时反馈回路。
石英晶振起振后,能在XYAL2线上输入一个3V左右的正弦波,使得8031片内的OSC电路按与石英晶振相同的频率自激振荡。
为了使8031和外部存储器同步从而可靠工作,8031的访存时间必须大于所用外部存储器的最大存取时间。
Intel2764的读出时间为200~450ns,然而,从8031向外部存储器发出地址码和读写信号到从P0口选通读出数据或保存写入数据所需要的时间,至少需要两个时钟周期以上。
所以,我们选取振荡器频率为4MHz。
图3.1单片机晶振和复位电路
3.1.3存储器
8031片内无程序存储器,需要外接片外存储器。
Intel2764是一种+5V的8KB紫外线可擦除只读存储器,采用HMOS工艺制成,标准存取时间为250ns。
现分四个方面介绍如下:
(1)内部结构2764采用双译码编程方式,A12~A0上的地址信号经X和Y译码后,在X选择线和Y选择线上产生选择信号,选中存储阵列中相应地址的存储单元工作,并在控制电路的控制下对所选中的存储单元进行读操作(或编程写操作),从存储单元读出的八位二进制信息经输出缓冲器输出到数据线O7~O0上。
在编程方式下,O7~O0上的编程信息在控制电路的控制下写入存储阵列的相应存储单元。
(2)引脚功能2764是28引脚的UVEPROM,其引脚功能分述如下:
①地址输入线A12~A02764的存储容量为8KB,故按照地址线条数和存储容量的关系,共13条地址线,编号为A12~A0。
2764的地址线应和8031的P2和P0口相接,用于传送单片机送来的地址编码信号,其中A12为最高位。
②数据线O7~O0双向数据总线,O7为最高位。
在正常工作时,O7~O0用于传送从2764中读出的数据或程序代码;在编程方式时用于传送需要写入的编程代码(即程序的机器码)。
③控制线片选输入线
用于控制本芯片是否工作,若给
上加一个高电平,则本片不工作;若给
上加一个低电平,则选中本片工作。
编程输入线
用于控制2764处于正常工作状态还是编程/校验状态,若给
输入一个TTL高电平,则2764处于正常工作状态;若给
输入一个50ms宽的负脉冲,则2764配合VPP引脚上的21V高电压可以处于编程状态。
允许输入线
也是一条由用户控制的输入线,若给
线上输入一个TTL高电平,则数据线O7~O0处于高祖状态;若给
线上输入一个TTL低电平,则O7~O0处于读出状态。
④其他引脚线VCC为+5V电源输入线;GND为直流地线;VPP为编程电源输入线,当他接+5V时,2764处于正常工作状态,当VPP接21V电压是,2764处于编程/校验状态。
(3)擦除特性2764存储阵列中的信息可以采用紫外光擦除,擦除后存储的代码为全“1”。
(4)工作方式和编程正常工作方式是指2764在应用系统中的工作方式,常分为读出和维持两种工作状态;编程方式是指给2764写入程序时的工作方式,又可分为编程、禁止编程和校验三种工作状态。
图3.2程序存储器的扩展
3.2语音提示
ISD4004系列语音芯片工作电压为+3V,单片录放时间8到16分钟,音质好,适用于移动电话及其他便携式电子产品中。
芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。
芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。
芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。
采样频率可以是4.0,5.3,6.4或8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存储器中,可在断电情况下保存一百年(典型值),可反复录音十万次。
3.2.1内部结构
图3.3ISD4004的内部结构
3.2.2引脚描述
(1)电源(VCCD,VCCA)芯片内部数字电路电源正极引脚和模拟电路电源正极引脚。
为使噪声最小,芯片的数字电路和模拟电路使用不同的电源供电,并且分别引到外封装的不同管脚上,数字和模拟电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
(2)地线(VSSD,VSSA)芯片内部数字电路电源地线和模拟电路电源地线引脚。
芯片的数字电路和模拟电路也要使用不同的地线。
图3.4ISD4004芯片引脚
(3)同相模拟输入(ANAIN+)录音信号的同相输入端。
输入放大器可用单端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰-峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。
差分驱动时,信号最大幅度为峰-峰值16mV。
(4)反相模拟输入(ANAIN-)差分驱动时,这是录音信号的反相输入端。
信号通过耦合电容输入,最大幅度为峰-峰值16mV。
(5)音频输出(AUDOUT)提供音频输出,可驱动5KΩ的负载。
(6)片选(
)此端为低,即向ISD4004芯片发送指令,两条指令之间为高电平。
(7)串行输入(MOSI)此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,以供输入。
(8)串行输出(MISO)此端为串行输出端,芯片未被选中时,本端呈高阻态。
(9)串行时钟(SCLK)时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。
数据在SCLK上升沿锁存到芯片,在下降沿移出芯片。
(10)中断(
)本端为漏极开路输出。
芯片在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。
中断状态在下一个SPI周期开始时清除。
中断状态也可用RINT指令读取(OVF标志指示芯片的录/放操作已到达存储器的末尾;EOM标志只在放音中检测到内部的EOM标志时,此状态位才置1)。
(11)行地址时钟(RAC)漏极开路输出。
每个RAC周期表示芯片存储器的操作进行了一行(ISD4004系列中的存储器共2400行)。
该信号保持高电平175ms,低电平25ms。
快进模式下,RAC218.75μs是高电平,31.25μs为低电平。
该端可用于存储管理技术。
(12)外部时钟(XCLK)本端内部有下拉元件。
芯片内部的采样时钟在出厂前已调校,误差在1%以内。
商业级芯片在整个温度和电压范围内,频率变化在2.25%以内。
工业级芯片在整个温度和电压范围内,频率变化在4%以内,此时建议使用稳压电源。
若要求更高精度,可从本端输入外部时钟。
由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。
输入时钟的占空比无关紧要,因内部首先进行了分频。
在不外接时钟时,此端必须接地。
(13)自动静噪(AMCAP)当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于滤除无信号(静音)时的噪声。
通常本端对地接1µF的电容,构成内部信号电平峰值检测电路的一部分。
检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。
大信号时,自动静噪电路不衰减,静音时衰减6dB。
1µF的电容也影响自动静噪电路对信号幅度的响应速度。
本端接VCCA则禁止自动静噪。
3.2.3操作规则
(1)串行外设接口ISD4000系列语音芯片工作于SPI串行接口。
SPI协议是一个同步串行数据传输协议,设定微控制器的SPI移位寄存器在SCLK的下降沿将数据送至MISO引脚。
以ISD4004为例,协议的具体内容如下:
①所有串行数据传输开始于
下降沿。
②
在传输期间必须保持低电平,在两条指令之间则保持高电平。
③数据在时钟上升沿移入,在下降沿移出。
④
变低,输入指令和地址后,ISD4004才能开始录/放操作。
⑤指令格式是(八位控制码)加(十六位地址码)。
⑥ISD4004的任何操作如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。
⑦使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据也应同步从MOSI端移入。
因此,要注意移入的数据是否与器件当前进行的操作兼容。
当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。
⑧所有操作在运行位(RUN)置1时开始,置0时结束。
⑨所有指令都在
端上升沿开始执行。
(2)信息快进用户不必知道信息的确切地址就能快进跳过一条信息。
信息快进只用于放音模式,放音速度是正常的1600倍,遇到EOM后停止,然后内部地址计数器1,指向下一条信息的开始处。
(3)上电顺序器件延时TPUD(8KHz采样时,约为25ms)后才能开始操作。
因此,用户发完上电指令后,必须等待TPUD,才能发出下一条操作指令。
例如,从00处放音,应遵循如下时序:
①发POWERUP命令;
②等待TPUD(上电延时);
③发地址值为00的SETPLAY命令;
④发PLAY命令。
器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。
如果从00处录音,则按以下时序:
①发POWERUP指令;
②等待TPUD(上电延时);
③发POWERUP命令;
④等待2倍TPUD;
⑤发地址值为00的SETREC命令;
⑥发REC命令。
器件便从00地址开始录音,一直到出现OVF(存储器末尾)时,录音停止。
(4)指令码
表3.1ISD4004的指令码
指令
控制码
操作
POWERUP
00100xxx
上电:
等待TPUD后可以工作
SETPLAY
11100xxx
从指定地址开始放音
PLAY
11110xxx
从当前地址开始放音
SETREC
10100xxx
从指定地址开始录音
REC
10110xxx
从当前地址开始录音
SETMC
11101xxx
从当前地址开始快进
MC
11111xxx
执行快进,直到EOM
STOP
0x110xxx
停止当前操作
STOPWRDN
0x01xxxx
停止当前操作并掉电
RINT
0x110xxx
读状态OVF和EOM
注:
快进只能在放音操作开始时选择。
(5)SPI端口的控制位
图3.5ISD4004的SPI控制位
(6)SPI控制寄存器SPI控制寄存器控制器件的每个功能,如录音、放音、信息检索(快进)、上电/掉电、开始/停止操作、忽略地址指针等。
表3.2ISD4004的SPI控制寄存器
控制位
值
功能
控制位
值
功能
RUN
1
0
允许/禁止操作
开始
停止
PU
1
0
电源控制
上电
掉电
P/
1
0
录/放模式
放音
录音
IAB
1
0
是否使用指令地址
忽略输入地址寄存器内容
使用输入地址寄存器内容
MC
1
0
快进模式
允许
禁止
P15-P0
行指针寄存器输出
A15-A0
输入地址寄存器
注:
IAB置0时,录/放操作从A9~A0地址开始。
为了能连贯地录/放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件会在同一地址上反复循环。
这个特点对语音提示功能很有用。
RAC引脚和IAB位可用于信息管理。
SPI端口简单框图如下:
图3.6ISD4004的SPI端口
3.2.4ISD4004与外围设备的连接
语音芯片ISD4004主要与三部分外围设备连接,即单片机控制电路、语音录入电路和语音播放电路。
单片机的P1.0、P1.1和P1.2引脚接独立按键,控制语音芯片的放音过程;P1.3引脚经电阻与控制外部语音录入和语音播放电路接通与否的三极管的基极相连;P1.4引脚接片选端
,控制ISD4004选通与否;P1.5引脚接串行输入MOSI,经此读入放音地址;P1.7引脚接串行时钟SCLK;两芯片中断口相连,以收发中断信号。
同相模拟输入(ANAIN+)和反相模拟输入(ANAIN-)与录音电路相连,通过话筒录制各站信息存储于芯片内部以供播放时应用。
音频功率放大器LM386驱动音箱组成放音电路,与音频输出端(AUDOUT)相连。
另外,发光二极管接于电源通路,可以显示语音芯片工作情况。
图3.7ISD4004与外围设备的连接
3.3文字显示
液晶显示器LCD(LiquidCrystalDisplay)广泛应用于微型计算机系统中,与LED相比,具有功率低,抗干扰能力强,体积小,价格低廉等优点。
另外,LCD在大小和形状上更加灵活,接口简单,不但可以显示数字、字符,而且可以显示文字和图形。
字符和数字的简单显示,不能满足图形曲线和文字显示的要求。
点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及文字,并且可以实现屏幕上下左右滚动、动画、分区开窗口、反转、闪烁等功能,用途十分广泛。
现在,随着液晶技术的突破,液晶显示器的质量有了很大的提高,品种也在不断推陈出新,不但有各种规模的黑白液晶显示器,还有绚丽多彩的彩色液晶显示器。
在点阵式液晶显示器中,把控制驱动电路与液晶点阵集成在一起,组成一个显示模组,可与八位微处理器接口直接连接,不但使用方便,而且价格也比较便宜。
TH12864液晶显示模组是128×64点阵的文字图形型液晶显示模组,内置国标GB2312码简体中文字库(16×16点阵)、ASCII码字符集(8×16点阵)和64×256点阵显示RAM(GDRAM绘图区域);可与CPU直接接口,提供两种界面来连接微处理机(八位并行及串行连接方式);具有光标显示、画面移位和睡眠模式等多种功能。
3.3.1组成结构
图3.8液晶模组的组成结构
TH12864使用ST7920作为行驱动器,同时使用ST7921作为列驱动器。
液晶显示中应尽量避免一个字符一半在左半屏显示,另一半在右半屏显示的情况。
由于TH12864液晶显示器是一种带有输出驱动的完整的液晶显示器,八位微处理器可直接与其相连,对液晶屏进行行、列驱动。
3.3.2引脚功能
TH12864液晶显示器有20个管脚,分电源线、数据线和控制线。
其详细功能如下:
(1)电源部分
VDD电源正极,通常接+5V。
VSS电源负极,接-5V。
为了简化电路,可直接接地。
V0电源控制端,用来调节显示屏灰度。
调节该端的电压,可以改变显示屏字符、图形的颜色深浅。
(2)数据线
DB0~DB7数据总线,双向。
(3)控制信号
PSB并口/串口选择信号,接高电平时选择并口,接低电平时选择串口。
模块上一般都有跳线方式将其接高或接低,用户可以不处理(事先须声明是用并口还是串口);也可以选择不在模块上处理,而由用户自己选择并口还是串口。
RS(CS)寄存器选择信号,高电平时为数据操作,低电平时为写指令或读状态(串行方式下为片选信号,低电平有效)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交车 语音 报站 系统 设计