《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 基于嵌入式设备的个人GIS助理系统

基于嵌入式设备的个人GIS助理系统

2008-07-31
作者:马 璐, 鲍远律, 满 亢

    摘 要:提出一种基于嵌入式设备的个人GIS助理系统的设计方案,并分别对嵌入式便携终端和监控平台" title="监控平台">监控平台的实现过程进行了阐述。该系统经过实际测验,达到了预期的设计效果。
   关键词: GIS;Linux;ARM;嵌入式系统

 

    近年来,地理信息系统GIS技术已经广泛地应用于汽车导航、野外测绘、物流运输及军事指挥等众多领域,但用于个人的GIS导航助理系统还不多见。针对这一现状,本文提出一种基于嵌入式设备的个人GIS助理系统的设计方案。利用本系统,可以实现个人的定位、导航、监控、报警等多种功能。
1 系统体系结构及工作原理
  个人GIS助理系统由便携式终端和监控平台两个部分组成,其体系结构如图1所示。

 


  系统的工作原理:便携式终端由个人携带,可以为用户实现定位、导航以及遇险报警等功能,当用户开启报警按钮时,用户所在位置的GPS数据信息通过GPRS网络发送到监控平台,并在数字矢量地图中显示出用户的位置,便于用户得到及时救助。
2 便携式终端的设计与实现
2.1 终端的硬件结构

  便携式终端直接与用户交互,完成数字地图" title="数字地图">数字地图显示及定位、导航及报警信号的发送任务,硬件结构由如下几个部分组成:ARM处理器、显示模块、GPS模块、GPRS模块、存储模块和报警模块等,如图2所示。

 


2.1.1 ARM处理器
  ARM处理器是整个便携式终端的核心,需要处理大量的数据及运算。为适应系统的整体性能,选用三星公司的S3C2410处理器。S3C2410基于ARM 920T内核,频率为203MHz,具有MMU虚拟内存管理单元,搭配第三方公司生产的接口板,可扩充串口、网卡、USB接口、LCD接口、JTAG接口等,方便系统的调试和运行。
2.1.2  GPS模块
  GPS数据接收模块采用ROCKWELL公司的JUPITER接收器,它具有12个并行通道和高灵敏度RF部分,可快速捕捉卫星信号,在开阔空间,冷启动约1分钟,定位精度小于15m,并提供自动存储功能,可以在掉电时将当时信息固化在芯片内部。
2.1.3  GPRS模块
  通用分组无线业务GPRS(General Packet Radio Service)是在 GSM基础上发展起来的一种分组交换的高效数据传输方式。相对于低传输速率" title="传输速率">传输速率的GSM(916Kb/s),GPRS具有最高可达17 112Kb/s的传输速率。GPRS具有“永远在线”的优点,按照数据流量计费,计费方式更符合用户需要。此外,GPRS支持TCP/IP协议,用户可以直接访问 Internet站点。它还可以提供一系列交互式业务:点对点面向连接的数据业务、点对点无连接型网络业务、单点对多点业务等[1]
  本设计采用西门子公司的MC39终端,它支持GPRS/GSM两种网络方式,硬件接口采用标准的RS232串口,通过它向GPRS模块发送AT命令,可以对GPRS模块进行初始设置和实现网络连接、数据传送等功能。
2.2  终端的软件设计
  便携式终端的软件设计主要分为嵌入式操作系统的移植、Microwindows和PPP拨号程序的移植、嵌入式GIS程序以及报警和通信模块设计。
2.2.1  嵌入式操作系统和Microwindows的移植
  众所周知,Linux系统是一款免费、开源的操作系统,具有极强的稳定性和可移植性,用户可以根据自己的需要随意更改源代码,使其适应不同的应用。
  Linux移植到嵌入式平台一般分为下面几个步骤:下载源码、建立交叉编译环境,配置编译内核,制作文件系统,下载、调试内核。
  Microwindows起源于NanoGUI项目,是由Gregory Haerr组织的一个开放源代码项目,也是嵌入式系统" title="嵌入式系统">嵌入式系统中广为使用的一种图形用户接口(GUI)。它采用了类似GAL层和IAL层的设计思想,使用分层结构设计方法,可移植性非常好。另外,它还提供了多种应用程序接口(API)。考虑到开发成本和移植的相对简单性,本设计采用Microwindows作为便携式终端的GUI。
  Microwindows是一个可配置的软件包,可以针对嵌入式系统的不同需求进行配置、裁剪、正确的配置是成功移植Microwindows的关键。配置内容包括基本发行包的设置,各种字体的选择和各种图像处理包的安装等。配置完成后,就可以进行下一步的编译工作了。
  如果编译成功,在mwsrc/bin目录下会产生Nano-X的服务器程序nano-X、Nano-X窗口管理器程序nanowm和一些演示程序;在mwsrc/lib目录下会产生libmwin.a、libnano-X.a等Microwindows/Nano-X API函数库,用户可以利用这些函数库来开发自己的应用。
2.2.2 PPP拨号程序的移植及建立GPRS无线通信链路
  PPP(Point to Point Protocol)是专门为解决Modem拨号上网的问题而设计的。PPP 在连接过程中所处的主要状态有死亡、建立、认证、网络和终止[2]。当链路" title="链路">链路是死亡时没有物理层连接,成功建立物理连接后链路变成建立,这时LCP 选项商议开始,如果成功则进入认证。如果在LCP 阶段要求了认证, 此时就可以检查PEER的标志,然后进入网络阶段,采用相应的NCP协议配置网络层。在完成数据传输后,链路进入终止阶段,并返回死亡。PPP链路建立简要流程如图3所示。

 


  PPP拨号程序移植成功后,就可以利用脚本程序拨号上网了,下面是它的一个简单示例[3]
  /dev/ttyS0                 //指定设备端口号为ttyS0即串口0
  115200                     //设置设备波特率
  connect "/usr/sbin/chat" 
                     //向无线模块发送命令并提供登陆信息
  /usr/sbin/pppd              //调用pppd拨号程序
  AT+CGDCONT=1,"IP","cmnet"
                              //设置APN:cmnet
  ATD*99***1#              //拨号*99***1#
2.2.3  嵌入式GIS绘图引擎的设计
  地图显示是GIS系统最基本的一个功能,实现的关键是了解GUI提供的接口,从地图文件中取得图层相关数据,然后用图形工具显示出来。在本设计中,利用Microwindows提供的Nano-X API实现。
  Nano-X使用Xlib类型的窗口,绘图时使用窗口的标识值,它采用客户/服务器模式,客户端向服务器端发送绘图请求,服务器端调用图形库对应函数实现最终的绘制命令。服务器端为各种类型的绘图元素分配资源,以后所有的绘图操作都在服务器端完成。所以在运行客户应用程序前必须先启动服务器进程Nano-X。Nano-X的服务模式如图4所示。

 


  下面是绘图程序的框架,API的入口点是标准C语言函数Main( ):
  Main(…)                                  //程序入口
  {
  GrOpen();                          //与服务器端建立连接
  gid=GrNewGC();                    //创建图形上下文
  wid=GrNewWindowEx(…);                //创建窗口
    GrSelectEvents();                    //选择要处理的事件
  GrMapWindow(wid);                          //显示窗口
  GrMainLoop(NxEventHandler);                //捕获事件
  }
2.2.4  报警及数据通信模块的设计
  报警及数据通信程序采用TCP套接字的客户/服务器模式实现,客户和服务器分别对应便携终端和监控中心,其基本流程如下:运行客户端程序,读取GPS数据信息并存储于本地缓存器,通过GPRS无线链路与具有独立公网IP的监控中心建立SOCKET连接,实现数据的无线传输。
3 监控平台设计
  作为个人GIS助理系统的重要组成部分,监控平台应能够实时接收便携式终端用户所发送的位置信息,完成接收报警、发送指令等功能。在硬件方面需要有一台具有公网独立IP的X86体系结构的计算机,运行Windows操作系统,在软件结构上主要分为GPS数据接收及解析、GIS功能模块、位置信息显示以及报警系统四大模块,如图5所示。

 


  工作原理如下:GPS数据通过无线链路传送到监控中心后,首先经过数据解析程序解析成人们容易理解的时间、经纬度、速度等信息,同时调用GIS模块,绘制数字地图,并将解析后的位置信息显示在地图上。如果此时用户发生意外并发出报警信号,监控人员就可以及时准确地掌握事故发生位置,快速提供帮助。
  监控平台的软件采用Delphi编写,所采用的数字地图由中科大GPS实验室具有独立知识产权的数字地图生产平台制作。图6是监控平台软件的截面图。

 


  本文介绍的个人GIS助理系统在中科大校园的测试中取得了良好的效果,它利用GPRS网络作为网络传输途径,充分发挥通用分组无线业务传输速率高、系统延时小的特点,但该系统也受到了移动通信信号强弱的限制,在实际测试中,如果遇到信号盲区,数据传输就会延误,使得监控平台端的数字地图上信息显示发生滞后。
  另外,便携式终端采用了ARM嵌入式系统,它具有强大的运算能力以及良好的可移植性,用户可方便地加入自己的应用以及后续开发工作,为系统功能的进一步完善提供了途径。


参考文献
[1] 历容卫.GPRS技术与嵌入式系统应用[J].江苏技术师范学院学报,2003,9(4).
[2] 罗亮,彭容修.GPRS在嵌入式手持终端上的实现[J].现代电子技术,2004,(4).
[3] TANZILLI S. PPP over GPRS link [EB/OL]. http://www.acmesystems.it/?id=13,2007-02.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。