提起车载GPS导航系统的设计大家在熟悉不过了,被越来越多的人所熟知,那你知道车载GPS导航系统的设计吗?快和小编一起去了解一下吧!
(资料图片仅供参考)
本设计在系统终端采用了ARM处理器和嵌入式操作系统μC/OS-II作为开发平台,通过采用ARM处理器可达到最大为60MHz的CPU操作频率,使得数据处理能力大大加强,同时,基于嵌入式操作系统μC/OS-II开发设计的软件具备了很强的扩展性和稳定性。
系统结构
1 功能简介
该车载GPS导航系统由GPS系统获得当时所在的位置的经纬度,通过换算和地图匹配在地图上得到当时的实际位置,然后由用户输入目的地,通过A*最短路径算法计算最短路径并在矢量地图上显示,同时提取GPS提供的速度、时间等信息并显示在屏幕上。
2 系统硬件结构
该系统的硬件核心是意法半导体ARM7系列中的16/32位RISC处理器STR710FZ2T6芯片,该芯片拥有丰富的外设和增强的I/O功能,能满足低功耗、高性能的嵌入式系统应用,还拥有可以寻址4个存储器段的外部存储器接口(EMI),支持SRAM、Flash和ROM等多种存储器类型,同时支持多种启动方式。它非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点设计的。系统框图如图1所示。
图1 硬件框图
系统以STR710FZ2T6微处理器为核心,采用2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR Flash(SST39LF160)。外部添加了用于接收GPS信号的GPS模块、用于显示的液晶面板以及键盘输入模块。
①RS-232串行通信接口电路
在本文的设计中,该系统与外界采用RS-232串行接口进行数据传输,其电路如图2所示。STR710FZ2T6具有全双工的串行通信接口,通过它与GPS模块实现数据通信,并采用MAX3232芯片实现RS-232电平与TTL电平之间的转换。
图2 串行通信电路
SP3232E是Sipex公司生产的一种RS232接口芯片,使用单一电源电压供电,电源电压在3.0~5.5V范围内都可以正常工作,其额定电流为300μA。只需外接四个0.1μF的电容,保证数据传输速率在120Kb/s下保持RS232输出电平,可以很方便地完成TTL电平与RS232电平之间的转换。
②USB接口电路
为了以后开发USB功能先将USB口设置出来,接口电路如图3所示。
图3 USB接口电路
3 ARM控制模块
嵌入式开发的硬件平台的选择主要是嵌入式处理器的选择,在一个系统中使用什么样的嵌入式处理器内核主要取决于应用的领域、用户的需求、成本、开发的难易程度等因素。确定了使用哪种嵌入式处理器内核以后,接下来就是结合实际情况,考虑系统外围设备的需求情况,选择一款合适的处理器。在本设计中,数据处理和控制模块是车载端的核心控制部件,它是一个基于ARM微处理器的嵌入式系统,它的主要功能是进行数据处理和控制车载端的各组成部分,并按照通信协议的要求,执行相应的操作。该系统包括CPU存储器、I/O接口以及各种控制逻辑电路等。结合目前民用车辆的实际情况,选取了STR710FZ2T6微处理器,它采用高性能的32位结构,具有高密度的16位指令集和低功耗的特点,将处理器内核与片内高速存储器和多项外围功能结合在一片微处理器上,为大量的计算机嵌入式控制应用提供了灵活的低成本的解决方案。
4 GPS模块
系统采用的GPS模块通过异步串行通信方式与微处理器控制模块进行通信。在硬件连接上 只需连接两个信号线 TXD、RXD和地线即可进行数据传输。
串行通信采用较高的通信电压±5~±15V,常采用±10V和±12V,而且为负逻辑电平,即逻辑0电平规定为+5~+15V,逻辑1电平规定为-15~-5V,因此标准串行接口与TTL/CMOS电平之间必须经过电平转换。
在设计中,串行通信接口采用美信公司的MAX232作为转换芯片。MAX232可以转换两组串行信号,在本设计中只转换一组,TXD2与RXD2和外设GPS连接,MCU_RXD与MCU_TXD和ARM处理器连接。MAX232芯片外接的四个lμF的充电电容,芯片外接5V电压即可工作。
图4 显示模块
5 显示模块
本设计中采用TG160128液晶显示模块,用直接访问方式。将内置6963控制器的液晶显示模块直接与STR710FZ2T6的P0和P2口相连。显示模块的读和写由ARM的读写操作信号控制。然后再向Frame Buffer输出接收到的并经过处理的导航信息。这时显示屏上就可以显示定位点精确的经度、纬度及本地时间了,具体电路如图4所示。
软件设计
1 软件数据设计
导航软件中的数据主要是导航地图的空间数据,主要由与导航需求相关的一些信息组成,包括道路网几何形状、道路等级和服务设施等。
2 软件系统设计
导航软件是以导航数据库为数据基础的。针对导航数据库的操作行为,从功能上将导航软件分为具有导航功能的部分和具有浏览功能的部分。
3 软件界面设计
如前所述,从大的功能上导航软件分为具有浏览功能的部分和具有导航功能的部分。因此也设计了两种不同的界面:浏览界面和导航界面。
图6 线程图
4 嵌入式软件设计
该嵌入式系统采用μC/OSII操作系统,由于MCU的处理功能有限,所以在具体的软件实现过程中采用多线程技术,如图6所示。