APP下载

基于GPS的物联网智能终端定位技术研究与应用

2015-06-24吴春祥

东莞理工学院学报 2015年3期
关键词:内核嵌入式终端

吴春祥

(东莞职业技术学院 计算机工程系,广东东莞 523808)

随着电子计算器技术、半导体技术、激光技术、航天科学技术的先后出现,把人类带到了电子信息时代和航天探索时代,同时空间定位技术手段从光学机械仪器过渡到光电子精密机械仪器的时代,比如在航海、航空、交通、通信工程等重大工程领域都需要精确定位。常见的几种定位方式包括GPS定位、蜂窝基站定位、无线室内定位、A-GPS定位及AP定位等。随着物联网时代的到来,一种新型的物联网定位技术逐步发展起来。笔者提及的“物联网智能终端”是指具有CPU、存储器、具有数据通道及嵌入式软件的物联网节点[1]。通过物联网智能终端加上GPS技术,可用来实现对终端节点的实时位置定位采集,还可以给物联网中的终端提供统一的时间基准,实现物联网中任何两个智能终端节点之间任何时间、任何地点的连接。也是解决物联网终端节点自主组网的一项关键技术[2-3]。物联网智能终端的位置信息是物联网信息采集、传输的一项重要信息。目前物联网智能终端定位技术研发尚处于初级阶段,预计在未来的几年该技术将会有更大的突破和更广的应用。

1 GPS在物联网智能终端定位中的应用

1.1 物联网智能终端

物联网是一种通过射频识别 (RFID)、红外感应器、全球定位系统、遥感系统、无线传感器网络、激光扫描器等自动标识和信息传感设备及系统,按约定的协议,利用局域网、接入网、互联网将物与物、人与物、人与人相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的网络。物联网的体系架构主要包括感知层、网络层和应用层[4]。笔者将各种物联网中分布的感应识别设备和信息传感设备统称为物联网终端。物联网中要实现任何时间、任何地点的“物物相连”,对物联网智能终端精确定位的信息必不可少,是实现“物物相连”的一个重要基础。

1.2 GPS物联网终智能端定位技术

GPS全球卫星定位系统由三部分构成:空间部分、地面支撑系统、用户设备。GPS向全球范围内提供定时和定位的功能,全球任何地点的GPS用户通过低成本的GPS接收机接受卫星发出的信号,获取准确的空间位置信息、同步时标及标准时间。GPS要实时完成定位和定时功能,需要4个参数:经度、纬度、高度和用户时钟与GPS主钟标准时间的TDEV(时刻偏差),所以需要接受4颗卫星的位置[5]。

物联网从物联网的三个目标来看,要实现任何时间、任何事物、任何地点之间的连接即必须包含物体之间的位置信息,所以需要有空间定位技术的支持,需利用GPS系统。目前,智能手机均已经安装GPS定位系统 (GPS系统是目前最成功的大规模商业导航定位系统)。因此,基于GPS的物联网智能终端定位技术将具有良好的应用前景。

2 GPS物联网定位系统架构

从物联网智能终端定位技术和GPS定位原理来看,GPS全球定位系统通过测量出已知位置的卫星到物联网智能定位终端之间的距离,然后综合多颗卫星的数据就可知道智能终端的具体位置。卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而智能定位终端到卫星的距离则通过纪录卫星信号传播到用户所经历的时间,再将其乘以光速得到[6]。据此,提出一种基于GPS的物联网智能终端定位系统应用方案,系统结构如图1所示。

图1 GPS物联网定位系统结构

3 GPS物联网智能定位终端平台研发

3.1 硬件平台开发

硬件平台主要包括系统控制模块、GPS信号接收模块,DSP数据解析模块、定位数据输出模块,如图2所示。

系统控制模块采用嵌入式微处理器通过SPI总线与GPS接收模块以及DSP数据处理模块之间进行命令交互、数据收发、格式转换,并监测终端电源和GPS接收模块工作状态等信息。GPS信号接收模块,从GPS卫星导航系统 (至少能从空间搜索到3颗)中接收,接收卫星的二进制电文形式的坐标位置信息。传输到DSP电文处理模块,进行数据处理和转换后,交给核心控制模块。DSP数据处理模块通过数字信号处理器,将GPS模块的电文伪码进行解析运算,并与GPS接收模块的时间基准信号校准,得出精准的位置信息输出模块。定位数据输出模块是智能终端最后位置坐标信息的输出单元,以输入模块经过数字信号处理器和微处理器处理后得出的数据,经校验后再输出。

3.2 软件平台开发

根据前文所述整体设计思路和硬件设计,系统的软件平台采用嵌入操作系统的分层次、多任务程序设计方法。

3.2.1 嵌入式操作系统选型

在嵌入式系统的开发中,嵌入式操作系统是实现各种系统功能的关键,不同的应用对嵌入式软件系统有不同的要求。目前,已经使用比较广的嵌入式操作系统种类繁多,有免费开源的嵌入式Linux操作系统、微软的Wnidows CE、3COM公司的PalmOS、美国WindRiver公司的VxWorks及嵌入式实时操作系统uC/OS等。其中,嵌入式Liunx以高效性和灵活性著称,具有强大网络支持功能和广泛硬件支持等特性[7]。基于嵌入式Linux操作系统的应用开发,可以先在标准平台上开发原型然后移植到具体硬件上,加快软件与硬件的开发过程。使受开销、时间限制的研究与开发项目具有较好的成本和效率优势。所以,操作系统选用嵌入式Linux[8]。

图2 终端硬件平台

3.2.2 嵌入式Linux引导程序移植

嵌入式操作系统在微处理器上运行前,还需要一个引导程序加载来嵌入式Linux内核。U-Boot支持对嵌入式Linux系统的引导,并支持多种体系结构的微处理器如ARM、PowerPC、MIPS等。要使嵌入式Linux在微处理器上被引导加载,需要修改U-Boot部分代码,如重写Flash的设备控制程序;初始化时钟、SMC控制器和SDRAM控制器,根据硬件平台资源配置修改CPU、系统时钟频率、RAM、Flash配置信息、内存映射相关参数以及U-Boot的环境变量和内核启动参数。

3.2.3 嵌入式Linux系统功能及驱动移植

从开源社区下载嵌入式Linux操作系统内核源码安装到开发环境的宿主机上,建立交叉编译环境、配置和编译内核,将嵌入式Linux操作系统移植到智能定位终端的微处理器。内核编译成功后生成操作系统内核的镜像文件,将这个镜像文件下载到Flash存储器指定地址。在U-Boot中设置启动参数,即可Boot从指定地址引导加载该操作系统内核。

智能定位终端硬件内部的各模块间采用SPI了通信,终端与终端之间采用无线网络通信。因此在内核配置和编译过程中必须选中对SPI和无线网络协议的支持,否则必须自定义这些驱动和协议。

4 应用程序开发及软硬件联合调试

4.1 应用程序开发

图3 应用程序流程

在系统的应用层面,实现系统控制、GPS信号接收,DSP数据解析、定位数据输出等功能。基于嵌入式操作系统的软件设计方法,可以将每个功能模块以一个任务来实现。嵌入式Linux遵循POSIX线程接口,每个任务具体通过一个独立线程来处理,通过多线程来改善程序的结构,提高任务响应速度,从而提高系统实时性。应用程序的工作流程,如图3所示。

4.2 软硬件联合调试

根据硬件设计图制作PCB主板,将核心模块、DSP模块、GPS卫星接收模块插入相应接口插槽,外接LCD液晶屏、GPS天线及电子元件库电子元器件构建硬件平台。然后通过ISP(系统在线编程)和IAP(应用在线编程)将系统内核以及应用程序烧写到Flash、ROM等非挥发性存储器。在此基础上借助数字万用表、示波器以及JTAG(在线仿真调试)等工具对系统功能进行联调,基本的功能测试任务包括:

1)测试GPS接收模块与物联网智能终端硬件接口的稳定性;

2)核心模块上软硬件与GPS模块命令交互和数据交换的正确性与精准性;

3)测试分析GPS数据包格式,GPS数据采集的准确性和合理性。

5 结语

目前,GPS物联网智能终端定位技术尚处于发展阶段,提出了一种具有可行性和创新性的整体设计方案,改善了物联网智能终端定位精准度,且维护成本较低。GPS系统作为是目前成熟的大规模商业应用系统,其物联网智能终端定位技术具有良好的应用前景。随着全球定位系统的民用商业化,基于GPS以及与它类似的定位系统,如:BD(中国北斗卫星导航系统)、GLONASS(俄罗斯格洛纳斯全球导航卫星系统)及GALILEO(欧洲伽利略卫星导航定位系统)等,混合组成的定位系统的物联网终端定位技术也将得到发展。而GPS/GLONASS(俄罗斯全球导航卫星系统)、GPS/BD(北斗卫星导航系统)等混合接收技术将会被广泛推广和应用,较大可能地保证物联网终端定位能力和精度。

[1]谢昌荣,曾宝国,汤平,等.物联网技术概论[M].重庆:重庆大学出版社,2013.

[2]张睿.物联网组网技术研究[D].北京:北方工业大学,2012.

[3]宋成.辅助型GPS定位系统关键技术研究[D].长沙:国防科技大学,2009.

[4]沈苏彬,毛燕琴,范曲立.物联网概念模型与体系结构[J].南京邮电大学学报,2010,30(4):1-8.

[5]王琦.全球定位系统(GPS)的原理与应用[J].卫星与网络,2010,93(4):26-30.

[6]许勇,李斌,周宝,等.浅谈GPS实时动态定位原理及应用[J].淮海工学院学报:自然科学版,2011,20(12):47-49.

[7]郁发新.常用嵌入式实时操作系统比较分析[J].计算机应用,2006,26(4):761-764:.

[8]贾红伟,叶文来.嵌入式操作系统与嵌入式Linux[J].吉林师范大学学报:自然科学版,2005,8(3):97-98.

猜你喜欢

内核嵌入式终端
强化『高新』内核 打造农业『硅谷』
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
多功能北斗船载终端的开发应用
微生物内核 生态型农资
Altera加入嵌入式视觉联盟