于基s3c2440的gps定位系统毕设大学论文.docx
- 文档编号:3763094
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:58
- 大小:1.66MB
于基s3c2440的gps定位系统毕设大学论文.docx
《于基s3c2440的gps定位系统毕设大学论文.docx》由会员分享,可在线阅读,更多相关《于基s3c2440的gps定位系统毕设大学论文.docx(58页珍藏版)》请在冰点文库上搜索。
于基s3c2440的gps定位系统毕设大学论文
河北工业大学城市学院
毕业设计说明书
作者:
赵欢学号:
087656
系:
信息工程系
专业:
电子科学与技术
题目:
基于ARM-Linux平台的GPS定位系统
指导者:
王伟副教授
评阅者:
田汉民讲师
2012年6月6日
毕业设计(论文)中文摘要
题目基于ARM-Linux平台的GPS定位系统
摘要:
GPS即全球定位系统(GlobalPositionSystem),随着经济技术不断的发展,定位与导航在各行业的应用越来越普遍。
本设计内容是研究实现一种基于ARM-Linux平台与图形用户界面的GPS定位系统。
首先根据需求分析选择三星S3C2440芯片作为系统的微处理器,通过对处理器与存储模块、电源模块、GPS接收模块、LCD触摸屏等进行电路设计,确定了定位系统的硬件平台;随后建立交叉编译环境与QT开发环境,构建嵌入式Linux系统平台,在分析GPS接收机输出明文标准NMEA-0183、以及GPS硬件通信原理的基础上,对GPS图形用户界面与GPS软件系统进行了设计。
该系统通过GPS模块接收来自GPS定位卫星的定位信息,并将定位信息进行实时处理,在显示终端LCD上显示出来。
经测试该系统运行稳定,精确度高,用户界面良好,具有很好的应用意义。
关键字:
GPS定位系统ARM-Linux平台QT图形用户界面S3C2440
毕业设计(论文)外文摘要
TitleBasedonARM-LinuxofGPSpositioningsystem
Abstract
AGPSpositionsystembasedonARM-LinuxplatformandgraphicuserInterface(GUI)wasdesignedandrealizedinthiswork.ChoosingS3C2440asmicroprocessor,weconstructedtheGPShardwaresystemthroughcircuitdesignwhichincludesmemorycircuit,powercircuits,GPSmodelandLCDtouchscreencircuit,etc.Thenweestablishedcross-compilingandQTdevelopingenvironments,andthenconstructedtheembeddedLinuxplatform.GPSGUIandGPSappliedprogARMsweredesignedbasedontheanalysisofstandardNMEA-0183statementandGPShardwarecommunicationprinciples.ThedesignedGPSpositionterminalhasagooduserinteractiveinterface,andrunswell,whichalsowasprovedtobereliable,preciseandofhighpracticalvalues.
Keywords:
GPSpositionsystemARM-LinuxplatformQTGUIS3C2440
目次
1引言1
1.1课题研究背景1
1.2研究意义1
1.3嵌入式开发的前景1
1.4主要工作1
2GPS技术介绍2
2.1GPS基础2
2.2GPS定位原理2
2.3GPS数据与GPS协议2
2.3.1当前卫星信息$GPGGA2
2.3.2推荐定位信息数据格式$GPRMC3
2.3.3地面数据信息$GPVTG4
2.3.4含经纬度的地理位置$GPGLL4
2.3.5当前卫星信息$GPGSA4
3GPS定位系统的硬件的设计5
3.1硬件系统的设计说明5
3.2.SDRAM5
3.2.1原理介绍5
3.2.2HY57V561620的结构6
3.2.3S3C2440与HY57V561620接线方法:
6
3.3GPS模块设计7
3.4电源模块10
4GPS定位系统的软件开发14
4.2.1安装UbuntuLinux14
4.2.2创建交叉编译环境15
4.2.3创建QT开发平台17
4.2.4ubuntu下安装串口工具minicom20
4.3移植操作系统内核22
4.5.1GPS用户界面24
4.5.2串口设置27
4.5.3GPS信息获取27
4.5.4GPS信息显示32
5GPS定位系统的测试37
结论39
参考文献40
致谢41
附录A42
1引言
1.1课题研究背景
嵌入式系统是以应用为中心,把计算机技术作为基础,软件硬件可剪裁并且应用系统在功能,可靠性,成本,体积,功耗上都具有很高的标准。
更面向于针对具体对象的开发。
从应用的角度看嵌入式系统是“控制监视或者辅助控制机器和设备运行的系统”。
从技术的角度看:
可以理解成带有CPU的专用软硬件系统。
[5]嵌入式开发具有很广阔的前景。
1.2研究意义
嵌入式在国内虽然有很大的发展空间,却严重缺少专业的人才,嵌入式是将计算机技术,电子技术,半导体技术的具体应用结合到一起的综合学科,对技术知识要求很高且资源不足,又要满足更小型化,在相同的硅片上潜入功能强大的系统,必须高效率的设计硬件和软件。
1.3嵌入式开发的前景
随着微电子技术的不断发展以及电子技术制造工艺的进步,嵌入式硬件的体积将会不断缩小,系统稳定性不断在加强将来会把更多的功能集成在一块很小的芯片上。
功耗降低,功能越强,随着网络的普及和IPV6技术的应用,会有更多的嵌入式产品加入到网络中。
嵌入式技术也会也来越成熟。
1.4主要工作
首先在前期是查阅一些相关的文献学习一些基本的知识与设计思路,器件的选型,例如GPS模块原理,以及GPS协议。
之后主要是完成硬件部分的设计,主要包括SDRAM,NandFlash,晶振,电源,GPS,LCD,J-link各部分与中央处理器的连接,设计出电路图在面包板搭接出电路。
再次,是完成软件部分,由于要完成GPS的定位,必须包含软件的控制部分,硬件是骨架,软件则是灵魂。
工欲善其事必先利其器,要想很好的完成软件部分设计,建立软件开发环境包括UbuntuLinux的安装,常用工具的安装,创建交叉编译环境,编译好定位程序,调试运行。
最后,完善部分,由于GPS的输出是按照NAME-0183协议的格式输出的,使用者并不知道0183协议并不利于用户使用,所以进行进一步完善,安装QT开发环境进入QT编程,开发出一个图形界面显示经纬度,高度。
完成毕业设计。
2GPS技术介绍
2.1GPS基础
GPS主系统是由美国发射的卫星系统,由27颗卫星组成,其中24个正常使用,3个备用,27颗卫星不间断的发送地理位置海拔高度和时间信号,由地面的接收机接受再做处理,一般的接收机可以接收5至12个卫星信号。
全球定位系统分为三部分:
太空卫星部分:
24颗绕极转动的卫星分成六个轨道,在20200公里的高空运动,转动一周约12小时,每个卫星都不停的发射载有卫星轨道数据及时间的无线电波以供地球上的各种接收机接收。
地面管制部分:
在地面设置的地面管制站主要任务是追踪控制卫星运转,修正维护每个卫星能保持运转的个性参数,确保接收信息的可靠性。
终端设备:
追踪GPS卫星并随时计算出接收机所在位置的坐标,移动速度及时间。
GPS接收机及一般分为:
无线蓝牙GPS,USB接口GPS。
2.2GPS定位原理
先要确定三维空间中某一点的具体位置,就要把待测点放置在三个不同的平面,及待测点与恒星所构成的平面会有一个交点,既是待测点。
GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,空间后方交会利用航摄像片上三个以上不在一条直线上的控制点按构像方程计算该像片外方位元素,可列出四个方程,确定待测点的空间位置。
2.3GPS数据与GPS协议
GPS模块协议支持NMEA-0183协议,NMEA-0183协议是NationalMarincElcctronicsAssociation所指定的标准规格,这一标准还包含传输资料的格式以及传输资料的通信协议。
一组正常的GPS协议语句包含GPS固定数据输出语句($GPGGA),建议使用推荐定位信息($GPRMC),地面速度信息($GPVTG)语句。
2.3.1当前卫星信息$GPGGA
$GPGGA,092007,000,3754.9756,N,10928.4278,E,1,08,1.0,20.6,M...0000*35.其标准格式为$GPGGA,
(1),
(2),(3),(4),(5),(6),(7),(8),(9),M(10),M,(11),(12),*(CR),(LF)
各部分对应的含义为:
(1)标准定位时间:
##时##分##秒
(2)纬度(格式ddmm.mmmm即##度##.####分)
(3)N/S南或北表示纬度即北纬37度54.9756分
(4)经度(格式ddmm.mmmm即##度##.####分)
(5)E/W东或西表示经度即东经109度28.4278分
(6)质量因子(0=没有定位,1=实时GPS,2=差分GPS)
(7)可以应用卫星个数(0--8)
(8)水平精度因子(1.0--99.9)水平精度因子=1.0
(9)天线高程天线高程20.6米
(10)大地椭球面相对海平面的高度(-999.9---9999.9,单位:
米)无
(11)差分GPS数据年龄,实时GPS时无
(12)差分某准站号(0000---1023),实时GPS时无
*总和校验域
Hh总和校验数:
35
(CR)(LF)回车,换行
2.3.2推荐定位信息数据格式$GPRMC
$GPRMC082006,000,A,3528,9276,N,11527,4283,E,0,00,0,0,261009..*38
标准格式为:
$GPRMC
(1)
(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(CR)(LF)
标准定为时间格式hhmmss.sss
定位状态:
A=数据可用,V=数据不能被用
纬度:
格式ddmm.mmmm
纬度区分:
北半球=N,南半球=Sccksum
经度:
格式ddmm.mmmm
经度区分:
东半球=E,西半球=W
相对位移的速度0.0至1851.8knots
相对位移的方向:
000.0至359.9度。
实际值
日期:
格式日日月月年年
磁极变量:
0度到180度
度数
Chccksum检查位
2.3.3地面数据信息$GPVTG
$GPVTG,0.0,T,,,M,0.00,N,0.0,K*50
字段1:
运动角度,000---359前导位数不足补0
字段2:
T=真北参照系
字段3:
运动角度,000---359前导位不足补0
字段4:
M=磁北参照系
字段5水平运动速度0.00前导位不足补0
字段6;N=节,Knots
字段7:
水平运动速度0.00前导位不足补0
字段8:
K=公里/时
字段9:
校验值
2.3.4含经纬度的地理位置$GPGLL
$GPGLL,3723.2475,N,12158.3416,W,161229.487,A*2C
字段1:
纬度37度23.2475分
字段2:
N/S,北半球或南半球
字段3:
经度121度58.3416分
字段3:
E/W,东半球或西半球
字段4:
标准定为时间:
格式,时时分分秒秒
字段5:
状态,A=资讯可用,V=资讯不可用
字段6:
总合检查码
2.3.5当前卫星信息$GPGSA
$GPGSAA,3,07,02,26,27,09,04,15,,,,1.8,1.0,1.5*33
字段1:
A/M,允许自动切换二维定位或三维定位模式/强迫对二维定位或三维定位模式
字段2:
定位形式1/2/3,分别是未定位,二维定位,三维定位
字段3:
07,恒星使用,信号频道1
字段4:
02,恒星使用,信号频道2
字段14:
恒星使用,信号频道12
字段15:
位置经度稀释值,1.8,0.5---99.9
字段16:
水平经度稀释值,1.0,0.5----99.9
字段17:
垂直精度稀释值,1.5,0.5----99.9
字段18:
*33,总合检查码
3GPS定位系统的硬件的设计
3.1硬件系统的设计说明
本设计采用三星的S3C2440微处理器。
这是一款高性价比、低功耗、高集成度的CPU,基于ARM920T内核,主频最高为450MHz,专为手持设备和网络应用而设计,能满足嵌入式系统中的低成本、低功耗、高性能、小体积的要求[1]。
下图为硬件平台的总体设计。
图3-1:
系统总体框图
3.2.SDRAM
3.2.1原理介绍
SDRAM作为内部存储器,不能长时间保留数据,通过电容充保存数据,一般存储体中电容数据最长可保存64毫秒,即在64毫秒内必须冲洗刷新一次。
SDRAM是多Bank结构,这种结构大大提高了存储器访问速度。
所以SDARM需要控制BAn引脚来管理多个Bank。
SDRAM引脚可以分为三类:
1)控制信号:
包括片选,时钟,时钟使能,地址行和列选择,读或写及数据有效。
2)地址信号:
时分复用引脚,根据行列地址选择引脚,控制输入的的地址为行地址或列地址。
3)数据信号:
双向引脚,受数据有效控制。
3.2.2HY57V561620的结构
HY57V561620存储容量4M4Bank16位,工作电压为3.3V封装为54脚TSOP兼容LVTTL接口,支持自动刷新和自刷新,16位数据宽度。
HY57V561620引脚信号描述如下:
引脚
名称
描述
CLK
时钟
时钟
CKE
时钟使能
片内时钟信号控制
/CS
片选
决定除CLKCKE和DQM外的信号是否可输入
BA0BA1
组地址选择
用于片内4个组的选择
A12-A0
地址总线
行地址:
A12-A0,列地址:
A8-A0,自动预充电标志:
A10
/RAS
/CAS
/WE
行地址锁存
列地址锁存
写使能
参照功能真值表,/RAS/CAS/WE的定义相应的操作
LDQMUDQM
数据IO屏蔽
读模式时控制输出缓冲;写模式时屏蔽输入数据
DQ15-DQ0
数据总线
数据输送引脚
VDD/VSS
电源/地
内部输入缓冲电源/地
VDDQ/VSSQ
电源/地
输出缓冲电源/地
NC
未连接
未连接
3.2.3S3C2440与HY57V561620接线方法:
图3-2:
S3C2440与HY57V561620接线方法
引脚描述如下:
NSRAS:
SDRAM行地址选通信号接!
FAS
NSCAS:
SDRAM列地址选通信号接!
CAS
NGCS6:
SDRAM芯片选择信号接!
CS
NWBE[3:
0]:
SDRAM数据屏蔽信号接LDQMUDQM
SCLK0[1]:
SDRAM时钟信号接CLK
SCKE:
SDRAM时钟允许信号接SCK
DATA[0:
31]:
32位数据信号接DQ[0--15]
ADDR[2:
14]:
行列地址信号接A[0--12]
ADDR[25:
24]:
bank选择线接BA0 BA1
3.3GPS模块设计
下面为GPS各部分的电路图:
图3-3:
GPS原理图
图3-2为稳压电路,电路核心是LM117-CT3.3,它输出稳定的低压降正电压
图3-4:
GPS原理图
MAX202是电平转换芯片,在PC机输出的232电平与单片机可以接收的TTL电平之间转换,MAX202E内部含有两个驱动器两个接收器。
芯片的11,10,12,9引脚是RS232电平,14,7,15,8引脚是TTL电平,可实现电平的转换。
图3-5:
GPS原理图
ET-312为卫星接收芯片,是整个小系统的核心,主要是接收天线感应的卫星的信息。
它的引脚从一到八分别是1,3,4,5,6,,12,13是GND,2是RF,7是VIN,8是BATTERY,9是GPIO1,10是TX,11是RX。
其中RF与外部天线连接,当连接到外部天线时需加典型值电源。
VIN为主电源输入3.3V,BATTERY作为SDARM或RTC的后备供电电源。
电流一般为15uA。
GPIO1用此I/O口实现特殊功能,比如LED亮灭。
TX连接外部导与用户的导航软件的主要传送测量数据的通道。
RX接收通道。
3.4电源模块
S3C2440的电源引脚主要有:
微处理器复位模块和端口寄存器需要108V电压:
微处理器内核、时钟电路需要1.8V电压:
MPLL、UPLL需要1.8V模拟电源和数字电源;微处理器端口和微处理器储存器端口、微处理器内的ADC系统需要3.3V电压;所以电源电路部分提供1.8V和3.3V电压。
图3-6:
电源模块设计
3.5晶振电路
图3-7:
晶振电路
3.6Flash接口电路设计
NandFlash带有通用的SARM接口可以轻松的挂接在CPU的地址数据总线上,使用复杂的I/O口来串行的存取数据,8个引脚用来传送控制地址和数据信息,容量大,所以本系统采用NandFlash作为存储设备。
引脚信号描述
引脚
描述
引脚
描述
I/O0-I/O7
数据命令地址输入输出引脚
!
WP
写保护
CLE
命令锁存使能
R/!
B
是否忙碌
ALE
地址锁存使能
Vcc
电源(2.7-3.3)
!
CE
芯片使能
Vss
地
!
RE
读使能
N.C.
无连接
!
WE
写使能
图3-8:
Flash接口电路
3.7LCD触摸屏接口设计
本设计采用TFT-LCD(ThinFilmTransistir)也叫薄膜场效应晶体管LCD进行信息显示。
不过不可以直接使用,需要在移植内核时进行加载驱动才可使用。
3.9系统复位电路接口设计
本系统中复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能,复位电路的工作原理:
在系统上电时,电容C162充电,C162两端的电压升高当未到高电平压门限时,RESET端为高电平,系统处于复位状态;当C162两端的电压达到高电平的门限电压时,REST端电平变为低电平,系统正常工作。
当用户按下按钮REST时,C162放电,REST端输出为高电平,系统复位,再重复以上的充电过程,系统进入正常状态。
以下为系统复位电路。
图3-9:
复位电路设计
3.10JTAG接口
本使用了包含完整JTAG标准信号的10PinJTAG接口,与S3C2440连接如图。
图3-10:
JTAG接口电路
3.11串口电路
S3C2440本身提供了2个串口一个和GPS相连实现电平转换,另一个用于系统控制台调试。
图3-11:
串口电路
4GPS定位系统的软件开发
4.1软件整体设计说明
软件部分开发主要包括四部分:
搭建软件环境,安装所需要的工具软件,创建图形界面并生成Makefile文件,系统测试。
其中搭建软件环境包括烧写U-boot内核到开发板,制作文件系统,系统内核移植,创建qtopia-2.2.0开发环境;需要安装arm-linux-gcc,交叉编译工具工具,安装编译Qt所需的库文件,安装图形界面;下面可以进行程序开发了,首先生成一个项目工程,再生成main.cpp文件.pro文件,tmakemake生成gps在开发板上的可执行程序。
最后对GPS系统进行测试,完成软件开发。
4.2建立软件开发环境
4.2.1安装UbuntuLinux
简要介绍一下Ubuntu系统,Ubuntu创建了一个可以为桌面和服务器提供的最新的Linux系统,Ubuntu具有大量从Debian发行版精细挑选的软件包,同时保留了Debian强大的软件包管理系统,可与Windows相容,非常适合Windows用户的迁移,具有较全的中文版功能,在Windows操作系统下不用分区即可安装使用,就如同安装一个应用软件那么容易,整个Ubuntu操作系统在Windows下就如同一个大文件一样,很容易卸载掉。
安装步骤如下:
1为安装系统预留出足够的磁盘空间,本设计中预留了10G的空间
2下载ubuntu-9.04-desktop-i386.iso
3用一个虚拟光驱(如果没有可以在网上下载一个名为MicrosoftVirtualCD-ROMControlPanel无需安装,可以虚拟ISO等光盘映像文件)装载载ubuntu-9.04-desktop-i386.iso文件,运行根目录下的wubi.exe会出现ubuntumenu界面选择“InstallinsideWindows”即可在Windows下直接安装而无需分区。
接着出现ubuntuInstaller界面,磁盘空间选择F盘,语言选择为“Chinese(Simplified)简体中文”,设置好用户名和密码,点击安装,安装完后重启系统选择ubuntu,就可进入系统。
如果需要可以自己修改一些设置例如:
修改开机启动程序,桌面环境,root密码。
4.2.2创建交叉编译环境
首先介绍一下什么是交叉编译,交叉编译就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,要进行交叉编译需要在主机安装交叉编译的工具链(CrossCompilationToolChain),包括编译器,连接器,目标库等。
通常Linux平台上ARM的交叉编译器是arm-Linux-gcc
首先生成一个工具链,工具链可以通过手动创建,也可以使用脚本创建。
也可以从网上获取已经创建好的交叉编译环境,直接从网上下载编译好的。
在本机可以有多个gcc版本的切换。
(1)下载deb安装包,下载的包为:
gcc-3.4-base_3.4.6-6Ubuntu3_i386.deb、
gcc-3.4_3.4.6-6Ubuntu3_i386.deb、
cpp-3.4_3.4.6-6Ubuntu3_i386.deb、
g++-3.4_3.4.6-6Ubuntu3_i386.deb、
libstdc++6-dev_3.4.6-6Ubuntu3_i386.deb
下载地址为:
http:
//archive.U
自己新建一个目录,把这些deb包拷贝进去,我直接放在桌面上,zhaohuan@ubuntu:
~/5-18/gcc.3.4.6
(2)接下来在zhaohuan@ubuntu:
~/5-18/gcc.3.4.6目录下执行下面的命令:
$dpkg-i*.deb
查看下安装的结果如下:
$ls/usr/bin/gcc*/usr/bin/gcc/usr/bin/gcc-3.4/usr/bin/gcc-4.4/usr/bin/gccbug-3.4
(3)增加gcc3.4.6和gcc4.4.5的可选项
$update-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-4.540
$update-a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- s3c2440 gps 定位 系统 大学 论文