首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM9与Win CE系统的车辆GPS定位信息采集
来源:本站整理  作者:佚名  2011-04-08 09:32:13




   
3.5 串口接收的实现
    完成GPS定位信息的采集,需要实现的串口主要的API函数包括:
    1)打开串口函数。原型为Open(LPT OpenPort(LPCTSTRPort,int BaudRate,int DataBits,int StopBits,int Parity)。其中,Port代表串口名,如COMl等,BaudRate为波特率,DataBits为数据位;StopBits为停止位,Parity为奇偶校验。
    2)关闭串口函数。该函数在程序操作串口发生错误时使用,用于关闭该串口。实现的主要方法是:先判断串口操作句柄hComm的值是否为INVALID_HANDLE_VALUE,如果是,则调用SetCommMask(),将上述代码段中的EV_RXCHAR改为0,然后清除缓冲区,再利用CloseHandle函数关闭串行口操作句柄。
    3)添加打开串口单击事件代码,通过创建一个串口接收线程和显示线程来实现。
    4)串口接收线程CommRecvTread()与回调函数OnCommRecv()。串口接收线程为一个无限循环,它不断查询串口接收线程退出事件m_Exit-ThreadEvent。如果退出事件有效,则该循环结束退出。如果调用读串口函数查询得知接收到数据,则调用串口接收成功回调函数0nCommRecv()。

4 实验数据及分析
    设置好串口参数后,打开串口COMl,既可获取实验数据。图7为在某型军车上一次实测的数据。实测数据界面拍摄的时间为2009年11月10日晚上9点45分,地点为某训练场。数据在静止的状态下测得。该定位显示的数据包括“原始数据”和解析后“经纬度、时间、海拔”等信息。通过分析图7(a)界面的数据发现,$GPGSV语句有两条,而在“星数”对应的Edit框中显示的定位所用卫星数为8,由于每一条GPGSV最多能显示4颗卫星的信息,故$GPGSV语句为两条。这说明星数与$GPGSV语句数是吻合的。而获取有效的GPS定位信息,至少需要4颗定位卫星。这也说明此次数据是有效的定位数据。

    该界面显示的经纬度信息分别为N:38°3.6788’,E:114°29.1765’;其中,N代表北纬,E代表东经。而用GoolgeEarth软件查阅数据可知,石家庄军械学院南门的精确经度/纬度信息为:北纬38°3.1650’,东经114°29.0046’,军械学院西门的精确经度/纬度信息为:北纬38°3.394O’,东经114°28.5432’。通过与二者的经纬度信息比对发现,界面实时显示的精度和纬度信息非常精确。通过实
时比对标准的北京时间,说明时间和日期信息显示也完全正确。
    速度信息在静止情况下测得,故理想的速度为0 k/s。而实际测得数据分别为0.060 00 k/s,前文已论述,1 k/s换算成标准的速度信息约0.514 444 m/s,故测得的速度误差分别约为O.030 867 m/s。可以看出,测量的速度误差相对而言是很小的。
    界面显示的海拔信息为:68.800 00 m。而通过石家庄市规划局提供的资料可知:石家庄市区二环路内地势西北高,海拔高度为81.5 m,东南低,海拔高度为64.3 m。测得的海拔高度还是存在微小的误差。这可能跟接收的GPS信号的漂移有关。从图7(b)部分的卫星视图可以看出,卫星与观测点的方位关系能清晰的表示,而且卫星的编号也能实时显示,从上到下依次分别为:23、17、3、4、19、20、32、11。

5 结论
    GPS定位为单点定位,用一台接收机观测卫星,独立定出观测点在WGS-84(地心坐标)中的绝对位置。系统以ARM9为嵌入式微处理器,以WindowsCE为嵌入式操作系统,通过串行口实现GPS接收机与ARM之间的通信,构建了某型军车的GPS定位信息采集系统。实验表明:该系统能实时显示精度较高、持久有效的GPS定位数据,具有重要的实用价值和参考意义。
 

上一页  [1] [2] [3] [4] 

关键词:

·上一文章:机械制动辅助系统(BA)
·下一文章:AUTOSAR CAN诊断实现

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:212,578.10000 毫秒