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)这种平台便于系统的软硬件升级。