1. 前言
近年来,随着国民经济的迅速发展,人民生活水平的日益提高,各种机动车辆的数量急剧增加,同时对汽车导航系统的需求数量也急剧增加。本文采用了基于ARM9-Linux 平台的嵌入式系统作为系统的控制平台,提高系统的性能、集成度以及可扩展性;运用GPS 定位技术和先进的GPRS 无线通信技术相结合的方案,以实现车辆电子地图导航和短消息报警;通过LCD 模块的设计实现了车辆各种信息的灵活显示,丰富了人机交互界面,使得系统更加智能化。本文所研究的车载GPS 导航系统是智能交通系统(ITS,Intelligent Transportation System)的一个重要分支,对解决城市交通问题具有重要意义。
2. GPS 全球定位系统(1)
GPS(Global Positioning System)系统包括三大部分:空间部分—卫星星座、地面控制部分—地面监控系统和用户设备部分-信号接收机。GPS 全球定位系统是随着现代科学技术的发展而建立起来的一种高精度、全天候和全球性的无线电导航定位、定时的多功能系统。它利用位于距地球2 万多公里高、由24 颗人造卫星组成的卫星网,向地球源源不断的发射定位信号。地球上的任何一台GPS 接收机,只要接收到任意四颗以上的卫星信号,经过计算后,就可以得到GPS 接收机的位置(经度、纬度、高度)、时间和运动状态等信息。GPS 系统具有高精度、全天候、高效率、多功能、操作简便、应用广泛等特点。
3.系统总体设计
系统主要实现汽车导航和基于手机的车辆防盗功能。整个系统包括两大部分:一是车主手机,二是车载部分。手机部分只是一部手机,用来收发短消息。车载部分主要实现车量的定位导航功能。车载部分具有两种工作模式:第一种为“驾驶模式”,这种模式下车主自己驾驶汽车,车主可以方便的利用车载导航系统的人机交互界面进行导航;当车主需要离开自己的汽车时,按下“安全模式”键,启动第二种工作模式,启动该模式后,系统不断利用GPS定位技术,判断车辆的当前位置是否发生变化。如果有人偷盗车辆,驾驶汽车后汽车位置发生变化,此时系统发现汽车位置的经纬度发生变化后,系统将通过GPRS 网络实时地向车主发送短消息报告汽车当前所在位置。
4.系统硬件设计
本系统的硬件主要由主控模块和扩展模块两大部分组成,其中扩展模块主要包括GPS模块、LCD 模块和GPRS 模块系统硬件的结构框图如图1 所示:
4.1 主控模块设计(2)
主控模块设计是硬件设计的核心,其主要包括电源电路、时钟电路、复位电路、存储模块电路、JTAG 接口电路、串行口电路、LCD 接口、SPI 接口以及按键电路的设计。本文的处理器采用三星公司的S3C2410,主控模块通过串行口、SPI 接口、LCD 接口与扩展模块相连接构成整个硬件系统。
4.2 GPS 模块选用
GPS 模块主要完成GPS 定位信息的接收和处理。选用的就是GARMIN 公司的GPS25-LVC 接收机。GPS25 的OEM 接口信号如表1 所示:
4.3 GPRS 模块选用
GPRS 模块可以用来进行无线通信,包括语音通信、收发短信息以及无线上网等。本系统选用MC35,主要使用其来完成短消息的功能。其硬件连接如图2 所示:
5.软件设计
车载导航系统的硬件为基本功能和扩展功能的实现奠定了牢固的基础,软件系统的设计,就是要充分利用硬件平台提供的资源,实现业务流程的有序运行,是整个系统设计的重要组成部分。软件部分的设计主要有(3):
(1)建立交叉编译环境;(2)BootLoader 的移植;(3)Linux 操作系统包括驱动的移植; (4)GPS 定位模块程序设计; (5) GPRS 通信模块程序设计;(6) 显示界面设计,本文基于MiniGUI实现了上述界面的设计;
5.1 GPS 模块软件设计
GPS 模块主要完成车辆位置信息的采集、处理与存储。由于GPS 采用串行口通信,所以本文在串行口通信的基础上实现了对GPS 数据的接收、处理和存储。该模块软件设计的基本思想是这样的:首先接收完整的NMEA0183 语句,然后提取相关的数据,如时间、经纬度、速度等,再将这些数据送去显示或者发送出去,并且保存以便日后查看。
本文系统选用GPS25-LVC 串口1 输出的NMEA0183 语句。格式如:$GPRMC,082 004,A,3990.347 2,N,11 953.099 0 E,000.0,000.0 130 807 002.5,W*71,表示目前的时间是07 年08 月13 日8 点20 分04 秒(这是UTC 时间,不是本地时间,两者大约相差8 小时),位置是北纬39 度90.347 2 分、东经119 度53.099 0 分,速度为O。
5.2 GPRS 无线通信模块的软件设计
在对MC35模块的软件控制中,主要使用的是标准V.25 ter AT命令,为系统开发中所使用到的相关AT命令如表2所示(4)。
AT命令的具体的执行过程如下:
AT
OK
AT +CSCA = +8613800773500\ r
OK
AT +CMGF = 1 \ r
OK
AT +CMGS = + 861348137…\ r
> Your car is being stolen! \x1A
+CMGS: 206
OK
在运行报警功能时,待执行完以上步骤后,报警短消息即发出,车主手机将接收到一条短信,其内容为“Your car is being stolen!”。然后,MC35模块在MCU的控制下去相应存储区中实时读取当前的地理位置,以短消息的形式不断报告给车主,以帮助车主和警方追缴车辆。
5.3界面显示的软件设计(5)
嵌入式应用的开发是在宿主机(如PC机)上完成的,在宿主机上调试运行嵌入式应用,再将嵌入式应用编译链接成可在目标平台上运行的二进制目标代码。由于用到了MiniGUI库,所以要将MiniGUI库编译链接成可在目标平台上运行的二进制目标代码库。当一个MiniGUI应用被部署到目标平台上并可靠运行时,开发过程才结束。定位信息界面显示通过GPS接收的车辆的位置等信息,再通过扩展电子地图以便更直观地显示这些信息。图3描述了基于
MiniGUI的软件开发流程:
6.总结
本文作者创新点:1)在ARM-Linux平台上设计实现了车载导航功能,该系统具有成本低、功耗低、处理性能高、稳定性好等特点。2)这种平台便于系统的软硬件升级。