微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于MiniGUI的GPS自动定位系统设计

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

时间:08-07 来源:维库开发网 点击:

引言

  基于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电平转换芯片。

  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所示。

  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。图形引擎程序需要调用液晶驱动程序中

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top