GPS远端定位监控系统的设计

发布者:科技之翼最新更新时间:2007-11-20 来源: 电子工程师关键字:响应  串口  ASCII 手机看文章 扫描二维码
随时随地手机看文章

0 引 言

GPS(全球定位系统)的主要应用之一是对车辆进行监控和管理。采用目前最完善的GSM(全球移动通信系统)技术,不仅使企业客户和个人用户对车辆的监控管理更准确、快捷,范围更宽广,而且大大降低了企业客户对GPS车辆监控的前期投入费用。只需要一台电脑,再配上监控管理软件,便可以对公司或单位内所有安装GPS的车辆进行全天候、超远程的监控。这种监控系统主要由GPS无线收发系统和监控系统两部分组成。

1 GPS无线收发系统的结构组成

GPS无线收发系统由GPS接收模块、信息处理模块、GSM发送模块3部分组成。结构见图1[1]。

1.1 GPS信号接收模块的组成及工作原理

常用的GPS模块主要由天线单元和接收单元两大部分组成。天线单元由前置放大器和频率变换器组成,接收单元由标频器、频率合成器、并行信号通道、数字信号处理器、存储器、串行接口、电源等部分组成。加电后,将自动从天线接收GPS卫星发送的射频信号,经过一系列的处理过程,通过并行通道完成对视界内最佳位置卫星的跟踪,测出从卫星到天线的传播时间,解读导航电文,从而计算出经纬度、海拔高度、日期、航向等信息。

1.2 信息处理模块

GPS模块将导航定位信息通过串口不断发送出来,通过对这些数据的处理提取所需的经纬度等信息,然后将有用信息按一定协议组装成数据包传递给GSM发送模块。其硬件组成见图2。采用AT89C51处理器,由于数据的接收和发送都是通过串口来实现,本文中采用TL16C554来扩展串口,TL16C554是一个整合4通道的异步通信组件,它的每个通道都能与外围设备进行数据通信,实行串/并或并/串转换。

1.3 GSM短信发送模块

使用GSM模块可以方便地利用GSM网进行通信。主控制器可通过AT命令控制GSM模块使其发送短消息。GSM模块与单片机之间采用标准的串行口进行通信,通信的最高波特率可达115.2 kbit/s。GSM。模块与SIM卡问主要通过SIMCLK和SIMDATA信号线进行数据通信。为了保证发送短消息与短消息到达之间的时间间隔尽量短,选用的SIM卡最好是同一个电信运营商提供的。

2 后台监控系统的组成

后台监控系统由GSM接收模块和PC机及地理信息管理软件组成。把接收到的经纬度、海拔高度等信息,通过串口传送到计算机,然后调用地理信息管理软件来显示当前目标所在的位置。其框架结构见图3。

3程序设计

3.1 GPS数据的接收处理

GPS定位信息串行输出格式大多采用美国国家海洋电子协会制定的NMEA-0183通信标准格式。其输出数据采用的是ASCII码,内容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,语句有6种,包括GGA、GLL、GSA、GSV、RMC和VTG。

GPS模块只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到信息处理模块中。由于从串口接收的数据帧是一长串ASCII码字节流,在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从接收到的字节流中提取出来,将其转化成有实际意义的定位信息数据。对GPS信息进行提取必须首先明确其帧结构,数据帧主要由帧头、帧尾和帧内数据组成。对于不同的数据帧,其帧头是不同的,主要有"$GPGGA","$GPGSA","$GPGSV"以及"$GPRMC"等。这些帧头标识了后续帧内数据的组成和结构特点。各帧均以回车符和换行符作为帧尾,标识一帧的结束。对数据帧处理是先对帧头进行判断,然后只对感兴趣的帧进行数据的提取处理。由于帧内各数据段被逗号分割,因此在处理接收数据时一般首先通过搜寻ASCII码"$"来判断是否是帧头,接着对帧头的类别进行识别,然后根据识别出的帧类型和逗号","个数确定当前正在读取的是哪个定位导航参数,并进行相应的提取和存储。本文中主要对"$GPGGA"进行分析与处理,程序流程见图4。

3.2 控制GSM模块发送短消息

信息提取完毕后,需要控制GSM模块将信息发送回控制台。GSM模块发送短信采用AT指令。首先要设定GSM模块的短消息工作模式,一种为PDU模式,另一种为文本方式。本文中采用文本方式,AT指令为AT+CMGF=1,GSM模块返回响应字符串"OK"表示设置成功,否则返回字符串"error"表示设置失败。然后设定发送号码,命令控制字为AT+CMGS="+8613814986825",GSM模块返回响应字符">,接着发送要发送的字符串信息,GSM返回响应字符串"OK"表示短消息发送成功,否则返旧字符串"error"表示失败。因为GSM对每一条AT命令都有响应字符,所以必须对这些字符进行验证,否则可能会出错。

程序流 程图如图5所示。

 



下面给出发送短信的部分程序代码。



4 结束语

采用基于GSM网络的GPS远端监控系统,便可以很好地对车辆进行监控,根据需要来进行调度。这种系统具有成本低、维护费用低、通信可靠的特点,可以广泛使用在物流、客运、航空等行业。

关键字:响应  串口  ASCII 引用地址:GPS远端定位监控系统的设计

上一篇:基于ADF4360_4锁相频率合成器的混频器本振源电路
下一篇:基于CC2430的无线温度检测终端的设计

推荐阅读最新更新时间:2024-05-07 15:59

win7调试飞凌2440串口-乱码问题
问题描述:RT 解决办法:在设备管理器,usb-serial属性框里改变pc这里的虚拟com口的波特率和arm串口波特率一致,如115200 即可,驱动什么的都easy! 测试如图
[单片机]
win7调试飞凌2440<font color='red'>串口</font>-乱码问题
stm32端口“重映射” &&串口学习
1.这段代码实现了串口的重映射,即将RFID串口(连接PC的串口)与sim900A的串口进行了重映射! 也就是说将PC发送的数据给RFID的串口,将 RFID的串口接收到的PC数据通过sim900A的串口发送出去。 然后sim900A的串口接收来自服务器的数据,然后返回给RFID的串口,RFID的串口的再将服务器的数据返回给PC 部分程序如下: GPRS_ON(); Start_GPRS(); //AT+CIPSTART= TCP , 60.186.20.162 , 5002 while(1) { if( re_ok) { re_ok=0; Delay_10ms(30);//延时
[单片机]
U-Boot移植(5)dnw串口终端没有反应
把上面生成的u-boot.bin文件,在cmd下利用sfj2410方式烧入板中,首先拔掉短路帽。。。然后经过连续几个0,之后,开始烧入板子,烧完后退出。重启板子,在串口端下竟然没有看见一点信息,心凉了一大截。。。呵呵! 编译、连接没问题,烧写也没有问题,那为什么uboot启动不了呢? 于是上了 http://www.100ask.net 论坛,这个论坛的超级版主就是《嵌入式linux应用开发完全手册》的作者,真的是百问网,问什么都答。。。 开始怀疑是ylp2410的晶振问题,后来看了下优龙板晶振也都是12MHZ,在YLP2410_BIOS下启动linux过程也可以看到这方面的信息。。所以也不是晶振问题。 到了晚上10点多,
[单片机]
串口收发实验——键盘键入数字**.*,PC端循环接收显示**.*
小编今天笔记一下串口的收发实验,实验的灵感来源于对蓝牙模块收发的学习。我们在电路中使用蓝牙,其实就是把蓝牙看做是一个中转站,这个中转站在透传的模式下,不会对接收到的数据做任何变动,而是直接转发出去。 那么,我们只要知道单片机串口收发和PC端键盘的输入都是以字符的ASCII码的形式进行的,PC端收到后显示则是正常字符的形式 即: 键盘键入字符(ASCII码形式)– 单片机收到字符(ASCII码形式) 敲击3,实质键入0x33– 单片机读buff收到消息0x33 单片机发送字符(ASCII吗形式)– 模拟PC收到字符(正常形式显示) 单片机发送字符3,实质写buff发0x33– 模拟PC收到后显示3 废话少说,上仿真电路图:
[单片机]
<font color='red'>串口</font>收发实验——键盘键入数字**.*,PC端循环接收显示**.*
用STC89C51RC/RD+实现多串口
/* ----------------------- 版权声明 ---------------------------------- ------------------------------ 宏晶科技 2005/01/17 -------------------------- -------------- Tel: 0755-82948409 Fax:0755-82944243 ------------------- -------------- Mobile:13922805190 (姚永平) ---------------------------------- ------ Website:
[单片机]
S3C2440在MDK4.22下使用printf向串口打印调试
背景知识: 串口的基本知识已经在上一篇讲过了。这里重点讲解如何在MDK4.22下使用printf函数,这样的话就可以很方便的打印调试信息,追踪。 这个知识来源于MDK自带的帮助手册。有现成的代码提供。 实现方式有2种,使用标准C库下裁剪合适的函数,使用微库C下裁剪合适的函数。 微库下的情况,在魔术棒那里要勾选上使用微库。然后需要定义如下结构和改写如下函数--FILE stdout fputc ferror。 标准库的情况,也是需要关注FILE stdout fputc ferror。注意网上很多文章说,在标准库下,需要关掉半主机模式,我尝试过,关掉后,需要定义_sys_exit函数,可以达到效果,但是如果不关掉半主机模式,和
[单片机]
485-串口硬件相关问题分析
uart整体框图见下表: USART 寄存器: usart初始化过程 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct) { uint32_t tmpreg = 0x00, apbclock = 0x00; uint32_t integerdivider = 0x00; uint32_t fractionaldivider = 0x00; RCC_ClocksTypeDef RCC_ClocksStatus; /*---------------------------- USART CR2 Configurati
[单片机]
485-<font color='red'>串口</font>硬件相关问题分析
新唐MS51FB9AE串口烧录程序
一、先用NULINK或其它下载器烧录引导程序到LDROM; 烧录完毕断电. 二、串口烧录APROM 1.接线 开发板要有供电线接入,先不上电. 2.串口模块和开发板连接. 串口模块GND -------------- 开发板- MS51FB9AE- GND 串口模块TTL-TX -------------- 开发板- MS51FB9AE- P02(第18脚 UART1-RXD) 串口模块TTL-RX -------------- 开发板- MS51FB9AE- P16(第8脚 UART1-TXD) 3.准备好MS51FB9AE程序 要bin格式的文件,ISP烧录工具选择文件时只能选bi
[单片机]
新唐MS51FB9AE<font color='red'>串口</font>烧录程序
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved