基于ARM的GPS地面目标跟踪及报警系统的设计
扫描二维码
随时随地手机看文章
随着现代化科技的发展,人们对移动目标监控的要求越来越高。例如,地面目标跟踪及报警系统可协助家长实现对孩子的监控,孩子若遭遇走失或劫持事件,监控中心通过分析手持终端发送的GPS数据确定孩子所在位置,以采取相关安全措施。此外,地面目标跟踪及报警系统在城市出租车调度、物流运输监控等领域都有着广泛的应用前景。
地面目标跟踪及报警系统是伴随着GPS技术和GSM网络的成熟而发展起来的。20世纪90年代初,GPS技术逐渐兴起,基于GPS的移动跟踪、监控系统开始走向市场。近年来,GSM网络发展迅速,其数据传输能力明显加强,并且,GPS技术更加成熟。2000年5月1日,美国政府宣布取消GPS普通定位的选择干扰(SA)政策,这样,一般GPS接收机定位精度可以达到25 m。综合上述,采用GPS和GSM网络,以低功耗ARM微控制器展开设计的地面目标跟踪及报警系统势必得到迅猛发展,市场潜力巨大。
2 GPS和GSM简介
全球定位系统(Global Positioning System,GPS)是美国从20世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。其基本原理是把高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方的方法,确定待测点的位置。 GSM系统是目前基于时分多址技术的移动通讯体制中比较成熟、应用最广泛的一种系统,主要提供话音、短消息、数据等多种业务,本系统就是利用其短消息服务传输数据。
GPS以全天候、高精度、自动化、高效益等显著特点,广泛地应用于大地测量、地质勘探和车辆导航等方面,近年来随着GPS模块成本的不断下降和地面通信系统的不断发展,GSM和GPS技术相结合的系统正如火如荼地向前发展。
3 系统的组成结构
地面目标跟踪及报警系统由手持终端和监控中心两大部分组成,如图1所示。其中手持终端以ARM微控制器为核心,通过UART0和UART1分别连接GPS模块和GSM模块(发送);监控中心由PC机和GSM模块(接收)构成,PC机中安装的电子地图软件用于解析GSM模块传来的定位信息,并精确显示出被跟踪目标的具体地理位置。
4 系统的硬件设计
4.1 手持终端部分
手持终端由ARM微控制器、GPS模块、GSM模块、按键、LCD构成。其结构如图2所示。
手持终端以LPC2210为主控制器,LPC2210是基于实时仿真和跟踪的16/32位ARM7TDMI-SCPU的微控制器,并带有256 KB的嵌入高速Flash存储器;128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率下运行[1]。由于内置了宽范围的串行通信接口,从而给硬件设计和软件移植都带来了很大的便利。GPS模块采用日本光电公司的GSU-36,体积小,功耗低,抗电磁干扰,可以同时跟踪12颗卫星。GSM模块采用BENQ公司的M22。
LPC2210通过串行口UART0发送GPS采样周期的设置、GPS数据类型选择和通信波特率等控制命令和接收GPS定位信息。通过串行口UART1发送AT指令实现控制GSM的工作和传送SMS。LCD显示当前的经纬度和时间等信息,按键用来控制是否发送信号。
4.2 监控中心部分
监控中心由GSM模块与PC机组成。采用OziExplorer作为监控中心的电子地图软件,在PC机上安装完OZI,设置好相关的端口参数,即可实现将GSM模块传送来的定位信息实时显示在电子地图上。
5 系统的软件设计
手持终端的相关程序用C语言编写,程序流程如图3所示。软件设计主要包括系统初始化、GPS数据处理、GSM数据处理3大部分。
5.1 系统初始化
系统初始化主要是对串行口的初始化,包括传输帧格式、波特率的设置。根据GPS模块、GSM模块的硬件特性,设置UART0波特率为4 800 b/s、UART1波特率为9 600 b/s,均无奇偶校验位,1位5.2 GPS数据处理 GPS模块接收GPS卫星定位信号,判断其为GPRMC格式,经解析留下经纬度、UTC时间等主要信息以待下一步处理,否则继续接收GPS卫星定位信号。
GPS模块输出的GPS定位信息服从NAME-0183通信标准。NAME-0183通信标准的输出数据采用的是ASCII码,其内容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息。语句有6种,包括GGA、GLL、GSA、GSV、RMC和VGT。本系统用到的是RMC纪录语句,它包含了定位系统需要的所有信息。格式举例:
5.3 GSM数据处理
确认有按键按下时(启动键盘防抖动程序),提取存储的数据,转换成相应的Unicode码,即符合PDU格式。然后将最终有效的定位信息发送至监控中心。
GSM的短信业务SMS利用信令信道传输,它不用拨号建立连接,把要发送的信息加上目的地址和其他控制信息发到短信服务中心,经短信服务中心完成存储再转发送给目标机,这种特性适合数据远程传送。每条短信息容量为140字符。GSM终端通过串行口控制SMS有三种接入协议,分别是BlockMode、基于AT命令的Text Mode和基于AT命令的PDU Mode。其中PDU Mode应用最为广泛。
本系统采用的是PDU Mode,采用AT命令完成短信息的读取和发送。不同厂家生产的GSM模块AT命令集会稍有不同,本系统采用的是BENQ公司的M22模块,具体可以参考BENQ公司提供的数据手册和《AT命令用户手册》等资料。比如发送一条消息可以采用AT+CMGS命令,格式如下:
AT+CMGS=<短信长度>+<回车>+<目的手机号码>+<回车>+<短信内容>+
系统上电后,ARM微控制器开始执行主程序。在主程序中,首先进行系统初始化,初始化的内容包括GPS模块和GSM模块的基本参数设置,然后进入主程序的数据处理部分。
6 系统的实现
6.1 实现步骤与结果
启动调试软件ADS,通过实验板上的JATG接口将编好的源代码编译、烧写进ARM微控制器。将监控中心GSM模块上的SIM卡插放到手机中,让手机充当"临时监控中心"。将手持终端脱机上电运行,4、5秒后按下实验板上的中断触发按钮,略等片刻,手机便收到一条来自手持终端的信息,经纬度为3907.9579N,11713.8762E,而实际精确经纬度为3907.8933N,11713.8668E,略存在误差。
取下手机的SIM卡,放至监控中心的GSM模块上。开启PC机上的电子地图软件OZI,设置COM1口的各参数:波特率4 800 b/s、停止位1、无奇偶校验,以使其与GSM模块匹配。再一次上电运行,点击OZI上的"导航"按钮。定位点正好停留在了天津市河东区天津工业大学上,放大地图,定位点落在了实验楼所在位置,地图窗口下方也实时显示出了定位点的经纬度数值和当前时间(如图4所示)。
6.2 误差分析
系统调试初步通过,还得测试其稳定性、分析误差所在。从实验结果得出,定位精度的误差基本上控制在25 m以内,误差原因主要来自两方面:首先是GPS模块硬件本身的性能误差。GSU-36要求工作电压为直流3.1 V~3.6 V(纹波≤50 mV)。且模块使用有源天线,若天线受附近电磁场干扰或GPS卫星所处位置不很理想时,定位精度会有不同程度的降低。另一方面,电子地图的分辨率也大大决定了定位点的精确性。OZI是一个支持自主测绘、编辑电子地图的软件。为达到理想的定位精度,可自行测绘一份更精细的电子地图。
7 结束语
基于ARM微控制器的嵌入式系统能够完成所需的各种协议,能够满足系统的软硬件需求。地面目标跟踪及报警系统整合了GPS、GSM技术,利用GSM的SMS功能实现手持终端和监控中心之间的数据传送,以实施对目标的实时定位跟踪。在开发测试中,可明显感觉到与自建无线数据网相比,其可操作性及实时性有显著提高,而且成本较低,结构简单,可靠性较高。