基于MiniGUI 的GPS 自动定位系统设计

发布者:纸扇轻摇最新更新时间:2015-08-26 来源: eechina关键字:GPS  MiniGUI  自动定位 手机看文章 扫描二维码
随时随地手机看文章
基于GPS的卫星定位技术,可以将移动目标的动态位置(包括经度和纬度)、时间、状态等信息通过无线通信链路实时传送到监控中心,从而在电子地图上显示出移动终端运动的轨迹,并对终端的位置、速度、运动方向、报警信息等用户感兴趣的参数进行监控和查询。本文提出一种基于MiniGUI的嵌入式自动定位系统,具有占用资源少、高性能、高可靠性及可配置的特点,并可以成功移植到多种硬件和操作系统平台上。

1 系统总体设计

本系统采用ARM7内核的LPC2103处理器,软件上采用占用硬件资源较少、实时性能和可移植性能优良的μC/OS-II操作系统,图形界面采用MiniGUI。

1.1 系统实现功能

系统实现主要功能包括:实时采集GPS数据并进行处理;查询当前地理位置;通过MiniGUI图形用户界面显示GPS数据。

1.2 整体硬件结构

系统整体硬件结构如图1所示。





系统采用的LPC2103是基于一个支持实时仿真的16/32位ARM?TDMI-S CPU的微处理器,带有32 KB高速Flash、8 KB SRAM,小型LQFP48封装,低功耗,带有2个URAT以及多个I/O接口,符合系统要求。GPS模块SP3232E与LPC2103的串口0接口,负责数据的采集。受LPC2103引脚数量限制,4×4的键盘采用I2C输入、输出的7920芯片与LPC2103接口。LCD显示采用TFT6758,液晶屏幕2.2 in,240×320点像素。

1.3 系统软件结构

系统软件结构如图2所示,基于MiniGUI的应用程序通过ANSI C库以及MiniGUI自身提供的API来实现自己的功能。底层驱动包括键盘以及TFT6758液晶显示,为便于移植MiniGUI通过图形抽象层和输入抽象层与输入、输出设备接口。





2 系统硬件设计

2.1 控制系统最小系统

控制系统最小系统如图3所示。





LPC2103最小系统需要模拟和数字3.3 V电源以及核心电源1.8 V。为便于波特率的设置,晶振频率采用11.059 2 MHz。PO.14引脚通过10 kΩ电阻上拉禁止 ISP功能。DBGSEL引脚接高电平使能调试状态,正常工作时接低电平。由阻容电路构成低电平复位电路,SW-PB按键按下产生处理器复位信号。

2.2 GPS接口电路

该电路主要作用是接收GPS模块发送数据,保存到处理器存储单元,处理后等待MiniGUI图形用户界面显示。GPS模块采用九针串口数据输出,RS232电平,需要 SP3232E电平转换芯片与LPC2103的串口O连接。SP3232E是3 V工作电源的RS232电平转换芯片。接口电路如图4所示。





2.3 键盘电路

本系统采用4×4小键盘,用于数据输入和模拟鼠标。S13模拟左键,S15模拟右键,S9、S10、S11、s14分别模拟向左、下、右、上移动鼠标,其余为数字输入键。由于LPC2103引脚数量限制,采用有I2C接口的7290芯片做键盘接口。键盘电路复位与系统复位共用nRST复位信号。有按键按下时,中断信号通过EINTO送入LPC2103外部中断处理单元。7290的I2C接口加4.7 kΩ的上拉电阻与LPC2103的I2C串行总线接口,I/O引脚为PO.2和PO.3。键盘电路如图5所示。





2.4 TFT6758 LCD接口电路

系统显示采用2.2 in的TFT6758液晶屏,LCD控制器为HD66781。IM3和IM0引脚接地,采用16位总线方式与LPC2103连接,16位数据由DBl~DB8、DB1O~DB17输入, TFT6758液晶屏的控制引脚CS、RS、WR、RD分别由P0.4~P0.7控制。其中PO.5高电平为数据操作,低电平为命令操作。TFT6758的复位由PO.24引脚控制。CAT32TDI为TFT6758白光LED驱动的升压芯片,可以驱动4个串联的白光LED。CAT32TDI的关闭由PO.26引脚控制。为在没有配置LPC2103引脚时也能输出背光,加10 kΩ上拉电阻。CAT32TDI为恒流输出,大小由1.5 kΩ电阻控制,电流大小为15 mA。TFT6758 LCD接口电路如图6所示。[page]





3 系统软件设计

3.1 μC/OS-II在LPC2103上的移植

与处理器无关的μC/OS-II源代码可以直接在网上下载;与处理器相关的代码需要自己根据LPC2103编写,其中OS_CPU.H定义与处理器相关的常数、宏以及类型。OS_CPU A.ASM实现的功能包括:使就绪优先级最高任务运行;任务级切换;中断后任务切换;实现周期性时钟源。OS CPU C.C主要实现任务堆栈的初始化。INCLUDES.H主头文件包含程序所需的头文件,方便程序编写。通过OS_CFG..H文件实现操作系统的配置和裁剪。

3.2 MiniGUI在LPC2103上的移植

(1)MiniGUI的GAL移植

为便于移植,MiniGUI引入图形抽象层GAL,定义了一组不依赖任何特殊硬件的抽象接口,所有顶层的图形操作建立在抽象接口上,类似于操作系统的驱动程序。根据液晶驱动模块和LPC2103的硬件连接编写液晶驱动程序lcddriver.c和lcddriver.h。根据系统硬件编写图形引擎程序commlcd.c。图形引擎程序需要调用液晶驱动程序中的函数。

(2)MiniGUI的IAL移植

MiniGUI通过INPUT数据结构表示输入引擎,该数据结构定义在ial.h文件中。INPUT数据结构定义很多函数指针,这些函数指针指向设定的IAL对应函数,从而实现硬件输入。程序输入引擎为comminput.c,通过底层键盘驱动程序comm_driver.c读取键盘输入数据。该驱动程序把16个键模拟成O~9数字键和鼠标的左右键。

(3)MiniGUI的交叉编译

使用ADSl.2集成开发环境建立MiniGUI Lib工程,工程下添加MiniGUI源文件以及配置文件,编译生成MiniGUI_Lib.a库文件。Lib.a文件是针对LPC2103和μC/OS-II操作系统的POSIX的线程库,并提供了内存管理接口以及I/O接口,共占用3 MB动态内存,使用1个μC/OS-II互斥信号量,优先级42,每增加1个线程信号量增加3个,最大线程16个,任务优先级43~58,1个MiniGUI线程堆栈(8 KB)。

3.3 系统应用程序设计

(1)主程序设计

主程序流程如图7(a)所示,用来完成操作系统的初始化。其中使用语句OSTaskCreate(Task0,(void*)O,&TaskStk[TaskStkLengh-1],10)创建任务O;使用语句MiniGUI_app_entry()创建MiniGUI主线程;使用语句KevMbox=OSMboxCreate(NULL)建立一个邮箱,用于传递按键消息,最后开始多任务调度。





(2)任务O设计

任务O流程如图7(b)所示,用来完成系统硬件的初始化。通过I2C接口的输入引擎读取按键键值,如有按键按下通过OSMboxPost(KeyMbo-x,(void*)&s_key_in)发送键值到KeyMbox邮箱。通过邮局OSTimeDly(5)交出CPU占用资源,运行其他任务。

(3)MiniGUI入口程序设计

入口程序如图7(c)所示,用来完成消息处理。使用语句InitMainWindow()初始化窗体;使用语句ShowWindow(hMainWnd,SW_SHOWNORMAL)显示窗体,其中hMainWnd为窗体句柄;使用语句GetMessage(&Msg,hMainWnd))获取消息,其中Msg数据结构用于保存消息;使用语句Trans-lateMessage(&Msg)把消息送入队列;使用语句DispatchMessage(&Msg)分配信息给窗体回调函数;使用语句MainWindowThreadCleanup(hM-ainWnd)清除线程。

(4)MiniGUI窗体回调程序设计

窗体回涮函数流程如图7(d)所示,根据消息类型确定要执行的程序。如果消息类型为MSG-PAINT,先调用GPS数据读取以及处理程序,用MiniGUI内部函数TextOut(hdc,10,10,”显示字符”),在指定位置显示字符;最后调用μC/OS-II系统函数OSTimeDly(100)开始任务调度。如果消息类型为MSG_CLOSE,用语句DestroyMainWindow(hWnd)销毁窗体;用语句PostQuitMessage(hWnd)发送退出消息。

4 GPS的自动定位系统实验

系统软件采用ADS V1.2开发、调试,使用PC机对MiniGUI源代码进行编译,生成MiniGUI静态链接库文件MiniGUI-Lib.a。然后交叉编译MiniGUI应用程序,与MiniGUI静态链接库、POSIX线程库链接,生成二进制文件下载到LPC2103的Flash运行。系统软件编译过程如图8所示。

GPS模块和LPC2103串口0连接,并放置到室外,将生成的可执行文件烧写到LPC2103的Flash内部,上电运行,运行结果如图9所示。





结语

本自动定位系统运行稳定,具有功耗低、速度快、可裁剪、可固化、实时性能优越等特点。能够准确显示经度、纬度、系统日期、时间、海拔、航向、航速等信息,并可以对所处位置进行查询。
关键字:GPS  MiniGUI  自动定位 引用地址:基于MiniGUI 的GPS 自动定位系统设计

上一篇:基于ARM单片机的汽车电动助力转向系统的研究
下一篇:如何提高STM32的学习效率

推荐阅读最新更新时间:2024-03-16 14:30

赛灵思与微软汽车业务部推出的智能车载信息系统
        根据美国交通部的一项研究,全世界人们每周在汽车上度过的交通时间超过 5 亿小时。 既然花在汽车上的时间如此之多,人们希望能够利用这些时间来享受娱乐,同心爱的人说说话,甚至完成一些通常需要在工作场所才能完成的任务。           在汽车中保持联系是人们最想实现的,这只要看一看手机的使用就可以知道。 另外,路上遭遇严重的交通堵塞,走错了路,或者遇到像汽油用完了之类的常事,都可能影响您准时到达目的地。          如何才能让驾驶者在安全驾驶的同时保持联系,并按时到达目的地呢? 巧妙的方法是通过语音命令结合互联网连接进行通信和控制。 Microsoft Telematics Platform(微软车载信息处理平台
[嵌入式]
正确测量无线通讯讯号及EMC分析
随着过去十数年无线通讯技术的快速发展与规格的不断进化,各种不同的无线技术不论是GSM、GPS、WLAN(如Wi-Fi)、Bluetooth 等都开始逐渐出现、并普及于日常生活中。无线通讯技术本身即已博大精深,而在导入至各式电子装置与应用领域时,更必须考虑到电磁干扰(Electromagnetic Interference,即一般通称的EMI)与电磁兼容(Electromagnetic Compatibility,EMC)的问题,以避免相关功能受到干扰而产生讯号劣化、影响其正常运作。然而,尽管世界各地已纷纷立法建立相关的电磁规范,关注于对电磁辐射与RF(Radio Frequency)射频的限制,但在面对不同通讯模块彼此间可能产生相互
[测试测量]
正确测量无线通讯讯号及EMC分析
PDA环境下GPS信号的接收和处理方法
摘要 阐述在WiTadows CE嵌入式系统中,利用串口实现GPS和PDA通信的方法。首先,介绍GPS信号的数据格式,并对系统的软硬件环境及串行通信进行描述。最后,设计GPS信号处理模块,详细说明如何使用嵌入式程序语言开发串口通信程序,并给出具体步骤和部分实现代码。 关键词 GPS PDA 串口通信 Windows CE 引言 3PS即全球定位系统,主要有三大组成部分——空间星座部分、地面监控部分和用户设备部分。其中(GPS空间星座部分、地面监控部分均为美国所控制;(GPS的用户设备主要由接收机硬件和处理软件组成。用户通过用户设备接收GPS卫星信号,经信号处理而获得用户位置、速度等信息,最终实现利用GPS进行导航和定位的目的。
[网络通信]
GPS设计技术难点与解决方案
车载GPS的信号漂移问题成因及对策   目前的GPS语音导航产品在进行路测的时候,当时速超过40千米的时候,信号接收或多或少会出现“漂移”。对此,周扬认为很正常,因为现有GPS静止状态下定位精度仅为5到20米,使得开车过程中出现漂移现象,车速较快时更为明显,而时间、地点、气候等都会影响GPS的定位精度。但最主要的原因还在于硬件的处理能力(特别是CPU的处理速度和GPS算法)和导航软件的便捷性方面。   对此,有网友指出,在解决该问题之前,首先要区别是软件还是硬件的问题。天气晴好时,将汽车高速行驶时检测的GPS输出信号同停止时的数据相比较,可得出“漂移”的实际数据。在问题的解决方面,他认为,GPS定位精度在现有条件下基本无法避免
[模拟电子]
手机射频测试分析与总结(一)——GPS部分
刚入行的时候手机还是以2G的feature phone为主,两三年的时间已经是3G smartphone的天下了。2G就是GSM+EDGE(就不分2.5G或者2.75G了),3G包含CDMA,WCDMA,TD-SCDMA,此外就是BT/FM这样的标配,目前FM在很多项目里已经消失了,取而代之的是WIFI,中移动更是加上了CMMB。GPS现在也是智能机的标配了。NFC是近期开始发展的一种新技术。   写此文的目的,不是罗列测试项,而是通过对于各测试项的分析和总结,让大家了解各种模块射频测试的相通之处,了解了其中任意的模块就能对其他的模块的测试做到完全的理解。就算是遇到了一种新的技术,我们可根据自己的理解去制定一个完善的TEST PL
[测试测量]
基于GSM的GPS车辆定位监控系统
  利用GPS(Global Positioning System)来作定位导航是GPS的最基本应用,随着我国城市建设规模的扩大,车辆日益增多,交通运输的经营管理和合理调度已成为一个广泛关注的问题,尤其是全球定位系统(GPS)从军用转为民用以后,GPS技术应用于移动目标的监控有着其他监控手段无法比拟的优势,所以采用GPS技术对各种车辆实施监控、调度管理是一个新的研究热点。 系统的总体结构与工作原理   基于GSM的GPS车辆定位监控系统,是对车辆管理提出的较理想解决方案。该系统采用GPS技术对移动目标进行实时定位,利用GSM数字移动通信网络进行实时数据传输,以电子地图和空间信息系统为支撑平台,实现定位跟踪、监控报警、反劫防盗、
[网络通信]
北斗精度可达毫米级 让国外万元设备降到白菜价
  有媒体报道,中国计划在今年至少发射4颗 北斗 三号全球组网卫星,这是到目前为此精度最高的 北斗 卫星,其定位精度要比原先的系统提高2至3倍,甚至媲美或超过美国的 GPS ,目标是在2020年实现 北斗 卫星导航系统覆盖全球。下面就随安防电子小编一起来了解一下相关内容吧。   中国北斗将会在轨道上组成一个卫星运行大网,保证北斗覆盖区域的定位更加稳定,具备提供米级、亚米级、分米级,厘米甚至毫米级的优异服务。如果用这种高精度应用解决约车、道路监测、无人驾驶技术应用等服务,一定能成为北斗的特色,带动整个服务产业的革命性变化。   目前,中国在北斗导航领域已具备了一定的产业基础,我国最自豪的产品是核心芯片达到了国际最先进的水平,40纳
[安防电子]
GPS技术在公路测量中的应用及前景
1 GPS技术发展现状   全球定位系统GPS(GlobalPositioningSystem)是美国陆海空三军联合研制的卫星导航系统,具有全球性、全天侯、连续性、实时性导航定位和定时功能,能为各类用户提供精密的三维坐标、速度和时间。单点导航定位与相对测地定位是GPS应用的两个方面;对常规测量而言相对测地定位是主要的应用方式。   相对测地定位是利用L1和L2载波相位观测值实现高精度测量,其原理是采用载波相位测量局域差分法:在接收机之间求一次差,在接收机和卫星观测历元之间求二次差,通过两次差分计算解算出待定基线的长度;求解整周模糊度是其关键技术,根据算法模型,设计了静态、快速静态以及RTK等作业模式。静态作业模式主要用于地壳
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved