




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑基于MiniGUI的GPS自动定位系统设计-基础电子引言
基于GPS的卫星定位技术,可以将移动目标的动态位置(包括经度和纬度)、时间、状态等信息通过无线通信链路实时传送到监控中心,从而在电子地图上显示出移动终端运动的轨迹,并对终端的位置、速度、运动方向、报警信息等用户感兴趣的参数进行监控和查询。本文提出一种基于MiniGUI的嵌入式自动定位系统,具有占用资源少、高性能、高可靠性及可配置的特点,并可以成功移植到多种硬件和操作系统平台上。
1系统总体设计
本系统采用ARM7内核的LPC2103处理器,软件上采用占用硬件资源较少、实时性能和可移植性能优良的μC/OS-II操作系统,图形界面采用MiniGUI。
1.1系统实现功能
系统实现主要功能包括:实时采集GPS数据并进行处理;查询当前地理位置;通过MiniGUI图形用户界面显示GPS数据。
1.2整体硬件结构
系统整体硬件结构如图1所示。
系统采用的LPC2103是基于一个支持实时仿真的16/32位ARM?TDMI-SCPU的微处理器,带有32KB高速Flash、8KBSRAM,小型LQFP48封装,低功耗,带有2个URAT以及多个I/O接口,符合系统要求。GPS模块SP3232E与LPC2103的串口0接口,负责数据的采集。受LPC2103引脚数量限制,4×4的键盘采用I2C输入、输出的7920芯片与LPC2103接口。LCD显示采用TFT6758,液晶屏幕2.2in,240×320点像素。
1.3系统软件结构
系统软件结构如图2所示,基于MiniGUI的应用程序通过ANSIC库以及MiniGUI自身提供的API来实现自己的功能。底层驱动包括键盘以及TFT6758液晶显示,为便于移植MiniGUI通过图形抽象层和输入抽象层与输入、输出设备接口。
2系统硬件设计
2.1控制系统系统
控制系统系统如图3所示。
LPC2103系统需要模拟和数字3.3V电源以及电源1.8V。为便于波特率的设置,晶振频率采用11.0592MHz。PO.14引脚通过10kΩ电阻上拉禁止ISP功能。DBGSEL引脚接高电平使能调试状态,正常工作时接低电平。由阻容电路构成低电平复位电路,SW-PB按键按下产生处理器复位信号。
2.2GPS接口电路
该电路主要作用是接收GPS模块发送数据,保存到处理器存储单元,处理后等待MiniGUI图形用户界面显示。GPS模块采用九针串口数据输出,RS232电平,需要SP3232E电平转换芯片与LPC2103的串口O连接。SP3232E是3V工作电源的RS232电平转换芯片。接口电路如图4所示。
2.3键盘电路
本系统采用4×4小键盘,用于数据输入和模拟鼠标。S13模拟左键,S15模拟右键,S9、S10、S11、s14分别模拟向左、下、右、上移动鼠标,其余为数字输入键。由于LPC2103引脚数量限制,采用有I2C接口的7290芯片做键盘接口。键盘电路复位与系统复位共用nRST复位信号。有按键按下时,中断信号通过EINTO送入LPC2103外部中断处理单元。7290的I2C接口加4.7kΩ的上拉电阻与LPC2103的I2C串行总线接口,I/O引脚为PO.2和PO.3。键盘电路如图5所示。
2.4TFT6758LCD接口电路
系统显示采用2.2in的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引脚时也能输出背光,加10kΩ上拉电阻。CAT32TDI为恒流输出,大小由1.5kΩ电阻控制,电流大小为15mA。TFT6758LCD接口电路如图6所示。
3系统软件设计
3.1μC/OS-II在LPC2103上的移植
与处理器无关的μC/OS-II源代码可以直接在网上;与处理器相关的代码需要自己根据LPC2103编写,其中OS_CPU.H定义与处理器相关的常数、宏以及类型。OS_CPUA.ASM实现的功能包括:使就绪优先级任务运行;任务级切换;中断后任务切换;实现周期性时钟源。OSCPUC.C主要实现任务堆栈的初始化。INCLUDES.H主头文件包含程序所需的头文件,方便程序编写。通过OS_CFG..H文件实现操作系统的配置和裁剪。
3.2MiniGUI在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集成开发环境建立MiniGUILib工程,工程下添加MiniGUI源文件以及配置文件,编译生成MiniGUI_Lib.a库文件。Lib.a文件是针对LPC2103和μC/OS-II操作系统的POSIX的线程库,并提供了内存管理接口以及I/O接口,共占用3MB动态内存,使用1个μC/OS-II互斥信号量,优先级42,每增加1个线程信号量增加3个,线程16个,任务优先级43~58,1个MiniGUI线程堆栈(8KB)。
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)发送退出消息。
4GPS的自动定位系统实验
系统软件采用ADSV1.2开发、调试,使用PC机对MiniGUI源代码进行编译,生成MiniGUI静态链接库文件MiniGUI-Lib.a。然后交叉编译MiniGUI应用程序,与MiniGUI静态链接库、POSIX线程库链接,生成二进制文件到LPC2103的Flash运行。系统软件编译过程如图8所示。
GPS模块和LPC2103串口0连接,并放置到室外,将生成的可执行文件烧写到LPC2103的Flash内部,上电运行,运行结果如图9所示。
结语
本自动定位系统运行稳定,具有功耗低、速度快、可裁剪、可固化、实时性能优越等特点。能够准确显示经度、纬度、系统日期、时间、海拔、航向、航速等信息,并可以对所处位置进行查询。
参考文献:
[1].LPC2103datasheet/datasheet/LPC2103_1134386.html.[2].RS232
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽池州市青阳县选聘县属国有企业高级管理人员工作考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025江苏泰州学院招聘专职辅导员和专任教师17人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025河南安阳市殷都区殷墟文物保护志愿者招募考前自测高频考点模拟试题及一套答案详解
- 2025黑龙江齐齐哈尔市建华区建设街道公益性岗位招聘1人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025江苏南通市公安局招聘警务辅助人员66人模拟试卷及参考答案详解
- 2025年第八届“人才·南平校园行”活动暨光泽县紧缺急需医疗人才引进考前自测高频考点模拟试题附答案详解(典型题)
- 2025河南开封国禹运营管理有限公司招聘园区转运中心工作人员10人考前自测高频考点模拟试题及参考答案详解1套
- 2025国网物资有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题及1套完整答案详解
- 2025湖南长沙高新区中心幼儿园和馨园招聘教师2人模拟试卷附答案详解(考试直接用)
- 2025陕西安康市汉阴县道路运输管理所驾驶员招聘77人笔试历年参考题库附带答案详解
- 色素痣诊疗专家共识(2025版)解读
- AI基础知识培训课件教学
- 窗帘采购项目方案投标文件(技术方案)
- 2025年高考真题-化学(湖南卷) 含答案
- 学堂在线 唐宋词鉴赏 期末考试答案
- 果树认领活动方案
- 第9课《天上有颗“南仁东星”》教学设计 2025-2026学年统编版八年级语文上册
- 心脑血管健康知识讲座
- 麻醉复苏室病人的护理查房
- 小学python竞赛试题及答案
- 下浮率合同协议
评论
0/150
提交评论