新闻中心

EEPW首页>物联网与传感器>设计应用> 智能车运动状态实时监测系统的设计及实现

智能车运动状态实时监测系统的设计及实现

作者:北京科技大学 艾宁 谭启寅 马文军 李宗洋 时间:2009-06-22 来源: 收藏

本文引用地址://m.amcfsurvey.com/article/95522.htm

  下位机向上位机传输的是以每20ms传输一组包涵了光电编码器值(speed),电池电压(battary),舵机转角值(angle),传感器当前状态(sensor)的数据,如果是在理想状态下,上位机接收到的应是上述各值循环出现的周期性数据,此时上位机只需将这些数据按顺序装入各自的数组并画图即可。但在实际的无线传输过程中可能出现数据丢失现象。因此加入适当的数据校验是必要的,否则会出现数据装入错误,造成画图的混乱。我们在实际过程中是在每组数据中加入0x00,0xff的帧头,当数据出现错误时,则舍弃该帧数据。

  数据的无线收发部分采用的是SUNRAY公司的QC96型无线收发模块,该模块可以收发波特率为9600的串行数据,距离可达100m。

  上位机的数据接收及处理

  上位机部份主要四个模块来构成:

  ·数据接收模块

  功能:上位机通过串口采集下位机发送的原始数据。

  实现:VC++中实现串口通信一般有二种方式,分别是MSComm控件和Windows API函数。MSComm简洁易用,适用于比较简单的系统,Windows API函数应用较广但比较复杂繁琐,由于此模块的串口通信功能相对简单,本系统采用前者。在实际过程中使用的是事件驱动的方式,这种方法响应及时,可靠性高,并且比查询法占用更少的资源。

  ·存储模块:

  功能:可直接存储采集到的原始数据,以备以后更多的分析处理。

  实现:在每个OnComm事件被触发后,将串口接收到的数据直接存入temp临时文件,并且可以在用户的要求下将temp临时文件里的值存储到指定文件。

  ·数据的分析和处理模块:

  功能:将采集到的原始数据进行用户选定的分析和处理,主要包括丢弃错误数据,以及去除帧头并进行数据装入任务,同时也可以对已保存的数据进行分析和处理。



评论


相关推荐

技术专区

关闭