1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 基于嵌入式QT界面GPS定位系统设计与实现

基于嵌入式QT界面GPS定位系统设计与实现

时间:2022-07-12 14:40:55

相关推荐

基于嵌入式QT界面GPS定位系统设计与实现

目 录

第1章 绪论… …1

1.1 选题背景和意义… … .1

1.2 主要研究内容… … …1

第2章 GPS系统基础知识介绍… … … …2

2.1 GPS 定位的坐标系统… … … …2

2.2 GPS 定位的时间系统… … … …3

2.4 电磁波的传播与 GPS 卫星信号… … …4

2.4.1 电磁波的介绍… … … .4

2.4.2 大气层对GPS信号传播的影响…… … … .5

2.4.3 GPS卫星的测距码信号… … … .6

2.4.4 GPS 定位的观测量及误差分析… … … .8

2.4.5 GPS定位的方法与观测量… … .8

2.4.6 观测量的误差来源及其影响… … .9

第3章 GPS系统关键技术… … …12

3.1 1linux开发平台… …12

3.2 QT图形化界面的处理… …12

3.3 串口的操作… …13

3.4 数据的格式… …15

第4章 GPS系统分析与设计… …18

4.1 需求分析… … …18

4.2 技术可行性分析… …18

4.4 总体设计… …18

4.4.1 开发环境选定… …18

4.4.2 操作系统选定… …18

4.4.3 处理器选定… … …18

4.4.4 软硬件划分… … … … … … …19

第5章 GPS系统实现… … … …20

5.1 串口端口读取配置实现… … … …20

5.2 读取GPS信息的实现… … … …21

5.3 奇偶校验处理… … … …22

5.4 数据格式的转换与处理的实现… … … …22

5.5 Sqlit数据库对接收到的数据的处理… … … …23

5.6 各种按键的信号函数处理… … … …23

5.7 第二主界面… … … …24

5.8 地图… … … … … …26

第6章 总结和展望… … … … … … .27

6.1 总结… … … … … …28

6.2 展望… … … … … …28

致谢… … … … … … … … … …29

参考文献… … … … … … … … … …30

研究内容

开发一款车载GPS定位导航系统,主要是基于ARM11开发板实现的,主要技术和知识包括几方面:

(1)、C++语言在QT界面编程中的应用和API的调用

(2)、QT界面的设计和绘制

(3)、数据的读取解析和使用

第4章 GPS分析与设计

4.1、需求分析

自从GPS问世以来,就以其高精度、全天候、全球覆盖、方便灵活和优质价廉吸引了世界许多用户。目前,国内GPS应用发展势头迅猛,但是在北岛的问世以后,国家的调控,使之有所下滑,但是gps在以往的几年发展过程中,已经占据了国内的市场,要想马上从北岛到GPS的转换是不切合实际的。所以GPS在国内的市场还是有广阔的前景的。

尤其是我国GPS车辆跟踪系统市场现在已进入规模发展时期,尤其从北京市申奥及物流配送推动了GPS车辆跟踪市场的发展,尤其是在城市中公家车和出租车系统的投入,特别是长途运输车辆的应用的实施,将可能给车辆跟踪带来前所未有的机遇。

4.2、技术可行性分析

4.2.1 技术基础

了解linux基础,懂得在linux下使用通信终端软件,在linux下调用api,同时了解pc版板的设计,使用qt的gui的界面设计和程序设计

4.2.2 项目技术要求

熟悉C++编程,熟悉QTgui,了解各个gui的作用

4.2.3 界面编程要求

使用开源GIS界面平台quantumGis

4.2.4接口编码要求

串口通信 GPS信号格式

4.2.5.软件基础

Linux系统使用基础,minicom的设置,nfs设置,gcc编译基础,arm-linux交叉编译器基础,QT界面 设计,开发板文件传输。

4.3 总体设计

4.3.1. 开发环境选定

开发的linux版本,Ubuntu10.10发行版本

附带的交叉编译器:arm-linux-gcc-2.95.3,arm-linux-gcc-2.93.3,arm-linux-gcc-3.3.2 编译内核和应用程序使用3.4.1版本的编译器,编译Qtopia使用的是3.3.2版本

qt界面处使用的是QT4 create

4.3.2操作系统的选定

选用2.26版本的linux内核进行裁剪配置得到在开发板所用的linux系统

4.3.3处理器选定

1.S3C6410:32bitARM11内核,标准工作频率400MHz

2.系统时钟:内部pll产生400MHzcpu内核工作频率,外部总线频率100-133MHz

3.LCD控制器:cpu内置STN/CSTN/TFT LCD控制器,支持1024*768分辨率以上的各种液晶。

4.触摸屏控制器:cpu内置4线制电阻式触摸屏控制器

5.100MHz以太网控制器

6.1通道5线制串口 2通道3限制串口

7.1通道USB1.1主机接口,本文转载自http://www.biyezuopin.vip/onews.asp?id=12529可接USBhub,可扩充多个USB主口

8.1通道USB1.1设备接口

9.SD/MMC卡接口

10.LCD接口,可接多种尺寸的TFT真彩液晶屏

11.专用复用电路

12.触摸屏控制电路

13.RTC实时时钟及大容量后备电池

14.标准20pin JTAG调试接口

15.4只自定义功能LED指示灯

16.电源指示灯

17.6只自定义按键

18.复位按键

19.SPI接口

20.标准的64M nand-flash

21.标准配置64M SDRAM

4.4 软硬件划分

软件使用Qt/embedded作为前台界面的主要开发环境,同时通过结合调用底层驱动程序取得硬件控制信号和数据,得到定位效果。

mySerial::mySerial(){struct termios opt;fd = open("/dev/ttyUSB0", O_RDWR);if(fd<0)printf("error");//start settcgetattr(fd, &opt);//获取与终端相关的参数,参数fd为终端的文件描述符,返回的结果保存在termios结构体中,该结构体一般包括如下的成员.//set speedtcflush(fd, TCIOFLUSH);//同时刷新收到的数据但是不读,并且刷新写入的数据但是不传送cfsetispeed(&opt, B9600);//指定输入波特率cfsetospeed(&opt, B9600);//指定输出波特率//set databitsopt.c_cflag |= CS8;//将数据位修改为8bit//set parityopt.c_cflag &= ~PARENB;//设置为无校验位//set stopbitsopt.c_cflag &= ~CSTOPB;//空格//end settcsetattr(fd, TCSANOW, &opt);//将修改后的termios数据设置到串口中tcflush(fd, TCIOFLUSH);memset(buf, 0, 200);//清空bufwrite(fd,buf,200);}void mySerial::readSerial(){read(fd, buf, 199);//从buf里面读取199个大小的字节}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。