本文介绍了一种利用ARM9开发板和GPS模块实现GPS导航功能的终端机的软硬件结构和设计方法。
1 GPS导航系统结构
本文所介绍的GPS全球定位导航系统按功能可分为嵌入式主控模块、GPS模块、显示模块、扩展模块及供电模块等五大部分。
嵌入式主控模块基于S3C2440处理器,主要负责对GPS导航模块数据的响应、处理和控制。在硬件上,主控模块就是一个嵌入式开发板,包括触摸LCD接口电路、SD卡接口电路、FLASH、SDRAM等。而在软件上,主控模块上应当运行嵌入式Linux系统。而嵌入式Linux操作系统的主要作用是管理程序模块进程并调度进程等。
GPS模块主要用于接收导航卫星数据,并以特定的格式发送给主控模块。显示模块可选用3.5寸TFT带触摸屏LCD,主要用于与用户进行交互。扩展模块主要指的是SD卡。供电模块主要为系统正常工作提供电源。图1所示是该系统的结构图。
2 GPS数据的提取
GR-87型GPS模块的输出语句遵循NMEA-0183标准。该标准的语句都是以“$”开始,以结束。 “$”之后是5字符地址,头两个字符为发送者识别码(GPS为“GP”),后3位为语句名称。定位信息中的数据由“,”来划分。GPS模块一般每秒可以输出一次NMEA-0183格式语句。在导航系统中,一般只需要用到时间、日期、经纬度、速度。而由于RMC语句完整包含了系统所需的上述信息,因此。只需要对RMC语句进行提取即可。图2所示是对GPS数据进行提取的具体流程。
3 导航地图的实现
在获得了经纬度等定位信息之后,还需要将它们直观的显示在电子地图或其它显示媒体上,这样才能真正起到导航的作用。要想将其准确的显示在电子地图上,就需要用一定的算法进行转化,即地图匹配算法。[page]
一般来说,地图匹配的基本思路是通过车辆的GPS轨迹与地图上矢量化的路段对象进行匹配,从而寻找当前所行进的道路,并将当前的GPS定位点投影到道路上。
地图匹配的关键是确定匹配点,设计时可以用投影法来寻找匹配点。投影法的基本思路是依据点到直线的距离来确定最小的值为投影的匹配点,并用最邻近法进行处理,然后通过设置阈值来滤掉错误匹配点,得到初步结果,从而完成点到线的匹配。
具体的实现方法是先预处理道路层,再将道路转换为折线段,找到当前道路,然后把当前定位点投影到道路上,再找到离定位点最近的公路图层中的一条线段,之后再计算得到点到线上距离最短的点,最后查找各层中在误差范围之内的道路。
其算法的基本流程代码如下:
导航地图的实现可以采用嵌入式图形界面工具Qt embedded来实现。该图形界面为人机交互界面,用户可以通过屏幕来了解导航信息,也可以直接操作触摸屏来操作系统,如地图的缩放、查看定位信息等。
4 结束语
由于ARM处理器具有低功耗、高性能等特点,因此可以广泛用于各种便携式电子产品中。本设计在现有的电子产品基础上,通过外接GPS模块来扩展GPS导航功能,可为用户在节省费用的同时又不损失太多的便携性。为此,作者希望使用ARM开发板和GPS模块相结合来实现GPS导航功能的方法,可以为智能设备扩展GPS功能提供一个参考。
关键字:S3C2440 GPS 导航终端机
引用地址:
基于S3C2440的GPS导航终端机的设计
推荐阅读最新更新时间:2024-03-16 13:04
1.9.4_ADC和触摸屏_S3C2440触摸屏接口_P
从上节内容可以知道,检测触摸屏按下和计算触点坐标是通过S1到S5五个开关来完成的,通过控制五个开关在不同时候的关断与闭合就可以得到触点的XY坐标。 通过2440的芯片手册来查看触摸屏是怎么工作的。 首先,通过8:1的多路选择器我们可以选择控制哪路通道。 然后是触摸屏的接口模式: 正常转换模式。用于常规的ADC转换,通过设置ADCCON来初始化ADC,通过读写ADCDAT0来完成转换。 分离的X/Y转换模式。逐个测量X/Y坐标,X坐标保存在ADCDAT0,并且会产生中断,Y坐标保存在ADCDAT1中,同样也会产生一个中断。 自动的X/Y转换模式。不需要单独的读取X/Y坐标,可以一次性的测量X/Y坐标然后一起读取,只需
[单片机]
S3C2440-RTC
实时时钟(RTC)的主要功能是在系统掉电的情况下,利用后备电源使时钟继续运行,从而不会丢失时间信息。 s3c2440内部集成了RTC模块,而且用起来也十分简单。其内部的寄存器BCDSEC,BCDMIN,BCDHOUR,BCDDAY,BCDDATE,BCDMON和BCDYEAR分别存储了当前的秒,分,小时,星期,日,月和年,表示时间的数值都是BCD码。这些寄存器的内容可读可写,并且只有在寄存器RTCCON的第0位为1时才能进行读写操作。为了防止误操作,当不进行读写时,要把该位清零。当读取这些寄存器时,能够获知当前的时间;当写入这些寄存器时,能够改变当前的时间。另外需要注意的是,因为有所谓的 一秒误差 ,因此当读取到的秒为0时,需要
[单片机]
S3C2440 UART串口驱动1
1.1 UART 串口 通用异步接收器和发送器(Universal Asynchronous Receiver and Transmitter) 简称UART。通常是嵌入式设备中默认都会配置的通信接口。这是因为,很多嵌入式设备没有显示屏,无法获得嵌入式设备实时数据信息,通过UART串口和超级终端相连,打印嵌入式设备输出信息。并且在对嵌入式系统进行跟踪和调试时,UART串口了是必要的通信手段。比如:网络路由器,交换机等都要通过串口来进行配置。UART串口还是许多硬件数据输出的主要接口,如GPS接收器就是通过UART串口输出GPS接收数据的。 1.1.1 异步通信和同步通信 图2-56同步信号与异步信号 同步通信
[单片机]
linux-2.6.26内核移植到S3C2440平台
备知识: Linux支持多种平台架构。在其源码的arch目录下,已经将各种支持的平台架构的源码分门别类。为了配置方便,在各种平台架构的目录下,一般都配有一个名为configs的目录。其中,放置着许多已经初步配置好的defconfig文件。通过这些defconfig文件,加快了我们配置内核的速度。 比如我所用的是一个arm架构的s3c2440板,那我就可以从arch/arm/configs/中找到s3c2410_defconfig,这是目前最匹配2440的一个默认配置文件了。使用: $ make s3c2410_defconfig 或 $ cp arch/arm/configs/s3c2410_defconfig ./.
[单片机]
ARM9_S3C2440学习(五)norflash启动,nandflash启动,SDRAM总结
S3C2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动。 nand flash:适合大容量数据存储,类似硬盘; nor flash:适合小容量的程序或数据存储,类似小硬盘; sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。 Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor
[单片机]
专业级车载导航仪 八款市场低端GPS大搜索
通货膨胀 如何选择
春节长假期间如果细心的朋友会发现,眼下“柴”“米”“油”“盐”等物价比去年略有提高,从中我们也能感觉到通货膨胀问题已经开始逐步涉及到人们身边,但是作为小市民的我们只能面对现实,可是为了生活,只能从矬子里面拔将军。尽量去购买一些经济实惠又好用的东西,毕竟我们改变不了现状,只能去想办法适应现状。
CPI指示上涨3个百分点
买菜都开始记账了
我们的日常生活如此,对于国内GPS市场同样如此,随着消费理念的变化,经济实惠的低端导航产品再次凭借亲民的价格实用的导航性能成为众人手中的宠儿。可是在诸多低端导航机型中消费者又要怎么去选择呢?下面笔者就为大家推荐几款低端实用的导航机型,如果您恰好想要
[汽车电子]
S3C2440 体系结构图
ARM bank: Arm State 寄存器: Thumb State 寄存器: CPRS 寄存器: 模式控制 M0-M4: PC 值计算: 大小端: 中断向量:
[单片机]
u-blox 第六代 GPS平台升级并增加多项新功能
最新固件升级将使u-blox客户受益匪浅 u-blox 6的最新升级能使客户在不增加成本的情况下立即受益,同时强化 u-blox 的竞争力 2011 年 7 月 13 日北京讯——u-blox 宣布对其最新的第六代GPS接收机 u-blox 6 平台进行升级。此次升级使客户能够使用更多的新功能,并享受到灵敏度提升、功耗大幅降低、抗干扰性增强、干扰检测及更短的首次定位时间(TTFF)等诸多好处。 加之许多其他的创新功能,u-blox 6 率先步入市场上最先进的GPS接收机技术行列。 最为重要的是,新固件使改进后的跟踪灵敏度达到-162dBm,提升了捕获与重捕获灵敏度,使 u-blox 6 成为市场上灵敏度最高的接收
[汽车电子]