基于GPS导航的嵌入式软件设计与实现
- 格式:pdf
- 大小:207.07 KB
- 文档页数:8
如前所述, 从大的功能上导航软件分为具有浏览功能的部分和具有导航功能的部分, 因
此在界面方面也设计了两种不同的界面 : 浏览界面和导航界面。浏览界面主要为用户在查
找浏览相关地理信息过程中提供交互服务。导航界面主要将当 前的位置在导航地图中显示 出来, 并在实时定位过程中为用户提供关于导航服务方面的一些交互提示。要求浏览界面
pr一> b h aAi = R E /将线程存在标志设为真 o t m— T r d le T U ;/ e v
D OR E e t ; W D v n =0
{
/ 同的工作线程完成不同的功能模块 环 } /等待终止线程的事件被激发 /
E et=WaF ri l b c pr一> hht w E etI FN T ) vn i oS g O j t ot m— S u o n vn, I IE ; t n e e( d N s ihE et wt (vn) c
f 格式地理数据和 Malo i l e pn 的MI f F格式地理数据来实现, 导航数据最后通过编译形成一 套自己定义的专用于导航的数据格式。在导航数据格式中, 道路网数据采用图的数据结构
进行存储; 非道路网数据用关系表来存储并建立相应的索引以便查询。
22 软件系统设计 .
导航软件是以导航数据库为数据基础的。针对导航数据库的操作行为, 从功能上将导 航软件分为具有导航功能的部分和具有浏览功能的部分。导航功能部分是在动态行进过程
非道路网数据主要包括能反映区域的基本地理面貌的地物信息( 如河流, 湖泊, 边界等) 以及
与出行信息相关的单位信息( 如学校, 政府机关, 医院等) 。整个导航数据的获取和录入可以 通过转换通用的 E R ( ni n et y e s e a h ntue环境系统研究所) hp— S I v om n l s m s r st , E r aS t R e c I i t 的sae
和导航界面可以实时地进行切换 , 这样可以方便地为用户提供所有的功能。
3 嵌入式导航软件的实现
3 1 软件系统的实现 .
基于Wl o sE的嵌入式导航软件是在Wi o sE操作系统平台上面向特殊应用服 n wC d n wC d 务的软件系统。它具有一般软件的特性, 同时它的嵌入式平台决定了它不同于桌面 P C机 软件, 而具有以下几个特点: () 1小型化, 软件占 用的空间小。 () 2专业化, 嵌入式软件往往服务于具体的应用领域, 不求大和全。 () 3实时性强。
GS P 技术 ) 来获取用户当前的准确地理位置, 并对其在地图数据库中进行匹配, 实时地将用
户的位置和周边的地图按一定的比例显示出来; 在对用户进行定位的基础上根据用户选择 的出发地和目的地, 在导航地图的道路网中为用户规划出一条最佳路径, 引导用户行进。
2 1 软件数据设计 .
导航软件中的数据主要是导航地图的空间数据, 主要由与导航需求相关的一些信息组
时间频率学报
总 2 卷 7
图 2 线程调用示意图
主控线程主要实现界面功能、 导航功能中的地图匹配和导航引导模块、 浏览功能中的地
图浏览模块以及这些模块间的消息派送 、 接收和处理 , 同时协调各个工作线程异步运行。 导航定位线程主要完成导航定位模块中的接收当前位置数据( 、 经 纬度) 的功能, 在导航 过程中运行线程, 线程处理函数把接收到的经、 纬度数据实时通过消息发到主线程, 由主线 程调用地图匹配模块作处理。
() 4 配置要求低 , 可运行于低配置的环境中。
由于嵌入式开发环境中的系统的C U处理能力有限, P 而导航软件中处理任务很多, 相
关的数据量很大, 因而在具体的软件实现过程中采用多线程技术, 将一些功能模块用线程在
后台异步运行, 2 如图 所示。
维普资讯
维普资讯
总第 2 卷 第 l 7 期 20 年 6 04 月
时 间 频 率 学 报
Ju l f i d r uny omao Tme n e ec a F q
V0.7NO 1 1 . 2
Jn ,0 4 ue20
基于 G S导航的嵌入式软件设计与实现 P
曾 枯 李忠华 朱才连
( 中国科学院测量与地球物理研究所, 武汉 4 07 ) 30 7
摘要 : 采用 G S定位技术, Wi o sE的嵌入式环境 中设计并 实现 了一套 P 在 n wC d
可广泛应用于智能交通系 IS和基于位置服务(B ) 统( ) T L S 等系统中的具有定位导航
1 期
曾 吉 吉等: 基于G S P 导航的嵌入式软件设计与实现
3 5
22 1 导航功能模块设计 ..
该方面的设计中, 主要包括以下 4 个模块的设计 :
() 1导航定位模块实时地从通信端口 读取数据, 然后进行分析处理, 得到可以进行地图 匹配的经、 纬度数据, 并将其传给地图匹配模块。 () 2地图匹配模块根据导航定位模块输入的经纬度在导航数据库中进行匹配。 () 3路径规划模块主要是根据用户指定的出发地和目的地在导航数据库中的道路网络
维普资讯
l 期
曾 吉 吉等: 基于 G S P 导航 的嵌入式软件设计与实现
3 7
gT r d i he 函数开启以T r dr (为线程处理函数的线程, n a he Po ) a c 其实现代码如下:
C hed bt c :tr ) T r A sat:Sat a r (
算机平台上开发 G S P 导航软件的方式主要有两种: 一种是在自己开发的专用的操作系统上 开发导航软件; 另一种是在通用的操作系统上开发导航软件。日 本及欧美等地的发达国家 起步较早, 二十世纪八十年代就开始开发导航软件, 采用的是前一种开发方式, 己的硬 有自 件设备, 底层的操作系统也由自己开发, 并基于其上开发导航软件, 这种开发方式由于其专 用性, 数据的保密性较好, 但通用性不好, 仅可用于有限的嵌入式设备上。考虑到目 前市场
{
i !(IT r d A x ei h a(A XT R A P O ) h aPo , i ) f I— he = f g T r d( F —H E D R C T r d r t s ) ( T a B n e e ch )
rt r e u n FAIS .E:
} T r d r (是线程处理函数, he Po ) a c 其实现代码如下: C he A s a : he Po( P O Dp a m) T r d bt c : r d r L V I r { a rt T a c Pa
中进行导航规划服务的, 可分为导航定位、 地图匹配、 路径规划和路径引导等模块, 主要通过
导航界面与用户实现交互; 浏览功能主要是在静态过程中对导航的地理信息提供浏览查询 服务的, 通过浏览界面与用户实现交互。软件系统结构如图 l 所示。
-
图 1 系统结构图
维普资讯
/ a de /h n l s
m— he ;/ T r d /线程对象 a m— T r d le /线程存在标志 b he Ai ;/ a v I— T r d/ T h he / I a 线程事件 m— S u o n vn;/ h ht w E et 线程终止事件 d / I—O nr/线程关联的窗口 T p w e;/ I
服务功能的导航软件。 关 键 词: 导航; 定位; 嵌入式; P GS
中图分类号: 284 P2.
文献标识码: 文章编号 :01 5 ( 0) 1 03 8 A 1 — 4 2 4 0 03— 01 4 0 — 0
1 引 言
GS P 系统是一个高精度的定位导航系统。有关 G S导航定位的各种应用中的移动终 P 端( 如手机、 掌上电脑等) 实质上就是一个嵌入式计算机。在这种作为移动终端的图匹配的结果和规划好的路径结合导航地图数据库的数据以地
图的方式显示出来 , 这样就可以直观 、 无误地引导用户行进。
222 浏览功能模块设计 ..
该方面的设计中, 主要包括以下 2 个模块的设计 :
() 1地图浏览模块主要是在浏览界面中实现对地图的缩放、 平移等基本浏览操作。 () 2地图查询模块主要是根据用户的要求在导航地图数据库中进行查询操作并通过浏 览界面显示出来。
路径规划线程主要完成在道路网中求解最佳路径的任务, 在用户要求提供最佳路径时 根据用户的出发地和目的地求出一条最佳路径。在最佳路径求解算法中采用 A* 算法( 参 见文献[]。 4) 地图数据库查询线程主要完成对导航地图数据库的查询功能, 根据用户要求生成线程, 完成对相关地理信息的查询。 下面的代码给出了这些工作线程的实现方法:
成, 包括道路网几何形状、 道路等级、 道路特征、 交规限制、 地理政治边界、 感兴趣的点、 路标 和服务设施等。这些数据主要分为两大类: 道路网数据和非道路网数据。道路网数据包括 基本的道路网的地理数据( 如道路的地理位置信息) 以及道路上与车辆行驶相关的数据( 如 道路的交规信息 , 收费信息和限速的信息) 。道路网数据的主要特征是有较强的拓扑关系。
上已经有比较稳定可靠的、 通用的嵌入式操作系统, 因而我们采用第二种开发方式进行导航 软件的开发, 这样开发的导航软件所适用的硬件设备较多, 便于推广应用, 同时也缩短了软 件的开发周期。目前有很多通用的嵌入式操作系统, Wi o sE 嵌入式 lu 等。其 如 n wC 、 d ix n 中, no sE是一个多任务实时操作系统, Wi wC d 具有出色的用户界面、 良好的通信功能, 是微 软公司专门为信息设备、 移动应用、 消费类电子产品等嵌入式领域全新设计的操作系统。本 文就是针对嵌入式计算机的硬件平台, 在Wi o sE操作系统下设计实现了一套 G S导 n wC d P
航软件。