本实用新属于无线通信和数据采集技术领域,具体涉及一种基于USB的无线数据采集及通信装置。
背景技术:
随着现代科学技术的发展,数据采集已广泛应用于各个领域。数据采集,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是数据采集结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。数据采集的目的是为了测量电压、电流、温度、压力或声音等物理现象。基于PC的数据采集,通过模块化硬件、应用软件和计算机的结合,进行测量。尽管数据采集系统根据不同的应用需求有不同的定义,但各个系统采集、分析和显示信息的目的却都相同。数据采集系统整合了信号、传感器、激励器、信号调理、数据采集设备和应用软件。
然而,目前的数据采集系统,在前端传感器与采集主机之间,主要以有线通信方式为主,有线方式的优点在于信号稳定,数据传输速度快,但是有线方式的缺点也是显而易见的,其布线和施工成本较高,不够简易便捷,实时性不强,扩展性不强,后期维护比较复杂。而且即使现今市场中存在一些无线数据采集装置,其数据传输处理效果也不强,出现数据的延迟,使之对现场数据的分析出现很大偏差。
技术实现要素:
本发明的目的在于提供一种基于USB的无线数据采集及通信装置其以微处理器为核心,借助于前端Zigbee星型网络的数据输入,利用串口通信以及USB接口方式进行数据通信,完成基于USB的无线数据采集及通信,实现数据的实时采集、处理及可靠快速传输。
为了解决上述技术问题,本发明提出一种基于USB的无线数据采集及通信装置,包括数据采集模块、数据处理模块、USB通信模块;所述数据采集模块采集前端Zigbee协调器汇聚的数据;所述数据处理模块驱动定时器并处理所述数据采集模块采集的数据;所述USB通信模块接收上位机下达的数据采集命令并发送数据处理模块处理后获得的数据。
进一步,所述数据采集模块与Zigbee协调器之间采用主从结构的通信串口。
进一步,前端Zigbee协调器中的收发引脚及地脚与所述数据采集模块中的通用输入/输出发收引脚及地脚对应连接。
进一步,所述数据处理模块包含定时器单元及对数据进行缓存的存储器单元。
进一步,所述USB通信模块包含USB接口及存储数据的PMA寄存器;USB通信模块与上位机以USB数据线相连并采用虚拟串口驱动USB设备。
进一步,所述USB通信模块采用USB协议中的CDC类设备驱动与上位机通信。
本实用新型与现有技术相比,其显著优点在于:本实用新型基于USB的无线数据采集及通信装置采用数据采集模块接收从Zigbee协调器处的数据信息,通过数据处理模块对数据进行处理,并通过USB接口方式连接上位机,实现无线数据采集及数据信息的分析及图像化显示。本实用新型适用于各种气象、生产、比赛等需要进行无线数据采集、分析的场合,有很大的应用前景。
附图说明
图1是本实用新型基于USB的无线数据采集及通信装置构成简图。
图2是本实用新型基于USB的无线数据采集及通信装置构成详图。
图3是本实用新型中数据采集模块工作流程图。
图4是本实用新型中数据处理模块工作流程图。
图5是本实用新型中USB通信模块工作流程图。
具体实施方式
容易理解,依据本实用新型的技术方案,在不变更本实用新型的实质精神的情况下,本领域的一般技术人员可以想象出本实用新型基于USB的无线数据采集及通信装置的多种实施方式。因此,以下具体实施方式和附图仅是对本实用新型的技术方案的示例性说明,而不应当视为本实用新型的全部或者视为对本实用新型技术方案的限制或限定。
由图1所示,本实施例以STM32F103中的Cortex M3为核心控制单元。数据采集模块与前端Zigbee协调器是以串口方式相连,Zigbee协调器中的收发引脚及地脚与所述数据采集模块中的通用输入/输出(GPIOA)的发收引脚及地脚对应连接,实现串口通信;本实用新型中的数据采集模块、数据处理模块、USB通信模块依次相连;所述数据处理模块包含定时器单元及对数据进行缓存的存储器单元;USB通信模块包含USB接口及存储数据信息的PMA寄存器;USB通信模块与上位机是以USB数据线相连并采用虚拟串口技术进行USB设备的驱动;本实用新型中的数据采集模块、数据处理模块及USB通信模块进行系统电源供电。
图2是本实用新型中数据采集模块工作流程图,用于实现从Zigbee协调器采集节点数据信息。如图2所示,工作流程包括:
2101、所述数据采集模块向Zigbee协调器发送握手请求命令。
2102、等待Zigbee协调器响应握手请求,判断接收的协调器响应是否正确,若Zigbee协调器响应正确则握手成功,则执行步骤2103,否则握手失败。
2103、所述数据采集模块向Zigbee协调器发送采集数据请求。
2104、Zigbee协调器回应请求,发送采集数据给数据采集模块,数据采集模块接收数据并放入用户自定义缓冲区。
图3是本实用新型中数据处理模块工作流程图,用于驱动定时器并处理从数据采集模块接收的数据信息。如图3所示,工作流程包括:
2201、若所述数据采集模块与Zigbee协调器握手成功,则执行步骤2202。
2202、所述数据处理模块开启定时器,驱动所述数据采集模块定时向协调器发送采集数据命令,每隔1s发送一次。
2203、所述数据采集模块接收采集数据并将采集数据放入用户自定义缓冲区。
2204、所述数据处理模块从用户自定义缓冲区读取采集数据,判断接收到的数据格式是否匹配,是否是以指定字符开头,若是则匹配成功,执行步骤2205,否则跳转到步骤2203。
2205、进行缓存,再将上述匹配成功的数据信息封装为USB数据包。但只有当所缓存的数据信息达到数据包长后才将所述数据信息封装为USB数据包。
2206、将封装好的数据包发送给USB专用寄存器,等待发送。
2207、所述数据处理模块将数据处理完毕后,则进入所述USB通信模块,进行数据通信。
图4是本实用新型中USB通信模块工作流程图,用于接收上位机下达的数据采集命令及发送数据处理模块处理的数据。如图4所示,工作流程包括:
2301、所述上位机先对本装置进行枚举,枚举成功后下达命令到STM32中的USB模块。
2302、USB模块接收上位机命令,并判断此命令是启动数据采集命令还是关闭数据采集命令。若是启动命令,则执行步骤2303,否则跳转到步骤2307。
2303、所述USB通信模块将所述上位机下达的数据采集命令一级一级传达给所述数据采集模块。
2304、所述数据采集模块应答数据采集命令,进行数据采集。
2305、所述数据采集模块将采集到的数据发送到所述数据处理模块,所述数据处理模块对数据信息进行封装处理。
2306、将封装好的USB数据包发送至USB模块,使能USB端点,将数据包发送到上位机,至此一次USB模块通信完成。若要进行下一次数据通信,则跳转到步骤2305。
2307、所述USB模块应答所述关闭命令,关闭所述数据采集模块和数据处理模块。