基于单片机的GPS定位GSM无线通信搜索追踪器.docx
《基于单片机的GPS定位GSM无线通信搜索追踪器.docx》由会员分享,可在线阅读,更多相关《基于单片机的GPS定位GSM无线通信搜索追踪器.docx(23页珍藏版)》请在冰豆网上搜索。
基于单片机的GPS定位GSM无线通信搜索追踪器
天津职业技术师范大学
TianjinUniversityofTechnologyandEducation
毕业设计
专业:
电子科学与技术
班级学号:
0901-05
学生姓名:
冯斌
指导教师:
王利强副教授
二○一三年六月
天津职业技术师范大学本科生毕业设计
基于单片机的智能搜索器
IntelligentSearchingDeviceBasedonMicrocontroller
专业班级:
电科0901
学生姓名:
冯斌
指导教师:
王利强副教授
系别:
电子工程学院
2013年6月
摘要
自从进入新世纪以来,由于生活节拍的加速,工作压力变大,致使很多人常常忘记一些比较珍贵物品的寄存位置,从而阻碍了生活和工作效率。
本人通过调查发觉,若是能够设计出一款实时显示位置信息的搜索器,那么就能够从全然上解决这一问题。
GPS模块能够实现物体的定位,通过它能够明白物体的经纬度信息。
然后GPRS模块能够实现无线通信功能,因此本人决定将二者结合到一路,用GPRS模块将GPS模块所定位的经纬度信息通太短信息的形式发送到指定的电话号码上。
如此一来就能够够实现珍贵物品的实时定位,一旦忘记或丢失,都能够通过相应的手腕将其找回。
本搜索器的系统核心采纳STC12C5A60S2单片机,通过编辑好的程序驱动各个模块的正常工作,使整体紧密联系。
本搜索还能够用于企业对下属的治理,老人儿童的追踪,和牢狱对犯人的看管。
随着GPS定位技术的不断进展和测量需要,会被愈来愈多的领域所需要。
关键词:
单片机;GPS;GPRS;搜索器
ABSTRACT
Sinceenteringthenewcentury,duetotheacceleratingrhythmoflifeandworkingpressuregetsbigger,manypeopleoftenforgetsomevaluablesstoragelocation,whichaffectthelifeandworktheinvestigation,Ifoundifwecandesignareal-timedisplayoflocationinformationsearcher,thenwecanfundamentallysolvetheproblem.
GPSmodulecanrealizepositioningoftheobject,inordertoknowthelongitudeandlatitudeinformationaddition,GPRSmodulealsocanrealizethewirelesscommunicationfunction,soIdecidedtotakethecombinationtogether,positioningwithGPSmodule,GPRSmodulewillthroughtheshortmessageintheformoflatitudeandlongitudeinformationsenttothespecifiedphonethatwecanrealizereal-timepositioning,valuablesgoodsonceforgetorlost,canthroughsuchmeanstofindcoreofthesystemsearcheruseSTC12C5A60S2microcontroller,agoodprogramdrivenediteachmoduletoworkproperlyandclosely.
Thissearchcanalsobeusedforenterprisemanagementofthesubordinates,theelderlyandchildren’stracking.WiththecontinuousdevelopmentofGPSpositioningtechnologyandmeasurementneeds,willbemoreandmoreareasofneed.
KeyWords:
microcontroller;GPS;GPRS;searcher
1整体方案设计
硬件部份
该智能搜索器设备硬件要紧由GPS信号接收部份(u-blox公司的GPS芯片)、操纵芯片(STC12C5A60S2单片机[1])、显示部份(1602LCD液晶显示模块)、信息传输(华为GTM900-B型模块),如图1-1所示:
GPS接收模块将收到的GPS卫星导航电文调制解码,再送给单片机串口接收,当单片机收到GPS发送过来的导航电文后,通过片内程序的识别挑选,将挑选出来的定位电文送到显示模块及GSM模块,而且通过1602LCD显示器依照要求的编排格式所显示,将经纬度信息发送设定好的电话号码上。
图1-1系统工作逻辑框图
软件部份
在设计该软件时采纳了模块化的思想,之因此采纳的模块化的设计思想,主若是想到了软件模块化后方便软件的调试,同时也方便了该软件的移植,在不同的硬件平台上运行该软件只需要更改相应的软件模块就能够够实现。
该软件分为了串口初始化模块,液晶模块初始化模块,数据接收模块,数据格式调整送显模块这四个要紧模块[2]。
图1-2为软件程序流程图。
图1-2软件程序流程图
2GPS模块
GPS信号接收方案
每颗GPS卫星不时刻刻发布信号来显示它的位置和时刻,GPS接收性能够计算出信号到接收机的时刻延迟,依据信号的传输速度大小计算出接收机到相应卫星的距离。
在相同时刻搜集4颗及以上不同卫星的数据,通过转换频率、放大、滤波等处置进程,能够实现对GPS卫星信号的跟踪、锁定和测量工作,从而产生计算位置的数据信息(包括:
经度、纬度、速度、状况、时刻、高度、航向等),经由I/O口输出串行数据[3]。
要实此刻液晶显示器上显示出接收到的GPS地理信息,第一要实现GPS信号的接收和调制。
在接收GPS方案上咱们能够有两种选择,一种是选择成品的GPS接收模块,众所周知,现时期成品GPS接收模块的技术已经相当做熟,性能稳固而且利用起来超级方便,定位成功后能够直接通过模块的串口输出GPS定位信息。
由于GPS接收模块已经由厂家完成了设计与封装,而且在通过大规模的商业化生产后价钱已经很低,这些模块在市面上也能够超级容易的购买到。
可是若是选择这种方案的话,其核心技术咱们就不得而知。
尽管不阻碍其应用,可是如此就失去了毕业设计的意义啦。
因此我毅然决定选择另一种方案,购买GPS芯片,再依照标准设计外围电路和PCB原理图,送往工厂进行打样处置,安装天线等。
尽管单独购买芯片价钱昂贵,实现的难度较大,不易成功,可是在那个进程中能够学到很多GPS接收部份的电路设计技术[4]。
图2-1-1GPSPCB原理图
GPS确实是通过同意卫星信号,进行定位或导航的终端。
而同意信号就必需用到天线。
GPS卫星信号分为L1和L2,频率别离为和1228MHZ,其中L1为开放的民用信号,信号为圆形极化。
信号强度为-166DBM左右,属于比较弱的信号。
这些特点决定了要为GPS信号的同意预备专门的天线。
本系统应用u-blox公司的GPS芯片[18],外置GPS天线。
图2-1-1GPS模块和天线
GPS模块的内部结构
GPS接收模块是搜索器的关键部份,而且型号很多,功能各异,一样组成结构要紧由低噪声下变频器、并行信号通道、CPU[5]、贮存器等组成。
GPS接收模块通过它的接收天线获取卫星信号,通过变频、放大、滤波、相关、混频等一系列处置,能够实现对天线视界内卫星的跟踪、锁定和测量。
在获取了卫星的位置信息和测算出卫星信号传播时刻以后,即可计算出天线位置。
用户通过输入输出接口,与GPS接收模块进行信息互换,实现功能。
GPS接收模块内部结构如图2-3所示。
图2-2GPS模块的内部结构
GPS模块定位流程
GPS模块定位流程步骤:
1搜索可用卫星-接收卫星信号-与卫星信号同步-提取定位电文密码。
2从定位电文中取得计算位置所需的信息。
3准确计算卫星的位置,包括卫星高度和方位角的计算,校正必要对流层的误差。
4伪距的计算,校正电离层的误差。
5重复上述步骤,计算相应的所有可用卫星[17]。
6校正其他必要误差,比如依照卫星信号抵达的时刻,对地球旋转造成的卫星位置误差进行校正。
7依据定位原理,计算GPS接收机的最开始的位置,并将计算出的数据转换成坐标格式进行输出。
8分析可用卫星的信息,计算出最好的DilutionofPrecision(DPO),进行选星,计算和修正GPS接收机的相应位置,给出GPS接收机的经纬度坐标和准确的时刻信息[6]。
GPS的性能指标
GPS具有12个数据并行接收通道,包括8位数据位,1位起始位,1位停止位,无校正位CMOS电平输出电平,电流为1mA。
的通信手腕是异步串行通信,默许的通信速度是4800baud接收频段±的L1C/A码的[8]。
GSU-38A0GPS接收模块,能够提供经度,纬度,速度,高度和世界和谐时刻,频率和GPS卫星轨道信息等。
其最大的特点是:
低电压电源供电,工作电流不大于50mA(不包括天线消费),高灵敏度-145dBm;能够输出时刻的最小单位是秒[8]。
GPS定位精度的问题,主若是由于美军的军事战略(SA)。
在SA阻碍的情形下,当PDOP值小于或等于3的相对测量点的GPS卫星在其轨道上的位置,与95%的准确度在10米范围内的位置数据;另一种利用差分定位技术,在约2至3米的范围内。
若是天线被阻塞或GPS卫星的位置时,不是很理想,PDOP值将减少,而且还超过10米范围内的一部份的数据的定位精度可能只有。
第一次运行时,GPS模块需要50秒左右,卫星接收到的数据积存操作后,才完成了第一的位置(即“冷启动”)[16]。
定位所需的时刻小于12秒,冷启动后,每一个。
在操作进程中,以约每秒更新一次定位信息。
若是收到三个以上的卫星PDOP和HDOP阈值信号,能够实现二维定位的卫星信号接收的4PDOP和HDOP的阈值,以实现三维定位。
无初始状态的输入和初始时刻输入[7]。
8M闪存,消息格式与GPS模块能够NMEA-0183或二进制,ASCII码。
与该天线的中心频率的右螺旋偏振5分贝的增益大于或等于3dB以下的轴线。
3GSM模块
成品GSM模块[8],是将基带处置芯片、功放器件、存储器、GSM射频芯片等集成在一块封装好的线路板上,具有GSM射频处置、基带处置、独立的操作系统并提供标准接口的功能模块。
因此,它具有发送语音通话,SMS短信,GPRS数据传输等大体的GSM网络通信的功能。
若是给GSM模块加上键盘、显示屏和电池,确实是一部简易的电话。
利用单片机或ARM通过RS232串口与GSM模块实现通信,利用标准的AT命令来操纵GSM模块实现无线通信功能,例如打电话,发短信,上网等。
由于能够节省掉很多开发的步骤,不用从最底层的芯片级开始着手设计,缩短了设计的周期,最先时候的电话厂都会直接购买GSM模块,然后配上外围器件来生产电话。
在几年之前,国内的电话厂商几乎都是购买国外的成品GSM模块进行二次开发生产电话的,近几年,随着国内电话设计公司的成熟,电话厂商才摆脱对GSM模块的依托,转为直接从芯片级入手生产电话。
目前,GSM模块仍然普遍应用于很多领域,例如,公交系统,利用GSM模块将车辆行驶的GPS数据传输回车辆治理中心,再由中心来调度车辆;在公共服务方面,通过GSM模块将用户的用电和用水量实现远程把握;在测绘行业,为很多比较危险的地址安装GSM模块实现了实时的监控,一面人工搜集数据发生危险;在家庭,一旦发生火情或盗窃行为,GSM模块能够当即通知户主和报警;在国外,为避免老人和小孩走失,会给其佩带追踪器,里面也是集成了GSM模块。
GSM模块的厂家最先要紧在国外,包括西门子、Wavcom、Sagem等;随着国内的技术进步,国内厂家如华为、移远通信(Quectel)、Simcom、BenQ等模块由于具有更高的性价比,已经慢慢替代了国外品牌在国内市场上占据了主流的地位。
在市场上比较流行的模块包括华为的GTM900-B、西门子的Mc39i,Wavecom的Q24等。
本系统中应用的为华为GTM900-B型模块。
图3-1华为GTM900-BGSM模块
41602LCD显示模块
1602液晶[9]是一种点阵型液晶模块,专门用来显示数字、字母、符号等,又被叫做1602字符型液晶。
它由若干个5X7或5X11等点阵字符位组成,每一个点阵字符位显示一个字符,每个点阵字符位之间有一个点距的距离,每行之间一样有距离,起到了字符间距和行间距的作用,也正因如此,它不能专门好地显示图形。
而我的设计显示部份没有涉及到图形,因此1602液晶能够符合设计要求。
固选择它来作为搜索器的显示模块。
图4-11602LCD显示屏
1602LCD中的“1602”是指显示的内容为16X2,即屏幕能够显示两行,每行能够16个字符。
1602采纳标准的16脚接口,其中:
第1脚:
VSS为电源地。
第2脚:
VCC接5V电源正极。
第3脚:
V0为液晶显示器对照度调整端,接地电源时对照度最高,接正电源时对照度最弱。
(对照度太高时会产生屏幕不稳固,利历时能够通过一个10K的电位器进行调整)。
第4脚:
RS为寄放器选择,低电平0时选择指令寄放器,高电平1时选择数据寄放器。
第5脚:
RW为读写信号线,高电平1时进行读的操作,低电平0时进行写的操作。
第6脚:
E(或EN)端为使能(enable)端,高电平1时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
背灯电源或空脚。
16脚背光负极,15脚背光正极。
[19]
图4-2LCD1602引脚连接图
5硬件设计
硬件整体结构
课题要求研制毕业设计要具有接收、处置、发送信息的功能。
硬件上必需有相应的接收处置部份、输入部份和发送部份,同时需要系统处置器实现各部份功能的联合[10]。
由于单片机具有集成度高,系统结构简单,价钱廉价,技术成熟等特点,系统处置器部份利用单片机实现。
本系统包括GPS模块、GSM模块、LCD显示模块和单片机操纵电路。
图5-1硬件整体结构框图
操纵电路
单片机的要紧经用领域有:
智能化电器、办公设备、商业营销设备、工业自动化操纵、智能化仪表、智能化通信产品、汽车电子产品、航空航天系统和国防军事、尖端武器等领域。
单片机应用的意义不仅在于它的广漠范围及所带来的经济效益。
更重要的是,单片机的应用从全然上改变了操纵系统的设计思想和设计方式。
以前采纳硬件电路实现大部份操纵功能,此刻能够采纳单片机通过软件操纵的方式来实现。
这种以软件代替硬件并能提高系统性能的操纵技术称之为微控技术。
随着单片机应用的推行,微控技术将不断进展完善[11]。
依照系统要求和设计的需要,操纵核心单元MCU需要与GPS模块、GSM模块通过串口相连接,而且考虑到整个系统的中断比较多,因此选用中断级别较多的MCU。
依照以上缘故,本系统最终选择操纵核心单元是STC12C5A60S2,它是单时钟/机械周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机操纵,强干扰场合。
因此这是一款可知足复杂高性能仪表仪器要求的单片机。
STC12C5A60S2各引脚功能:
~:
P0:
P0口既能够作为输入/输出口,也能够作为地址/数据复用总线利用。
当P0口作为输入/输出口时,P0是一个8位准双向口,上电复位后处于开漏模式。
P0口内部无上拉电阻,因此作为I/O口必需外接的上拉电阻。
当P0作为地址/数据复用总线利历时,是低8位地址线[A0~A7],数据线[D0~D7],现在无需外接上拉电阻。
~:
标准I/O口。
~:
P2口内部有上拉电阻,既能够作为输入/输出口,也能够作为高8位地址总线利用(A8~A15)。
当P2口作为输入/输出口时,P2是一个8位准双向口。
~:
标准I/O口。
~:
标准I/O口。
RxD:
串口1数据接收端。
TxD:
串口1数据发送端。
————INT1:
外部中断1,下降沿中断或低电平中断。
————INT0:
外部中断0,下降沿中断或低电平中断。
T0:
按时器/计数器0的外部输入。
T1:
按时器/计数器1的外部输入。
———WR:
外部数据存储器写脉冲。
———RD:
外部数据存储器读脉冲。
RST:
复位脚。
XTAL1:
内部时钟电路反相放大器输入端,接外部晶振的一个引脚。
当直接利用外部时钟源时,此引脚是外部时钟源的输入端。
XTAL2:
内部时钟电路反相放大器的输出端,接外部晶振的另一端。
当直接利用外部时钟源时,此引脚可浮空,现在XTAL2实际将XTAL1输入的时钟进行输出。
VCC:
电源正极。
GnD:
电源负极,接地。
[20]
图5-2STC12C5A60S2引脚图
定位电路
24颗GPS卫星在离地面2万千米的高空上,以12小时的周期围绕地球运行,使得在任意时刻,在地面上的任意一点都能够同时接收到6颗以上GPS卫星的定位信息。
只要有4颗卫星的定位信息,GPS接收机就能够向用户提供三维坐标、时刻及移动速度等信息参数[12]。
由于卫星的位置精准可知,在GPS观测中,咱们可取得卫星到接收设备的距离,依照三维坐标中的距离公式,利用3颗卫星,就能够够组成3个方程式,解出观测点的位置(X,Y,Z)。
考虑到卫星的时钟与接收机时钟之间的误差,事实上有4个未知数,X、Y、Z和钟差,因此需要引入第4颗卫星,形成4个方程式进行求解,从而取得观测点的经纬度。
由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的阻碍,和人为的SA爱惜政策,使得民用GPS的定位精度只有100米。
美国政府宣布从2000年起,在保证美国国家安全不受要挟的前提下,取消SA政策,GPS民用信号精度在全世界范围内取得改善,利用C/A码进行单点定位的精度由100米提高到20米。
为了达到更高的定位精度,往往还采纳了差分GPS(DGPS)技术,成立基准站(差分台)进行GPS观测,利用已知的基准站精准坐标,与观测值进行比较,从而得出一修正数,并对外发布[13]。
接收机收到该修正数后,与自身的观测值进行比较,消去大部份误差,取得一个比较准确的位置。
实验表明,利用差分GPS,定位精度可提高到5米。
GPS定位的大体原理是依照高速运动的卫星刹时位置作为已知的起算数据,采纳空间距离后方交会的方式,确信待测点的位置。
如图所示,假设t时刻在地面待测点上安置GPS接收机,能够测定GPS信号抵达接收机的时刻△t,再加上接收机所接收到的卫星星历等其它数据能够确信以下四个方程式:
[(X1-X)2+(Y1-Y)2+(Z1-Z)2]1/2+C(Vt1-Vt0)=d1;
[(X2-X)2+(Y2-Y)2+(Z2-Z)2]1/2+C(Vt2-Vt0)=d2;
[(X3-X)2+(Y3-Y)2+(Z3-Z)2]1/2+C(Vt3-Vt0)=d3;
[(X4-X)2+(Y4-Y)2+(Z4-Z)2]1/2+C(Vt4-Vt0)=d4;
图5-3GPS定位原理
GPS模块系统采纳第三代高线式GPS模块同意SiRFStarⅢGPS模块SiRF灵活性。
该芯片是小于10米的定位精度,能够同时追踪20个卫星信道[14]。
其内部的可充电电池,能够维持星历数据,快速定位。
关于数据的输出电平的串行数据格式,通信速度。
波特率4800,每名GPS数据输出。
该模块采纳MMCXGPS天线接口,为6线连接器,数据线接口电缆输出,利用简单,一样情形下只需要利用三个输出线,第连续接~的直流供电,第五脚与单片机的P30口相连,它将搜集到的经纬度信息通过此出输给单片机,脚的第二行是GPS测量输出的是TTL电平信号,串行端口,高大于,低小于400mV,输出驱动器的启动,直接与单片机的接口。
若是只利用默许设置,单片机只能从模块读取数据。
图5-4GPS电路图
通信电路
GSM模块与单片机管脚连接图:
图5-5GSM电路图
GSM模块第一脚与单片机P12脚相连,第二脚与单片机P13脚相连,第一脚将接收到的信息交给单片机进行处置,单片机判定信息是不是正确,若是正确的好,单片机遇通过与GSM模块第二脚相连的P13脚将处置过的GPS模块接收的经纬度信息传输给GSM模块。
显示电路
1602LCD采纳标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下所示:
编号符号引脚说明编号符号引脚说明
1VSS电源地9D2数据
2VDD电源正极10D3数据
3VL液晶显示偏压11D4数据
4RS数据/命令选择12D5数据
5R/W读/写选择13D6数据
6E使能信号14D7数据
7D0数据15BLA背光源正极
8D1数据16BLK背光源负极
图5-6LCD1602电路图
6软件设计
系统软件概述
图6-1为系统软件的主程序图。
图6-1GPS定位系统的主程序图[15]
软件程序的编译
本系统中的主要程序如下,本人已经将其中的重要指令做了注释。
系统初始化:
lcd_system_reset();
lcd_data_port=0xff;
lcd_bad_check();
lcd_write_string(0,0,"GSMinit....");
TNIT();;
for(i=10;i>=1;i=i/10)
{
nTmp=jingdu_miao%100/i;
sendchar2((uchar)(nTmp%10+0x30));
}
sendchar2('"');
sendchar2(WD_a);;
for(i=10;i>=1;i=i/10)
{
nTmp=weidu_miao%100/i;
sendchar2((uchar)(nTmp%10+0x30));
}
sendchar2('"');
sendchar2(0x0D);
sendchar2(0x0A);
}
bitsendmessage_Reply_Run2().");
Delay_ms(2500);
if(sendmessage_Reply_Run2())
{
lcd_command_write(0x01);
lcd_write_string(0,0,"SendOK!
");
Delay_ms(1500);
}
else{
lcd_command_write(0x01);
lcd_write_string(0,0,"Sendfailed!
");
Delay_ms(1500);