基于ARM处理器的GPS移动设备设计

发布者:SerendipityRose最新更新时间:2014-01-07 来源: eefocus关键字:GPS  WindowsCE  移动设备 手机看文章 扫描二维码
随时随地手机看文章
    引言

  GPS即全球定位系统,由美国从上世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位的能力。近年来随着GPS的不断改进,硬、软件的不断完善,应用领域正在不断展开,目前已遍及国民经济各种部门,并开始逐步深入人们的日常生活。如何设计一个带有GPS功能的移动设备,实现对GPS卫星数据的接收和解码,已经是现在CPS应用的热点。

  1 开发平台

  1.1 软件平台

  为适应大多数Windows用户的使用习惯,我们设定移动设备运行环境为嵌入式操作系统Windows CE 5.0(简称WinCE 5.0),开发过程在Windows XP操作系统下进行。开发软件为Visual Studio 2005(简称VS2005),编程语言为C++。VS2005是Windows操作系统下的一套完整的开发工具,用于生成ASP Web应用程序、XML Web services、桌面应用程序和移动应用程序。通过使用这些工具和.NETFramework精简版(.NET Framework的子集),可以在个人数字助理(PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在.NET Framework精简版上运行的应用程序。

  1.2 硬件平台

  1.2.1 嵌入式开发板

  由于设定移动设备使用的运行环境为WINCE 5.0,过程中需要处理大量的数据,所以对开发板要求较高。目前WinCE 5.0支持的处理器主要有ARM、X86、PowerPC、MIPS等,其中ARM是近年来在嵌入式系统中很有影响力的微处理器架构,在同等处理器主频下,ARM内核的芯片面积最小,功耗最低,价格也最低廉,在性能、技术指标、软件支持工具、内置调试工具和开发资料等方面都有优势。考虑到本系统移动终端的体积、功耗、成本等因素,最后决定选用ARM内核的处理器,开发板为光嵌公司的GEC2440,主要参数如表l所示。

 

  1.2.2 GPS接收模块

  GPS接收模块负责接收GPS射频信号,将信号下变频和解调,输出标准的串口信号供处理器进行下一步处理。本设计中用到的GPS接收模块为Levave公司的GPS-R36-AT模块,性能参数如表2所示。该接收模块主要包含基带芯片和射频芯片,采用了SIRF III模块,整合片状陶瓷芯片,无需外加天线,接收C/A码卫星信号,输出的信号为NMEA0183协议数据,通过串口与主设备进行通信。

 

  2 整体设计

  设计主要依照GPS数据信号的流向来进行。GPS数据信号通过串口读入到开发板主程序,然后经过对数据信号进行解码获得当前位置的经纬度信息,再在经纬度数据库中查询获得当前位置的地名,整个过程由触摸屏进行显示,并通过触摸屏完成人机交互。[page]

  2.1 串口驱动

  Microsoft eMbedded Tools封装了Windows API函数,便于Windows CE应用程序的开发。在Windows CE中,所有的设备都被看成是文件。串口通信可以像访问普通文件那样通过API通信函数来实现,系统的虚拟驱动程序负责执行特定的工作。在Windows CE下串行端口被视为用于打开、关闭、读写串行端口的常规可安装的流设备,是串行设备接口的常规I/O驱动程序调用和与通信相关的具体函数的结合。Windows CE的通信函数和其它大多数Windows的通信函数相似,值得注意的是,Windows CE不支持直接对串行端口的寄存器进行编程。

  2.1.1 打开和关闭串口

  CreateFile函数用于打开串行口。m_hDSComm=CreateFile(_T("COM2:")),GENER2IC_READ|GENER IC_WR ITE,0,NULL,OPEN_EXISTIN-G,0,NULL)。注意COM2后面要有一个冒号。第三个参数dwShareMode也必须为O,通信端口不能像文件一样被共享。最后一个参数dwFlagsAnd-Attributes必须为0,因为Windows CE只支持非重叠I/O。这个函数的返回值是已打开的串行端口的句柄或者是INVALLD_HANDLE_VALUE。关闭串口可以调用CloseHandle(m_hDSComm)。

  2.1.2 串口参数设置

  串口设置主要是用DCB构配置端口设置,包括波特率、停止位、数据位长度、校验位、流量控制和超时值等等。首先打开串行端口,用GetCommState函数获得当前打开的串口配置,然后根据需要修改DCB成员,最后用SetCommState函数设置新的串口配置。

  2.1.3 设置缓冲区大小和超时

  对串口来说,必须设置超时值,否则程序可能陷入到一个循环来等待来自串口的字符。这对采用WindowsCE的设备来说,将大大减少设备电池的使用时间,所以超时值是必须配置的。另外一种解决办法就是采用多线程。通常,配置超时值和配置串口类似。首先用GetCommTi-meouts函数获得当前串口的超时值,然后修改COM2MTIMEOUTS成员,最后用SetCommTimeouts函数设定超时值。

  2.1.4 读写串口

  利用ReadFile和WriteFile函数读写串口。需要注意的是Windows CE不支持重叠I/O,所以如果在主线程进行大量读写串口操作时,有可能使整个程序陷入缓慢的串口等待中去,因此一般都采用多线程来进行读写串口操作。

  2.2 GPS数据处理

  GPS数据处理模块的设计方案如图1所示。GPS接收模块通过串口2将定位数据(NMEA0183 Ver2.0)传给开发板,然后应用程序对数据进行处理。在VS2005中,直接利用串口通信方法将定位数据读入,接着进行定位数据的分类,并提取出所需要的信息,同时将这些有用的信息传给主应用程序,主应用程序再将GPS接收模块的控制信息整理成NEMA0183 VER2.0语句。

 

  2.3 信号接收与处理

  GPS接收到位置信号后,系统将对GPS的定位信息进行分解并提取出有用数据。GPS信号接收和处理的过程是:通过串口2将GPS输出的数据传递给开发板,开发板主程序获得目标当前的位置(经纬度坐标),将接收机获得的GPS数据进行分解,从中得到目标当前的位置和格林威治时间(该时间加上8小时即为我国标准时间),再将当前位置在经纬度数据库查询,获得当前的具体地点名。

  经纬度随着开发板的移动是不断变化的,在控件显示时要设定一个TIMER来更新值,本程序设置的是1s,如果在实际应用中移动速度非常快的话可以把TIMER更新值设得更小。

  2.4 人机界面设计

  系统采用三星TFT显示屏,分辨率为420×272。人机界面基本功能包括串口选择控件、波特率选择控件、经纬度显示框、地点显示框、“搜星”按钮、“地点查询”按钮、文本框等,具体交互界面设计如图2所示。串口和波特率两个控件为串口选择和波特率的选择,其中串口选择控件提供串口l和串口2进行选择;波特率控件提供有三种设置,分别为4800、9600、19200。“搜星”按钮为打开对应串口,开始从GPS接收模块接收数据。“地点查询”按钮用来显示当地的实际地点名,当搜到星后,按这个按钮,通过查询经纬度数据库,就可以查到对应地名。最下面的文本框显示原始的数据流。

  3 操作系统移植

  WinCE 5.0操作系统的移植主要是基于硬件平台进行BSP开发。BSP是基于WinCE 5.0平台系统的主要部分,它主要由一些源文件和二进制文件组成,又称主板支持软件包,它是一个主要由包含启动程序(bootloader)、OEM适配层程序(OAL)相关硬件设备的驱动程序的软件包,另外还可以把上层的应用也放到BSP中。在BSP内部,通过OAL链接到系统核心,而驱动程序和系统配置文件是与OAL层相互关联来完成驱动设备和配置系统的功能。在BSP外部,我们可以看到一个建立在硬件平台上的主板支持包。在开发过程中可以利用开发板运营商提供的BSP包进行操作系统的定制,定制完成后固化到Nandflash中。

  4 测试

  因为开发板的串口2直接与GPS接收模块的串口相连,所以串口设置选择串口2。波特率应与GPS接收模块匹配,设置为4800。GPS模块为上电即启动,并且不能关闭,所以点击“搜星”按钮即可接收数据。启动“搜星”按钮后1min左右,就能显示正确的经纬度。点击“地点查询”按钮,能正确显示地点信息。最下面的文本框可以显示原始的数据流。测试时实拍的照片如图2所示。

 

  5 总结

  文章以VS2005为软件平台,利用基于ARM处理器的WinCE 5.0嵌入式开发平台和GPS接收模块,通过合理使用串口通信,实现了GPS数据信号的接收与解码,并利用触摸屏进行显示,已基本具备GPS移动设备的雏形。

关键字:GPS  WindowsCE  移动设备 引用地址:基于ARM处理器的GPS移动设备设计

上一篇:嵌入式Linux技术在工业控制网络中的应用
下一篇:嵌入式系统中LCD驱动的实现原理

推荐阅读最新更新时间:2024-03-16 13:33

面向手持移动设备的触摸传感技术
面向手持移动设备的触摸传感技术 智能手机等新型消费电子产品使得触摸屏开始风靡,触摸传感器提供方便的控制方式,几乎可用于控制任何类型的设备。 触摸传感控制器目前提供一些通用的性能选项和形态,如滑块和邻近传感器。触摸传感器技术的进步使传感器驱动型接口更易于实现,对终端用户更为直观和简单。 大多数触摸传感控制器依据所检测到的电容变化来工作(见图1)——当某种物体或某个人接近或触摸传感器的导电金属片时,手指与金属片之间的电容发生变化。导电物体(如手指)在传感器附近移动将改变电容传感器的电场线并使电容发生变化。控制电路可测出电容的变化。 工业应用系统从多年前开始就使用这种电容检测技术来测量液位、湿度和材料成份。这种从这些应用发
[模拟电子]
面向手持<font color='red'>移动设备</font>的触摸传感技术
Garmin推出DriveSmart GPS导航仪 显示屏更大、操作更简单
10月13日,佳明旗下Garmin® International宣布推出全新便携式车载GPS导航仪系列:Garmin DriveSmart™ 66、76和86,旨在提高驾驶员的操作简易性和自由度。通过清晰的6、7或8英寸高清显示屏,Garmin DriveSmart系列可使驾驶员看得更清楚,从而找到最佳路线。此外,8英寸显示器版本也可以轻松安装于横向或纵向模式,以显示更多前方道路。凭借详细的北美地图,这些多功能导航仪可以为家庭周末出行规划道路,同是也可以凭借免提呼叫、驾驶员提醒和内置Garmin语音助手等功能使平日通勤更加轻松。 (图片来源:Garmin) Garmin全球消费者销售副总裁Dan Bartel表示:“由于
[汽车电子]
Garmin推出DriveSmart <font color='red'>GPS</font>导航仪 显示屏更大、操作更简单
用于移动设备的新式充电解决方案【ST-Ericsson】
Geneva, Switzerland, Feb 10, 2011 - (ACN Newswire) - ST-Ericsson 日前推出了一款电源管理解决方案,可显著降低移动设备通过墙壁插座的充电时间。此项创新是 ST-Ericsson 全新的 PowerHUB(TM) 产品系列的组成部分,该产品系列还可通过各种资源获取能源,从而让人们能够快速地为其移动设备充电,同时降低温室气体排放。 借助体积小巧、高性价比的 PM2300,可使用 3 安培(而不是标准的 1.5 安培)的充电器,由此充电时间减少了 50%。此外,在充电模式下,该产品还允许移动设备在密集使用的同时进行充电。预计将于 2011 年秋季推出首个配备 PM2
[电源管理]
基于GPS授时及时钟细分的管线破坏定位
1 引言 管道运输业具有成本低、节省能源、安全性高、传送距离长及供给稳定等优点。在运输液体、气体和浆液等方面具有独特的优势,尤其在石油、化工、天然气及城市供水等产业中有着不可替代的作用。我国管道建设在近二十年得到了快速的发展,并且在十一五发展规划中明确提出还要建设四大油气管道。 随着管龄的增长,由于自然损坏造成的泄漏变得日益严重,特别是在各大采油作业区及广远的输油气管路上,人为破坏偷盗现象时有发生。管道泄漏不仅会影响管道输送的正常进行,造成重大经济损失,而且当输送有毒害、腐蚀性、易燃易爆的介质时,还会污染环境,引起火灾爆炸事故。因此,对管道泄漏的检测及破坏点定位具有极为重要的现实意义 。 引发管道泄漏事故的种种原因中,人为
[嵌入式]
通过移动设备从云端控制工业机器人
 波士顿的创业公司Tend最近发布了第一款基于云的机器人远程控制软件,用户可以通过这个产品从移动设备监视和控制多个机器人。下面就随工业控制小编一起来了解一下相关内容吧。 Tend是一家年轻的创业公司,总部位于波士顿。Tend推出的这款云软件产品与硬件平台无关,它主要用于连接自动化机器人产品,并允许用户从移动设备远程控制、监控和分析任何机器人。 这个软件被命名为Tend in.control (智能控制),它允许用户使用一个简单的移动设备安全地与生产线的机器人进行交互。软件的仪表板提供了一个实时查看到机器具体工作状况的界面。如果你需要停止或启动机器人,不管在任何地方都可以通过智能手机远程完成。 出于安全的顾虑,很多人并不愿意接受基
[工业控制]
三大企业合作,共推车辆厘米级高精度定位技术
现代汽车、Hexagon 公司定位智能部、法雷奥与一家主流移动网络运营商在 2020 年 CES 上展示了一项新技术。该系统采用专有厘米级精度的高精度定位(HPP)技术,进一步增强车辆的先进主动安全技术,能够在路上精确定位车辆的准确位置。 在 CES 展上,HPP 技术在全新的 2020 款现代索纳塔车型上进行展示。HPP 技术结合了蜂窝网络和车辆上使用的标准化技术,因而可以迅速进行部署: 1、移动运营商的网络已经有数据传输通道; 2、得益于 Hexagon 集团,已成为定位基础设施一部分的固定接收器和 TerraStar X 校正技术已经就位; 3、法雷奥公司研发了远程信息控制装置,能够跟踪车辆,并确保车辆数据传输的安全性;
[嵌入式]
三大企业合作,共推车辆厘米级高精度定位技术
A6_A7 GPS模块的51单片机例程
1.准备一个STC89C52最小系统板 2.烧录代码(先烧录代码后接线,防止接线后下载不了代码) 3.给模块供电,给模块开机 4.接线: STC89C52 A6&A7 GND - GND TXD/P3.1- U_RXD RXD/P3.0- U_TXD 单片机源程序如下: /********************************************************************* 作者:神秘藏宝室 本例程仅适用于在本店购买模块的用户使用,鄙视其它店铺的盗用行为 版权所有,盗版必究!!! A6模块链接
[单片机]
城际通Carve版智能语音导航系统问世
      虎年的喜气还未散去,隆隆的炮竹声此起彼伏,国内GPS行业先锋城际通迎着喜庆发布2010版智能导航系统--城际通Carve版智能语音导航系统。 城际通Carve版智能语音导航系统界面   城际通Carve版智能语音导航系统采用浮雕式背景,拥有超强的立体感,道路级别层次感鲜明,易于区分主辅道路,道路的颜色以紫色为主视觉清晰而不失尊贵,主干道路凸出呈现立体视觉感,小路凹陷展现雕刻感,从本质上颠覆传统的城际通导航设计模式。   城际通Carve版导航系统的操作方式也发生了质的变化,相比较早版本更加趋于人性化,进入导航后搭眼一看便知如何查找目的地和线路规划,同时城际通也把"周边查找"放在了主界面,易于用户操作查
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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