基于GPRS网络的GPS图形导航仪(下)
3系统软件设计
在整个GPS导航系统中,全套软件系统由用户软件、导航仪底层驱动软件和服务器端控制软件组成。这里,以导航仪底层驱动软件来说明整个系统的软件是如何设计和运作的。
整个导航仪底层驱动软件划分成若干个模块,由主模块和多个子模块组成。这里,使用了实时嵌入式系统μC/OS-II,其优点是功能强大,对系统资源的占用要求小,实时响应,而且可以很轻松地实现多个任务的调度。这里,将所有的子程序设置成不同的任务,如下:
①OSTaskCreate(SystemInit,(void*)0,(OS_STK*)SystemInit[OSTaskStkSiz],4);
//整个系统的初始化,作为第一个任务,包括对CPU、GPRS、GPS以及LCD的初始化工作
②OSTaskCreate(GPS_Get_Data,(void*)0,(OS_STK*)GPS[OSTaskStkSiz],5);
//将从GPS模块读取定位信息作为第二个任务
③OSTaskCreate(GPRS_Send_Data,(void*)0,(OS_STK*)GPRS_S[OSTaskStkSiz],6);
//设置通过GPRS模块向指定的网络服务器发送数据作为一个任务
④OSTaskCreate(GPRS_Get_Data,(void*)0,(OS_STK*)GPRS_R[OSTaskStkSiz],7);
//设置通过GPRS模块从指定的网络服务器接收数据作为另外一个任务
⑤OSTaskCreate(LCD_Draw,(void*)0,(OS_STK*)LCD[OSTaskStkSiz],8);
//驱动TFTLCD让其显示对应当前地理位置区域的地图部分,作为整个显示部分的任务
⑥OSTaskCreate(Flash_Drive,(void*)0,(OS_STK*)LCD[OSTaskStkSiz],9);
//驱动Flash存储体来读取对应地理位置信息的地图部分,从而为LCD显示部分作好准备
完成整个系统软件的模块化设计后,通过调用OSStart()函数让整个系统运行起来。从以上的软件组成说明,可以了解整个系统软件的工作流程如下:
①CPU通过GPS模块获得当前的地理位置信息。
②CPU利用刚才所获得的GPS定位信息,可以从Flash存储体中获得对应当前区域的地图部分,然后通过驱动TFT彩色液晶屏将其显示出来。
③如需要,CPU通过GPRS模块拨号连接上Internet后,将其所获得的定位信息发送到指定的网络服务器上,或接收从服务器上发过来的数据。
④接收到服务器的控制命令后,返回响应并采取相应措施,如停止GPS数据的接收,改变导航终端通过GPRS网络向服务器发送数据的周期等。
最终搭建成的导航系统如图3所示。
图3 本文引用地址:http://www.amcfsurvey.com/article/201706/350917.htm |
结语
在本套导航系统中,其核心设计与以往传统的GPSGSM定位系统有着很大的区别。首先,利用GPRS无线网络来传输数据与以往通过GSM网络发送短信的方式相比,无论是运营成本,还是可靠性都得到了极大的改善,尤其是其运营成本,相比起传统的GPS-GSM定位系统下降了2个数量级。其次,本导航系统中良好的可视化效果为用户提供了相当优秀的导航界面,相比起来,市面上传统的GPS定位系统仅仅显示了当前的GPS定位的数据,当前的周边地理状况则无法良好地提供给用户;而本套导航系统,控制核心采用的高性能的基于ARM7内核的微控制器,因而无论是性能还是可升级性方面,都比起使用传统的8位单片机作为控制核心有着相当大的优势。目前,随着人们对GPS导航技术的要求一步步的提升,以及GPRS网络在国内的高速普及,我们相信以这两者相结合的新一代导航技术将会获得极大的成功。
参考文献
[1]曹军.基于GPRS实现桥梁检测远程数据传输,森林工程,2006(2).
[2]毕危危.基于GPRS和DGPS的车辆管理系统,北京交通大学学报,2006(2).
[3]Motorola.G20_AT_Commands,2005-04-06.
[4]UBlox.ApplicationforTIMLHGPSmodule,2005-03.
[5]张勤,李家权.GPS测量原理及应用.北京:科学出版社,2005-07.
[6]徐爱钧.IAREWARM嵌入式系统编程与实践.北京:北京航空航天大学出版社,2006.
[7]李平均.基于GPRS网络的单片机的Internet接入.微电子学与计算机,2006(3)
评论