作 者:黄春晖,许凯华
(11)地磁变化方向,为E或W
3.2定位信息系统设计流程
JP7-T手册中提示该GPS的NMEA要使用的波特率为4800,所以,在软件中可以将串口波特率设置成4800定值。
(1)时间转换
GPS接收到的时间是UTC制时间,故应将它转换为北京时间。其核心算法为:hour+8;year+2000;设计时,如hour大于24,则dav+1,hour-24;接着根据月份和是否闰年来判断day处理后是否有相应月份要相继处理;然后根据处理后的月份判断年份是否要相继处理等等。需要注意的是:不要忘记判断平年和闰年。
(2)WGS-84经纬度单位转换
本设计选用的电子地图采用的是WGS84坐标系,而GPS测量得到的是WGS-84中的地心空间直角坐标系下的数据,所以,不用坐标转换。但由于GPS接收到的经纬度是以度和分为单位的,而我们日常生活中都是以度为计量单位,所以要进行单位转换。单位转换的算法(以纬度为例)是将接收到的纬度格式(ddmm.mmmm)除以100,以得到dd.mmmmmm,然后再调用modf函数分离出度和分,最后将分乘100并除以60,从而将分化成度。
(3)速度单位转换
本GPS获得的速度是以knot为单位的。而通常除了航海采用knot单位之外,陆空一般都是采用km/h为单位(1knot=1.8519km/h),所以,设计时还要将获得的速度乘以该单位转换参数。
本系统的软件设计流程图如图6所示。
3.3测试
软件编写完后,应先在PC机上用gcc编译,编译过程一般没有什么大问题。然后,可以将做好的GPS接收机通过串口接在PC机上进行软件和硬件的调试。本设计的GPS机经过连续几天运行都没有什么问题,非常稳定。但是,做这个demo板的最终目的是为设计一款基于ARM9处理器的手持机。所以,笔者又将该软件交叉编译。采用的编译器是3.3.2版本的arm-linux-gcc。为了验证测试板和软件在嵌入式系统下的可行性,笔者还将其与广州Friendly-arm生产的S3C2410实验箱相连并进行了测试。测试结果十分稳定,定位非常精确。
4结束语
设计本硬件和软件的主要目的是为一款手持导航仪的GPS选型作准备的。结果表明,选用该型号的GPS和本软件设计的系统十分稳定.定位快,热启动条件下首次定位只要8s;冷启动时。首次定位时间也只要45s,定位精度为10m,是目前民用GPS中精度较高的了;而且可以在不影响功能的条件下设计出外观精美的产品。设计的软件可以将GPS定位信息通过GPS接收机完整接收,而且灵活性较大。如果换用其它坐标系的电子地图,则可以在描点前一步加坐标系转换模块。所处理的数据对于高层决策且有重要作用,可广泛用于导航、轨迹回放、中心车辆监控与调度等