参考.docx
《参考.docx》由会员分享,可在线阅读,更多相关《参考.docx(36页珍藏版)》请在冰豆网上搜索。
参考
毕业论文
题目:
基于GPS技术的公交报站系统
学院:
电子与信息工程学院
专业:
电子信息科学与技术
班级:
08电信本一班
学号:
80513006
姓名:
郑华敏
指导教师:
黄安明
日期:
2012年5月4日
基于GPS技术的公交报站系统设计
TheDesignOfTheBusStopsBasedOnGPSPositioningSyste
摘要
本系统设计的是基于GPS定位系统的公交车自动报站系统。
硬件上是由STC89C52RC单片机、液晶显示模块、GPS接受器、ISD4004模组等组成。
能够实现卫星定位,公交车语音报站等功能。
该系统通过实时对GPS模块输出数据采集,并根据得到的经纬度信息判断公交车当前是否到达预设的各个站点。
本系统的优越性主要体现在通过GPS对公交车进行实时定位,无需人工干预,便可准确无误的进行自动报站,以实现朽能化和高可靠性。
关键词STC89C52单片机GARMINGPS25LPISD4004LCD12864
Abstract
ThissystemprovidesthefunctionoftheGPSbuslocationandstopreporting.It’sbasedontheSTC89C52RCMCU,GPSreceiver,ISD4004,LCD12864moduleandothercomponents.Itcanachievesatellitepositioning,givebusstopsreportingandotherfunctions.
Thesystemisbasedonreal-timeGPSdataacquisitionmodulegettingtheinformationoflatitudeandlongitudeanddeterminethecurrentbusstop.Advantagesofthissystemismainlythatthroughreal-timeGPSpositioningonthebus,withouthumanintervention,itcanbeaccurateforautomaticstationinordertoachieveenergyandhighreliabilityofthedecadent.
KeywordsSTC89C52RCMCUGARMINGPS25LPISD4004LCD12864
目录
前言1
第1章总体方案2
1.1系统供电电源选择2
1.2控制器选择2
1.3定位装置GPS的选择3
1.4显示器件选择4
第2章硬件设计5
2.1总体设计5
2.2各模块设计6
2.2.1电源设计6
2.2.2STC89C52微控制器7
2.2.3GARMINGPS25LP接收器12
2.2.4ISD4004模组14
2.2.5HS12864-15系列中文液晶模块15
第3章软件设计16
3.1GPS定位的实现16
3.1.1GPS绝对定位16
3.1.2GPS定位相关概念16
3.1.3GPS接收器17
3.212864液晶显示部分设计23
3.2.1HS12864-15系列中文模块显示资料RAM23
3.2.2显示程序实现24
3.3ISD4004的软件设计25
3.4语音报站设计27
第4章系统特色28
4.2系统特色28
结束语29
谢辞30
参考文献31
前言
从1831英国人沃尔特·汉考克为他的国家制造出了世界上第一辆装有发动机的公共汽车起,到今天,公交车已经历经了将近200年的发展过程。
从最初的“闷罐头”到如今配套的空调系统;从专人售票到无人售票;从人工报站到半自动语音报站,公交车向着越来越人性化的方向发展。
本文利用的是AT89C51单片机,它本身具有体积小,重量轻,具有很强的灵活性而且价格便宜等优点,得到越来越广泛的运用,例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途。
正因为51单片的运用是如此广泛,因此学习单片机的运用是非常重要的。
学好单片机也是学习其他嵌入式控制器如ARM、DSP的基础,任何嵌入式控制器都离不开单片机所涵盖的如中央处理器,定时器、中断控制器,IO口控制器,串行通讯控制器,I2C总线控制器,片内外存储控制器,汇编语言,C语言,操作系统的概念。
可以说学好单片机是其它进阶微处理器的一个台阶。
本次设计的课题是“基于GPS(GPS是英文GlobalPositioningSystem-全球定位系统-的简称)定位的公交车自动报站系统的设计”,设计本课题的目的就是要解决公交车由于手动报站而存在的安全性问题。
半自动语音报站系统需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患,要想杜绝此类事故的发生,就必须导入全新的自动语音报站系统,论文研究的目标就是彻底抛弃人工操作,实现公交进出站的全自动语音报站。
利用STC89C52RC单片机、ISD4004系列语音芯片、LCD液晶模块来实现所需要的功能。
本设计中利用GPS信号收发模块及编解码芯片实现站台的自动识别,通过单片机对液晶模块及语音模块的综合控制实现全自动语音报站的功能。
目前国际上对GPS自动定位系统的研究程度和发展水平也各不相同。
据相关统计,欧美国家导航设备普及率达到90%,日本更是超过95%。
在3G时代来临之际,人们对GPS/电子地图的关注,足以显现它对日常生活中的重要性。
此外,消费及市场需求也促使导航产业发展和走向成熟。
2005年,我国民用汽车保有量就达到了3160万辆,但是装载导航设备的车辆,还不足2%。
尽管不少汽车厂家对其高端车型在出厂前就安装了导航系统,对其他低端车型也会有选装导航产品的服务,但价格不菲的车载导航仪,让不少买车的人放弃了实用性很强的导航配置。
按照私人汽车拥有量年均增速10%测算,对导航产品的需求也是一个很大的增量。
在日本,车载导航市场渗透率由1992年的0.4%,到2000年渗透率提高到33%,目前达到50%。
欧盟车载导航市场晚于日本启动,到2004年,车载导航仪的市场渗透率也达到了12%。
如果中国车载导航仪市场的发展节奏与日本和欧盟市场相似,车载导航仪的市场渗透率到2012年将达到10%,而手持导航设备市场的发展速度大大快于车载导航仪市场。
因此有分析师认为,手持导航仪会像MP3、数码相机等日常消费者电器一样,市场的发展速度将大大快于车载导航仪市场,中国将最终成为世界上最大的手持导航产品消费国。
由此可以转向国内的公交车GPS自动定位系统上来,可见发展的前景还是十分乐观的。
第1章总体方案
此系统硬件主要由单片机、电源、GPS接收器、液晶模块等构成,主要是解决各模块间的通信问题,实现单片机、GPS接收器、液晶之间的互相通讯,从而完成GPS定位及自动语音报站。
简要过程为:
车载GPS接收机接收定位卫星发来的定位数据,并根据从三颗以上不同卫星发来的数据计算出自身所处地理位置的经纬度,之后将数据通过串口传递给MCU。
然后MCU将经纬度数据与存储的公交站点经纬度数据进行比较。
系统方案选择主要涉及以下几个方面的内容:
(1)系统供电电源选择
(2)控制器的选择
(3)定位装置GPS选择
(4)显示部分即液晶屏选择
1.1系统供电电源选择
电源选择固定式三端稳压器LM780,输出电压+5V、输出电流1.5A的稳压电源。
它由电源变压器B,桥式整流电路D1~D4,滤波电容C1、C3,防止自激电容C2、C3和一只固定式三端稳压器(7805)极为简捷方便地搭成的。
采用开关稳压电源芯片LM780符合系统的要求,因此选择此芯片为电压转换芯片。
1.2控制器选择
使用8位单片机STC89C52RC:
STC89C52RC是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
1.3定位装置GPS的选择
采用导航型接收机:
此类型接收机主要运用于运动载体的导航,它可以实时的给出载体的位置和速度。
这类接收机一般采用C/A码伪距测量,单点实时定位精度较低一般为±25m,有SA影响时为±100m。
这类接收机应用广泛,价格便宜,适合系统设计,由于是对车辆定位,故选用车载型GPS接收器。
在本项目中使用基于型GPS模块,采用+5V供电,TTL电平自动输出NMEA01833.0格式(ASCII字符型)语句。
1.4显示器件选择
本项目采用HS12864-15系列液晶,HS12864-15系列中文模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,因此只要一个最小的微处理系统,就可以方便操作模块。
显示数据RAM可以提供64x2个字节的空间,最多能控制4行16字(64个字)的中文字型显示。
总共能够提供8192个中文字型(16x16点阵),另外绘图显示画面还提供了一个64x256点的绘图区域(GDRAM),可以实现和文字画面混和显示。
第2章硬件设计
2.1总体设计
此系统主要由STC89C52单片机、GPS接收器、HS12864系列中文显示液晶、ISD4004模组等构成。
主要实现卫星定位导航,即在彩屏上显示导航路径及当前位置,系统的总体框图如图2.1所示。
GPS接收模块
(GARMINGPS25LP)
液晶显示LCD12864
ISD4004模组
微控制器(STC89C52RC)
图2.1系统总体框图
(1)GPS接收模块:
接收卫星发来的定位数据,并根据从三颗以上不同卫星发来的数据计算出自身所处地理位置的经纬度。
并将经纬度信息通过串口传送给单片机。
(2)主控制模块:
将从GPS接收器传来的数据进行运算,将经纬度数据与存储的公交站点经纬度数据进行比较得出当前的位置。
读取ISD4004模组存储的语音资源并实现语音报站,将位置信息通过液晶显示出来。
整个系统的设计思想是将显示和计算分开,不仅在硬件上是这样,在软件上也把显示函数和计算函数分开,每块程序可以调用显示函数,显示函数根据当前状态的不同显示不同的内容,并且这样做会给将来做下一个项目时带来很大方便(可以直接将源文件包含进去,需要时直接调用源文件中的函数)。
(3)液晶显示模块:
液晶显示模块要求带有中文显示功能,显示当前的位置信息。
站点名称及经纬度坐标。
(4)ISD4004模组:
存贮音频文件供单片机读取。
考虑到语音文件的存储,ISD4004模组可用来存储体积较大语音文件。
2.2各模块设计
2.2.1电源设计
电源选择固定式三端稳压器LM780,如图所示电路为输出电压+5V、输出电流1.5A的稳压电源。
它由电源变压器B,桥式整流电路D1~D4,滤波电容C1、C3,防止自激电容C2、C3和一只固定式三端稳压器(7805)极为简捷方便地搭成的。
220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路D1~D4和滤波电容C1的整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。
此直流电压经过LM7805的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。
本稳压电源可作为TTL电路或单片机电路的电源。
三端稳压器是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。
LM7805+5V稳压电源电路图
2.2.2微控制器
STC89C52RCRC是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
单片机总控制电路如下图2—1:
图2—1单片机总控制电路
1.时钟电路
STC89C52RCRC内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图4—2(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图2—2(b)所示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
(a)内部方式时钟电路(b)外部方式时钟电路
图2—2时钟电路
2.复位及复位电路
(1)复位操作
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。
表一一些寄存器的复位状态
寄存器
复位状态
寄存器
复位状态
PC
0000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
P0-P3
FFH
SCON
00H
IP
XX000000B
SBUF
不定
IE
0X000000B
PCON
0XXX0000B
TMOD
00H
(2)复位信号及其产生
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。
若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
产生复位信号的电路逻辑如图4—3所示:
图2—3复位信号的电路逻辑图
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图4—4(a)所示。
这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图2—4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,
其电路如图4—4(c)所示:
(a)上电复位(b)按键电平复位(c)按键脉冲复位
图4—4复位电路
上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。
本系统的复位电路采用图4—4(b)上电复位方式。
STC89C52RCRC具体介绍如下:
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C52RCRC单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
STC89C52RCRC主要功能如表二所示。
表二STC89C52RCRC主要功能
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
2.2.3GPS接收器
1.全球卫星定位系统GPS由3个基本部分组成:
太空部分、监控部分和用户部分。
太空部分包括24颗可操作的卫星,它们以一定倾角分布在地球上空20~200km的6个轨道面上,运行周期为12个恒星时,这个分布状态使得地球上任意位置任意时刻都可以同时接收至少6颗卫星定位信息,这些卫星不断给全球用户发送位置和时间等数据。
监控部分由若干个跟踪站组成的监控系统构成,这些跟踪站能观测GPS数据并计算改正参数注入到卫星中去,能对卫星进行控制等作用。
用户部分的GPS接受机接受卫星信号,通过数据处理软件及相应的显示设备即可进行定位显示。
2.GPS系统的基本定位原理
GPS系统的基本原理是先测量出已知位置的卫星与用户接收机之间的距离,然后综合4颗或4颗以上卫星的数据就可测出接收机的具体位置。
要完成这一工作,需要根据星载时钟所记录的时间查出卫星在卫星星历中的位置要。
而用户到卫星的距离则通过纪录卫星信号从发射到用户接受所经历的时间,再将其乘以光速得到,然而这一距离并不就是用户与卫星之间的真实距离,而是伪距(PR):
当GPS卫星正常工作时,会不停地用1和0二进制码元组成的伪随机码(简称伪码)发射导航电文。
GPS系统使用的伪码一共有两种,分别是军用的P(Y)码和民用的C/A码。
P码频率10.23MHz,重复周期266.4天,码间距0.1微秒,相当于30m;C/A码以1.023MHz,的频率重复周期一毫秒,码间距1微秒,相当于300m。
而Y码是在P码的基础上形成的,具有更加优秀的保密性。
导航电文包括卫星星历、时钟改正、大气折射修正、电离层时延修正、工作状况等信息。
它是从卫星信号中解调制出来,以50b/s调制在载频上发射的。
导航电文每个主帧中包含每帧长6s的5个子帧。
前三帧各包含10个字码;每三十秒重复一次,每小时更新一次。
后两帧共有15000b。
导航电文中的内容主要有遥测码、转换码、第1、2、3数据块,其中最重要的则为星历数据。
当用户接受到导航电文时,先会提取出卫星时间并将其与自己的时钟做对以此得知卫星与用户的距离,然后利用导航电文中的卫星星历数据来计算出卫星发射电文时所处位置,便可得知用户在WGS-84大地坐标系中的位置速度等信息。
每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度就可以计算出接收机到不同卫星的距离。
同时收集到至少4颗卫星的数据时,就可以算出三维坐标、速度和时间。
3.GPS接收设备分类
GPS接收机一般硬件和软件两大部分其中硬件又包括:
主机、电源和天线三个部分;
按照用途分有:
导航型、测地型和授时型
按照携带形式分有:
手持式、车载式等
按照载波频率分有:
单频接收机和双频接收机
按照工作原理分有:
码接收机和无码接收机
4.GPS结构图
GPS内部模块结构见图2.9
图2.9GPS结构图
天线前置放大器
信号处理器
电源
外部存储器
震荡器
用户信息传输
微处理器导航计算机
5.在本项目中使用基于GARMINGPS25LP型GPS模块,采用+5V供电,TTL电平自动输出NMEA01833.0格式(ASCII字符型)语句,其主要参数如下:
定位精度:
下于15米(正常行使状态下),速度:
0.1米/秒,高度±5米内
速度最高:
<=515米/秒
海拨高度最高:
<=18,000米
定位速度:
<2秒/重捕,15秒/热启动,45秒/冷启动。
通信波特率默认值为4800,通常使用NMEA-0183格式输出,数据代码为ASCII码字符。
由于该格式为ASCII码字符串,比较直观和易于处理,在许多高级语言中都可以直接进行判别、分离。
2.2.4ISD4004模块
ISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。
芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。
芯片设计所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。
芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。
采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
ISD4004电路图
其主要参数如下:
1单片8至16分钟语音录放
2内置微控制器串行通信接口
333V单电源工作
4 多段信息处理
5 工作电流25-30mA,维持电流1μA
6 不耗电信息保存100年(典型值)
7 高质量、自然的语音还原技术
8 10万次录音周期(典型值)
9 自动静噪功能
10片内免