基于的手机定位技术的研究及其实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全球定位系统(GPS)是 20 世纪 70 年代由美国陆海空三军 联合研制的新一代空间卫星导航定位系统。GPS 技术的定位 原理:24 颗 GPS 卫星在离地面 12 000km 的高空上,不间断 地发送自身的星历参数和时间信息,用户接收到这些信息后, 利用三维坐标中的距离公式,利用 3 颗卫星,就可以组成 3 个方程式,解出观测点的位置(X,Y,Z)。
(5) 辅 助 数 据 请 求 消 息 : 在 测 位 时 , 用 户 可 能 会 收 到 从 GPS 硬件传来的请求辅助数据的消息,这时用户端通过本消 息向服务器发送辅助数据请求。
(6)辅助数据发送消息:本消息是位置服务器把有关测位 的辅助数据填充在 X1 结构体中,发送给用户端。
(7)错误报告消息:当用户端测位时,可能会发生各种各 样的错误,如硬件错误,卫星信息错误等等,这时用户端需 要把这些错误代码填充在 X1 结构中,通过本消息发送给位 置服务器。
(2)通信确认消息:当用户端收到位置服务器发来的 A 消 息后,建立相关的上下文信息和 TCP/IP 连接,发送本消息给 位置服务器进行确认,然后等待下一个消息。
(3)测位请求消息:当服务器确认连接建立后,发送本消 息给用户请求测位。其中包含一些辅助数据的信息。
(4)测位报告消息:当用户端收到请求测位消息后,调用 测位请求函数进行测位,收到测位结果时发送本消息给位置 服务器。
网 络 、 POS 、 自 动 化 控 制 、 智 能 家 电 等 领 域 的 广 泛 应 用 。 Nucleus 最大的特点是全部提供源代码,免去用户购买许可证 和付版税并允许用户根据应用的不同而进行修改。
2 3G 手机中的 GPS 系统
2.1 系统框架 图 1 是手机 GPS 应用系统的大体框架。本系统分 3 部分:
(3)跟踪服务:应用服务器向位置服务器设定定期的位置 测量条件,位置服务器就向用户端发送定期的位置测量请求, 位置服务器从用户端取得定期的位置数据后向应用服务器进 行报告。 2.3 系统层次模块划分
本系统共划分为 5 个层次:
(1)应用层:主要包括位置控制器和 Java 虚拟机两部分。 (2)服务层:主要接收来自应用的请求并通过接口层传送到底层 和接受来自驱动层的消息。 (3)接口层:主要为接口层提供驱动层和底层的一些接口。 (4)设备驱动层:处理上层传下来的请求,并转换成硬件能识别 的数据格式,向硬件层发送命令。 (5)硬件层:直接和 GPS 接收机通信,发送定位命令,接收定位 数据。
—222—
万方数据
应用服务器
浏览器
Java通信控制 接口X2
Java虚拟机 GPS驱动器 GPS接收器
位置服务器 接口X1
位置控制器
图 1 系统框架
2.2 系统功能 本系统主要实现 3 个功能: (1)定位功能:用户通过浏览器输入一些查询条件,比如
查询自己当前位置、离自己最近的医院饭店等,然后浏览器 会传送给应用服务器。应用服务器接收到这些请求后会向位 置服务器请求定位,位置服务器通过 X1 空中接口发送 X1 格 式的消息给用户端的位置控制器,用户端接收到消息后,向 GPS 硬件发送命令进行测位,当从卫星收到定位信息后再以 X1 格式的消息发送给位置服务器,这些信息在服务器端进行 加工,并通过应用服务器显示在浏览器。在定位过程中,位 置服务器会发送辅助数据给用户端,GPS 硬件通过辅助数据 得到更加快速、精确的测位数据。
(3)接口部分:接口部分主要分 X1 和 X2 接口。X1 接口 是网络服务器端和用户端之间通信的接口,X2 接口是用户端 内部 GPS 测位模块与 Java 上层模块的接口。
基金项目:贵州省自然科学基金资助项目(20052107);贵州省省长基 金资助项目(2005368) 作者简介:张晓培(1979-),男,博士研究生、讲师,主研方向:计 算机网络通信与安全;李 祥,教授、博士生导师;彭长根,博士 研究生、副教授;罗文俊,博士、教授 收稿日期:2006-08-17 E-mail:gd_pei@163.com
(8)MT 方式的通信流程:位置服务器通过服务器发送 A 消息给用户端, 用户端建立连接后发送 B 消息给位置服务 器,等待测位请求消息。当 C 消息从位置服务器发送到用户 端,则进行测位。如果发生错误,用户端会发送 G 消息给位 置服务器,否则当收到测位结果时,发送 D 消息给位置服务器。
(9)MO 方式的通信流程:用户端 Java 模块发出测位请求 消息(非 X1 消息),用户端调用底层模块进行测位,因为 Java 来的请求不包含任何辅助数据,所以 GPS 硬件会发送辅助数 据请求的消息。但是这时用户端和位置服务器并不一定已经 建立连接,如果没有建立连接,那么用户会查找上次连接时 保存的服务器的信息,请求建立上下文连接,建立后,用户 会发送 E 消息给位置服务器,收到辅助数据时,传给硬件, 辅助测位。当收到测位结果时,把结果以 X2 的格式发送给 Java。 3.2 多测位请求处理
(2)汽车导航功能:首先用户通过浏览器选择汽车导航功 能,并从 Java 端下载地图。启动 Java 通信控制并向用户端的 GPS 模块发送测位请求。同时用户端可以向位置服务器请求 辅助数据进行辅助测位。测位完成后通过 X2 接口协议传送 给 Java 通信控制,并在地图上显示出来(汽车导航功能是属 于周期性连续测位)。
张晓培,李 祥,彭长根,罗文俊
(贵州大学计算机软件与理论研究所,贵阳 550025)
摘 要:讨论了基于 Nucleus Plus 嵌入式操作系统在第 3 代移动通信网络(WCDMA)手机中实现 GPS 定位的关键技术。根据 Nucleus Plus 操作系统的特点,使用队列和 Timer 机制管理所有的测位请求,避免了资源的竞争,实时地满足了每一个测位请求。结合 3GPP 协议的 X1 消息和网络数据格式解决了服务器与客户端的通信以及网络数据和 GPS 硬件数据格式的不统一问题,同时增加了指南针功能模块,从而实 现了第 3 代手机 GPS 定位功能和汽车导航功能。 关键词:GPS;定位;第 3 代合作伙伴项目;嵌入式系统;汽车导航
Nucleus Plus 是美国源代码操作系统商 ATI 公司推出的 新一代嵌入式操作系统,属于抢占式实时多任务操作系统内 核,95%的代码使用 ANSI C 编写,非常便于移植于各种处理 器家族。Nucleus Plus 以其实时响应、抢先、多任务以及源代 码开放特性获得在通信、国防、工业控制、航空/航天、铁路、
【Abstract】This paper discusses the key techniques of realizing GPS orientation in 3G mobile phone based on Nucleus Plus embedded operation system. It manages all requests by queue and timer mechanism based on characteristic of Nucleus Plus OS, avoiding competition of resources and satisfying every request real-timely. It resolves communication of server and client and disunion problem between network data and GPS hardware data format by combining X1 message of 3GPP protocol, and realizes GPS orientation and car navigation of 3G mobile phone by adding compass module. 【Key words】GPS; orientation; third generation partnership project (3GPP); embedded system; car navigation
1 背景知识介绍
第 3 代合作伙伴项目(third generation partnership project, 3GPP)是一个组织协议,它把 WCDMA 和 GSM/EDGE 的标 准化组织联合在了一起。3GPP 实现了 3G 网络的互操作性。 它的目标是创建兼容性网络,使应用开发商无须考虑应用运 行的具体网络。
Study and Realization of 3G Mobile Telephone’s GPS Orientation Technique Based on 3GPP
ZHANG Xiaopei, LI Xiang, PENG Changgen, LUO Wenjun
(Institute of Computer Software Theory, Guizhou University, Guiyang 550025)
网络服务器部分,用户端部分和接口部分。 (1)网络服务器端:网wenku.baidu.com服务器端分为应用服务器和位置
服务器两部分。应用服务器主要向用户端提供一些位置服务 功能并且可以对位置服务器进行测位时的一些设定。位置服 务器主要进行位置情报的管理和同用户端的通信。
(2)用户端部分:用户端部分主要分为位置控制器、GPS 驱动器和 Java 控制等几个部分。其中位置控制器主要进行用 户和位置服务器间的通信控制;GPS 驱动器主要对 GPS 接收 器从卫星所接收来的定位数据进行解析并转换成相应的格式 传给位置控制器;Java 控制部分辅助完成汽车导航功能。
2.4 系统功能实现流程 (1)从位置控制器来的测位请求。位置服务器发送 X1 消
息向位置控制器请求测位并传送辅助数据,位置控制器解析 X1 消息,然后向服务层发送测位请求,服务层通过接口层向 驱动层发送测位请求,驱动层把辅助数据格式转换成硬件识 别的格式,向硬件层先后进行辅助数据设定和测位请求。硬 件收到测位数据后通过消息机制传给驱动层,驱动层把硬件 数据格式转换成原来的 X1 数据格式,并通过消息机制传给 服务层,服务层通过事件机制传送给位置控制器。位置控制 器通过 X1 消息发送给位置服务器。
第 33 卷 第 14 期 Vol.33 No.14
计算机工程 Computer Engineering
2007 年 7 月 July 2007
·工程应用技术与实现·
文章编号:1000—3428(2007)14—0222—03 文献标识码:A
中图分类号:TP393
基于 3GPP 的 3G 手机 GPS 定位技术的研究及其实现
3.1 用户端和服务器端的通信 在本系统的通信过程中,可能出现两种通信方式:服务
器端发起的测位请求(MT 方式)和用户端发起的测位请求 (MO 方式)。为了保证通信进行的准确性和安全性,介绍以下 几个基于 3GPP 协议的 X1 格式的通信消息:
(1)通信请求消息:本消息在通信开始时由位置服务器发 送给用户端,包含一些服务器的信息,如 IP 地址和端口号等。 用户通过这些信息和服务器建立连接,进行通信。
本文讨论基于 NeCleus PLUS 嵌入式操作系统在第 3 代移 动通信网络(WCDMA)手机中实现 GPS 定位的关键技术。根 据 Nucleus Plus 操作系统的特点,使用队列和 Timer 机制管 理所有的测位请求,避免了资源的竞争,实时满足每一个测 位请求;结合 3GPP 协议的 X1 消息和网络数据格式解决了服 务器与客户端的通信以及网络数据和 GPS 硬件数据格式的不 统一问题,增加了指南针(Compass)功能模块,从而实现了第 3 代手机 GPS 定位功能和汽车导航功能。
(2)从 Java 端来的请求。Java 虚拟机向服务层发送测位请 求,测位步骤同(1)。不同之处在于 Java 虚拟机过来的测位请
求不带辅助数据,那么硬件层可以通过位置控制器向位置服 务器发送辅助数据请求,这样在完成测位后服务层把数据转 换成 X2 格式的数据传送给 Java 虚拟机。
3 系统实现的关键技术
相关文档
最新文档