DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 643|回复: 0
打印 上一主题 下一主题

[GPS] 基于ARM9的GPS导航系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

计算机与现代化
2012 年第6 期JISUANJI YU XIANDAIHUA 总第202 期
文章编号: 1006-2475( 2012) 06-0141-03
收稿日期: 2012-02-23
基金项目: 新疆维吾尔自治区高等学校科研计划项目( XJEDU2010I22)
作者简介: 古丽米拉·克孜尔别克( 1970-) ,女,新疆昌吉人,新疆农业大学计算机与信息工程学院副教授,研究方向: 现代通
信技术及嵌入式技术; 通讯作者: 张婧婧( 1981-) ,女,湖南宁乡人,讲师,硕士,研究方向: 通信技术与复杂系统。
基于ARM9 的GPS 导航系统设计
古丽米拉·克孜尔别克,张婧婧,李勇伟
( 新疆农业大学计算机与信息工程学院,新疆乌鲁木齐830052)
摘要: 以ARM9 为嵌入式开发环境,移植Linux 操作系统搭建软件平台,全面论述采用S3C2440 和GPS 模块相结合设计
GPS 导航终端的方法。其中关键技术包括: RMC 语句的提取、GPS 数据的采集、Qt 编程及电子地图与GPS 数据的匹配算
法,以此实现GPS 导航地图的显示及移动,达到系统实时定位的目的。
关键词: S3C2440; Linux; GPS; Qt
中图分类号: P228. 1 文献标识码: A doi: 10. 3969 /j. issn. 1006-2475. 2012. 06. 038
Design of GPS Navigation System Based on ARM9
Gulimila KEZIERBIEKE,ZHANG Jing-jing,LI Yong-wei
( College of Computer and Information Engineering,Xinjiang Agricultural University,Urumqi 830052,China)
Abstract: This paper discusses a kind of design method that combines S3C2440 and GPS module to realize the GPS navigation
terminating machine,which needs to establish environment of embedded development ARM9 and install Linux operating system.
The key technologies include: extraction of RMC statements,collection of GPS data,Qt programming and matching algorithm of
electronic maps and GPS data,in order to display and move the GPS navigation maps for achieving the purpose of real-time location.
Key words: S3C2440; Linux; GPS; Qt
0 引言
GPS 技术凭借其全天候、高精度和自动测量的优
势,融入了社会发展的各个应用领域,包括车辆导航、
大气物理观测、地球物理资源勘探、工程测量、变形监
测、市政规划控制、最佳航程航线测定、飞机导航、低
轨卫星定轨等。
作为导航、定位设备,GPS 终端机不仅需要可靠
的性能,更应具备便携、低功耗和低价格的优点[1-2]。
采用基于ARM 的微处理器与GPS 模块相结合的硬
件电路,选取移植性好、功能强大、可剪裁的开源操作
系统Linux 作为软件平台,可以很好地满足高性能、
高集成度、低功耗、低成本的系统开发和设计需
求[3]。为此,本文介绍一种结合ARM9 和GPS 模块
实现的GPS 导航系统的设计方法。
1 导航系统的基本工作原理和结构设计
1. 1 基本工作原理
导航系统旨在通过GPS 模块接收GPS 的数据信
号,利用ARM 微处理器及Linux 的软件平台采集相
关数据( 包括纬度、经度、速度、方向等) 信息,并进行
数据的存贮、显示及必要的处理( 如信息提取、坐标
变换等) 。结合运用Qt 软件,完成电子地图导航及触
摸液晶等人机交互接口部分的设计,用户能够通过触
摸屏的操作获取相关的导航信息,实现系统的地图漫
游、地图查询和道路信息管理[4]等功能。
1. 2 系统总体结构
系统设计按其功能可分为嵌入式主控模块、供电
模块、显示模块及GPS 模块4 大部分[2],如图1
所示。
142 计算机与现代化2012 年第6 期
图1 系统结构框图
在系统结构中,嵌入式主控模块S3C2440 主要
完成对GPS 导航模块数据的响应、处理和控制。其
硬件( 触摸LCD 接口电路、Flash、SDRAM、JTAG) 用于
实现数据的采集、存储及人机交互的显示[5]。其中
Flash 存储器和SDRAM 各有分工,Flash 主要用于
GPS 数据的存储和保护,SDRAM 存取速度大大高于
Flash 存储器,具有读/写的属性,因此用作程序的运
行空间。软件方面,在S3C2440 开发平台上运行嵌
入式Linux 系统[6],可以有效管理程序模块进程并调
度进程。
供电模块主要为系统正常工作提供电源。
S3C2440 提供多种电源管理方案来保持最优的电源
消耗,其中可选用4 种模式: 通用模式、慢模式、空闲
模式、睡眠模式。
显示模块选用3. 5 寸TFT 带触摸屏LCD,实现友
好的人机交互界面[7]。触摸屏接口可以控制或选择
触摸屏触点,用于XY 坐标的转换。
GPS 模块主要用于接收导航卫星数据,并以
NMEA 协议格式发送消息给主控模块[8]。模块设计
采用APM7101 为主芯片,集成SiRFstarIII GPS 处理
器、LNA 电路、SAW 滤波器、振荡和校准电路,并引出
了UART 通信接口和复位接口。
2 导航系统的硬件连接
GPS 模块带有一个10 针的接口,可以直接和微
处理器相连,如图2 所示。
图2 GPS 模组与MCU 连接图
通过接口将GPS 模组与S3C2440 相连,即可控
制GPS 模组获取GPS 信号。其中TXD 和RXD 作为
UART 通讯信号,UART 通讯波特率设为9600bps。
TFT 液晶作为处理器的外扩设备,集成在微处理器的
开发板中。
3 导航系统的软件设计
3. 1 搭建系统开发平台
嵌入式Linux 用于管理导航系统的硬件设备并
对所有程序进行调度,是软件系统的核心部分。由于
Linux 是面向PC 机的操作系统,将其用于嵌入式设
备,需要进行移植。其操作一般流程为:
( 1) 移植vivi,采用JTAG 烧写映像到目标板
NAND Flash 的零地址处,实现引导程序的装载[9];
( 2) 移植Linux 内核zImage,以便调用其指令;
( 3) 移植根文件系统[10],建立Linux 系统的数据
基础。
3. 2 程序设计
3. 2. 1 主程序流程图
主程序流程图如图3 所示。
图3 主程序流程图
3. 2. 2 NMEA 协议
GPS 以NMEA 协议格式发送消息[11],基本
NMEA 指令是一个ASCII 字符串,以“$ ”字符开始,
以< CR > < LF > 序列结束。以常用读取经、纬度信
号的$ GPRMC 为例,分析NMEA 协议格式。如: $
GPRMC,161229. 487,A,3723. 2475,N,12158.
3416,E,0. 13,309. 62,120598,,* 10,结果为:
时间: 第1 个逗号后面161229. 487 表示时间为16 点12
分29. 487 秒;
有效位: 第2 个逗号后面A,表示这条GPS 信息是有
2012 年第6 期古丽米拉·克孜尔别克等: 基于ARM9 的GPS 导航系统设计143
效的;
纬度: 第3 个逗号后面3723. 2475 和N 表示北纬37 度
23. 2475 分;
经度: 第5 个逗号后的12158. 3416 和E 表示东经121 度
58. 3416 分;
日期: 第9 个逗号后的120598 表示日期为1998 年5 月
12 日。
一般的RMC 语句中包含系统所需的经纬度、速
度、日期、时间等信息,只需按要求提取即可。
3. 2. 3 GPS 数据的采集
采集GPS 数据时,系统需针对RMC 语句进行提
取。提取数据通常调用的API 函数[12]包括:
( 1) int GPS_read( int fd,char * buf,int len) ; / /读取一
条GPS 数据
( 2) int GPS_parse( const char * line,GPS_INFO * GPS) ;
/ /将GPS 信息解析为可识别的数据
( 3) double get_double_number( char * s) ; / /将给定字符
串第一个逗号之前的字符转化成双精度型
( 4) void get_char( char * s) ; / /得到形参第一个逗号前
的字符串
( 5) int getcomma( int num,char * str) ; / /计算字符串中
各个逗号的位置
( 6) void UTC2BTC( data_time * GPS) ; / /转化时间为北
京时区的时间
3. 3 基于Qt 的GUI 开发
Qt[13]是Trolltech 公司的产品,是一个多平台的
C ++ 图形用户界面应用程序框架。它为程序开发者
提供艺术级的图形用户界面所需的各种功能。GUI
( Graphics User Interface) 即图形用户界面[14],指计算
机与其使用者之间的对话接口。
Qt 凭借其特有的信号/槽( signal /slot) 机制,灵
活地实现对象间的调用,通过裁剪无关模块可以调整
库文件的大小,适合嵌入式系统使用。在Qt 中支持
OpenGL 接口和矢量图形格式SVG,能够充分满足导
航系统绘图需求。Qt 应用程序中,主线程由GUI 线
程充当,它同时拥有一个或多个非GUI 线程作为工
作线程来处理其它耗时操作( 例如地图的匹配) ,这
样即使在负载很重的情况下,应用程序也可以保证图
形用户界面的响应。因此,系统可以利用Qt 编程实
现电子地图与GPS 数据的匹配,再通过经、纬度与屏
的比例关系的换算,显示导航地图及其移动的过程。
4 结束语
( 1) 系统开发过程中,首先保证GPS 模组、LCD
模块与S3C2440 正确连接,其次编写GPS 接口驱动
和Qt 设计终端界面的相关程序,完成各项文件的下
载、运行,即可实现目标地址的定位、跟踪。
( 2) ARM 处理器具有低功耗、高性能等特点,因
此广泛用于各种便携式电子产品中。系统的开发建
立在现有的ARM 平台之上,通过外接GPS 模块实现
GPS 导航功能,在节省开发成本的同时又不失便携
性,为智能设备扩展GPS 功能提供参考依据。
参考文献:
[1] 张永强,张永健. 嵌入式GPS /GPRS 车载定位技术研究
[J]. 仪器仪表学报,2007, 28( z1) : 291-294.
[2] 卢望,胡鹏飞. 基于ARM9 处理器S3C2440 的GPS 导航
终端机的设计[J]. 电子元器件应用,2009, 11( 8) : 1-2.
[3] 李学斌. 嵌入式Linux 通用GPS 接口的设计与实现
[J]. 现代电子技术,2008, 31( 22) : 39-42.
[4] 唐良宝,柏子刚. 基于ARM9-Linux 平台的车载导航系
统设计[J]. 微计算机信息,2009, 25( 2) : 256-257, 271.
[5] 柯国松,廉迎战,梁俊,等. 基于ARM 的GPS 接收机的
设计及其精度仿真研究[J]. 自动化技术与应用,
2009, 28( 3) : 52-55.
[6] 韦东山. 嵌入式Linux 应用开发[M]. 北京: 人民邮电
出版社,2010.
[7] 孙俊喜. LCD 驱动电路、驱动程序设计及典型应用
[M]. 北京: 人民邮电出版社,2009.
[8] 刘智国,张海春. 基于S3C2410 的嵌入式串口通信设计
[J]. 微计算机信息,2009, 25( 11) : 179-180, 166.
[9] 陈峰,李滨滔,戈志华. 基于S3C2410 的嵌入式Linux 系
统构建[J]. 现代电子技术,2007, 30( 24) : 55-57, 60.
[10] 张杰,曹卫华,吴敏,等. 基于S3C2410 的Linux 移植
[J]. 微机发展,2005, 15( 6) : 142-144.
[11] 李文国. 导航电子地图设计与实现[J]. 科技资讯,
2008( 30) : 3.
[12] 杨峰. C 语言完全手册[M]. 北京: 科学出版社,2008.
[13] 陈琦. QT 的编程技术及应用[J]. 科技信息,2008
( 33) : 503-504.
[14] 王子强,刘海燕,李媛州. Linux 下图形用户界面程序的
开发与实现[J]. 计算机应用与软件,2005,22 ( 6) :
81-83.
基于ARM9的GPS导航系统设计.pdf (160.76 KB, 下载次数: 3)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-12 07:47 , 耗时 0.093823 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表