基于usb的数据采集系统及其数据采集的方法

文档序号:6377438阅读:268来源:国知局
专利名称:基于usb的数据采集系统及其数据采集的方法
技术领域
本发明涉及计算机领域,尤其涉及一种USB数据采集系统及其数据采集的方法。
背景技术
随着嵌入式微处理器、微控制器的发展,各种控制接口与总线方式呈现多样化,而各种接口标准、总线协议随着嵌入式应用场合的不同,自身各有优缺点。同时,嵌入式控制系统与操控计算机之间的交互方式也越来越呈现统一化的趋势,从原来的串口、并口、1394接口,到现在越来越多的采用USB接口与计算机、或者其他设备之间进行通信,其中USB转串口就是以USB接口代替其他传统接口的典型做法。通用串行异步通信接口(UART,简称串口或者COM 口)是一种较早使用的串行接口。在嵌入式开发平台(如单片机、ARM、FPGA、DSP等),由于串口开发简单方便,很多设备仍然使用串口与计算机通信。但是随着USB通信接口应用越来越广泛,串口在普通计算机 上的配置及应用正逐渐退出历史舞台。为了实现使用串口的嵌入式系统设备与操控计算机或其他等效设备之间的通信,在计算机端需要做的事情是USB接口转串口。USB是一种总线接口,可以连接不同的设备,也可以模拟一个设备。USB接口转串口的实现方式有两种一、用户自定义USB串口设备,开发驱动模块,由驱动模块生成串口。这种方式需要用户设计开发驱动模块,虽然灵活性较强,但是增加了应用难度;二、使用USB协议中的通信设备类(Communication Device Class, Q)C)中的抽象控制模型(Abstract Control Model)子类中的通用 AT 命令(Common AT Commands)协议,可以增加一个虚拟串口设备。这种方式不需要用户自己开发驱动模块,只需要提供安装驱动的inf文件模块即可,但是灵活性不强,使用受限。无论采用何种方式,USB接口转串口的实质都是基于USB协议来实现串口的功能,并且USB协议对串口的功能进行了完整的诠释,至于其通信数据、物理接口是否采用串口形式,是无关紧要的。将USB转串口的计算机软件、驱动程序与通信数据链路、物理接口剥离,并在硬件上实现通信数据与物理接口的替换,将其代替为其他通信总线接口形式,即可实现各种接口与USB接口之间的转换。在工业控制、仪器设备等领域,出现了简易USB接口的逻辑分析仪、USB接口转SPI接口、USB接口转RS485接口、USB接口转CAN接口等实现方法。现有方案大部分不是基于USB转串口的驱动结构来实现的,而是针对特定的接口进行协议转换,计算机端重新开发相应的USB驱动程序与软件。开发成本较高,通用性、灵活性差,不能进行二次开发,而且主要采用USB1. I全速(Full Speed)接口,传输速度受到限制,难以适用于高速大量实时数据采集的应用场合。

发明内容
有鉴于此,有必要提供一种通用的基于USB的数据采集系统及其数据采集的方法,来解决高速大量实时数据采集的问题。
本发明提供的基于USB的数据采集系统,包括计算机、数据传输装置以及数据采集设备。其中,所述计算机对所述数据传输装置进行枚举,通过USB将所述数据传输装置虚拟成串口设备,对虚拟串口设备进行驱动;所述数据采集设备采集数据信息,并将所述数据信息以硬件信号的形式发送至所述数据传输装置;所述数据传输装置包括总线/接口模块、总线/接口控制模块、数据提取与交换模块以及USB模块,其中,总线/接口模块接收所述硬件信号;总线/接口控制模块根据总线/接口协议对硬件信号进行解析,以获取所述数据信息;数据提取与交换模块提取所述总线/接口控制模块中的数据信息,缓存后将所述数据信息封装为USB数据包;以及USB模块将所述USB数据包发送到所述计算机,其中,所述计算机还用于接收所述USB数据包,完成数据采集。
本发明提供的基于USB的数据采集的方法,用于计算机通过数据传输装置为数据采集设备采集数据信息,包括以下步骤所述计算机对所述数据传输装置进行枚举,并将所述数据传输装置虚拟成串口设备,对虚拟的串口设备进行驱动;所述数据传输装置初始化,并对总线/接口进行配置与管理;所述计算机发送数据采集指令,启动所述数据采集设备进行数据采集;所述数据采集设备执行数据采集,并将采集到的数据信息以硬件信号的形式发送到所述数据传输装置;所述数据传输装置接收所述硬件信号,并根据总线/接口协议对所述硬件信号进行解析,以获取所述数据信息,对所述数据信息进行缓存,并封装为 USB数据包,发送所述USB数据包至所述计算机;所述计算机接收所述USB数据包,解析数据信息,采集完成。
本发明实施方式中的基于USB的数据采集系统及其数据采集的方法利用计算机的USB虚拟串口技术将数据传输装置虚拟成串口设备进行操作与控制,数据传输装置对数据采集设备所采集的数据信息进行提取、交换以及数据传输,从而实现了嵌入式控制领域各种总线或接口协议与USB接口之间的转换。


图I为本发明一实施方式中基于USB的数据采集系统图2为图I中206的模块图3为本发明一实施方式中基于USB的数据采集的方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不能理解为对本发明的限制。
请参阅图1,图I所示为本发明一实施方式中基于USB的数据采集系统图。
在本实施方式中,基于USB的数据采集系统包括计算机10、数据传输装置20以及数据采集设备30。在本实施方式中,数据采集设备30带有某一种总线或接口,总线的形式包括CAN总线、以太网,接口的形式包括UART、QEI、SPI、SSI、I2C、高速MCI等。在本实施方式中,所述计算机10用于对数据传输装置20进行枚举并将数据传输装置20虚拟成串口设备,对虚拟的串口设备进行驱动。在本实 施方式中,所述计算机10采用USB协议自带的CDC类设备驱动的方式实现虚拟串口设备的驱动。在本实施方式中,所述计算机10还可采用自定义的USB转串口设备的方式实现虚拟串口设备的驱动。所述数据采集设备30,用于采集数据信息,并将所述数据信息以硬件信号的形式发送至所述数据传输装置20。在本实施方式中,数据采集设备30利用总线或者是接口与数据传输装置20之间进行通信和数据传输,数据信息通过总线或接口后转换为相应的硬件信号。所述数据传输装置20包括总线/接口模块202、总线/接口控制模块204、数据提取与交换模块206以及USB模块208。在本实施方式中,总线/接口模块202用于接收所述数据采集设备30发送的硬件信号。总线/接口控制模块204用于根据特定的总线/接口协议对硬件信号进行解析,以获取所述数据信息。在本实施方式中,总线的形式包括CAN总线、以太网,接口的形式包括UART、QEI、SPI、SSI、I2C、高速MCI等,硬件信号的形式包括RS232、RS485、CAN差分信号、以太网信号等,总线/接口控制模块实现总线、接口等串行数据与并行数据之间的转换。数据提取与交换模块206用于提取所述总线/接口控制模块中的数据信息,经缓存后将所述数据信息封装为USB数据包。请参阅图2,图2所示为图I中206的模块图,在本实施方式中,所述数据提取与交换模块206包括数据提取子模块2062、数据缓存子模块2064、封装子模块2066。数据提取子模块2062用于提取所述总线/接口控制模块204中的数据信息。数据缓存子模块2064用于对所述数据提取子模块2062获得的数据信息进行缓存。封装子模块2066用于在所述数据缓存子模块2064中的数据信息达到一定数据包长(不超过USB协议规定的最大数据包长)时,将所述数据信息封装为USB数据包。USB模块208用于将所述USB数据包发送到所述计算机10,其中,所述计算机10还用于接收所述USB数据包,解析数据信息,完成数据采集。在本实施方式中,计算机10对数据传输装置20进行控制与通信时,USB模块208还用于将数据传输装置20的USB协议CDC类规定的枚举信息发送给计算机10,实现计算机对USB设备的枚举。通过数据传输装置20,建立计算机10与数据采集设备30之间进行数据交换的通道。请参阅图3,图3所示为本发明一实施方式中基于USB的数据采集的方法的流程图。本实施方式中基于USB的数据采集的方法,用于计算机10通过数据传输装置20为数据采集设备30采集数据信息,其中,数据采集设备30带有总线或接口,总线的形式包括CAN总线、以太网,接口的形式包括UART、QEI、SPI、SSI、I2C、高速MCI等。包括以下步骤
在步骤S100,所述计算机10对数据传输装置20进行枚举,并将数据传输装置20 虚拟成串口设备,并对虚拟串口设备进行驱动。在本实施方式中,所述计算机10采用USB 协议自带的CDC类设备驱动的方式实现虚拟串口设备的驱动。在本发明其他实施方式中, 所述计算机10还可采用自定义的USB转串口设备的方式实现虚拟串口设备的驱动。
在本实施方式中,数据传输装置20将USB协议CDC类规定的枚举信息发送给计算机10,实现计算机对USB设备的枚举,建立计算机10与数据采集设备30之间进行数据交换的通道。
在步骤S102,所述数据传输装置20初始化,并对总线/接口进行配置与管理。
在步骤S104,所述计算机10发送数据采集指令,启动所述数据采集设备30进行数据米集。
在步骤S105,所述传输装置20接收控制指令,并使相应的总线/接口控制模块 204开始工作。
在步骤S106,所述数据采集设备30执行数据采集。
在步骤S108,所述数据采集设备30将采集到的数据信息以硬件信号的形式发送到所述数据传输装置20。在本实施方式中,数据采集设备30利用总线或者是接口与数据传输装置20之间进行通信和数据传输,当数据信息通过总线或接口后转换为相应的硬件信号。
在步骤S110,所述数据传输装置20接收所述硬件信号。
在步骤S112,所述数据传输装置20根据总线/接口协议解析所述硬件信号,以获取所述数据信息。在本实施方式中,总线的形式包括CAN总线、以太网,接口的形式包括 UART、QEI、SPI、SSI、I2C、高速MCI等,硬件信号的形式包括RS232、RS485、CAN差分信号、以太网信号等,所述数据传输装置20实现总线、接口等串行数据与并行数据之间的转换。
在步骤S114,所述数据传输装置20对所述数据信息进行缓存。
在步骤SI 16,所述数据传输装置20将所述数据信息封装为USB数据包。在本实施方式中,所述数据传输装置10所缓存的所述数据信息达到USB协议规定的最大数据包长后才将所述数据信息封装为USB数据包。
在步骤S118,所述数据传输装置20发送所述USB数据包至所述计算机10。
在步骤S120,所述计算机10接收所述USB数据包,解析数据信息,采集完成。
本发明实施方式中的基于USB的数据采集系统及其数据采集的方法利用计算机 10的USB虚拟串口技术将数据传输装置20虚拟成串口设备来进行操作与控制,数据传输装置20对数据采集设备30所采集的数据信息进行提取、交换以及数据传输,从而实现了嵌入式控制领域各种总线或接口协议与USB接口之间的转换。
虽然本发明参照当前的较佳实施方式进行了描述,但本领域的技术人员应能理解,上述较佳实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。
权利要求
1.一种基于USB的数据采集系统,包括计算机、数据传输装置以及数据采集设备,其特征在于所述计算机,用于对所述数据传输装置进行枚举,通过USB接口将所述数据传输装置虚拟成串口设备,对虚拟串口设备进行驱动,通过虚拟串口对数据采集和传输装置进行控制;所述数据采集设备,用于采集数据信息,并将所述数据信息以硬件信号的形式发送至所述数据传输装置;所述数据传输装置包括总线/接口模块,用于接收所述硬件信号;总线/接口控制模块,用于根据总线/接口协议对硬件信号进行解析,以获取所述数据信息;数据提取与交换模块,用于提取所述总线/接口控制模块中的数据信息,缓存后将所述数据信息封装为USB数据包;以及USB模块,用于将所述USB数据包发送到所述计算机,其中,所述计算机还用于接收所述USB数据包,解析数据信息,完成数据采集。
2.如权利要求I所述的基于USB的数据采集系统,其特征在于,所述数据提取与交换模块包括数据提取子模块,用于提取所述总线/接口控制模块中的数据信息;数据缓存子模块,用于对所述数据提取子模块获得的数据信息进行缓存;以及封装子模块,用于在所述数据缓存子模块中的数据信息达到一定数据包长(不超过USB协议规定的最大数据包长)时,将所述数据信息封装为USB数据包。
3.如权利要求I所述的基于USB的数据采集系统,其特征在于,所述计算机采用USB协议自带的CDC类设备驱动的方式实现虚拟串口设备的驱动。
4.如权利要求I所述的基于USB的数据采集系统,其特征在于,所述计算机采用自定义的USB转串口设备的方式实现虚拟串口设备的驱动。
5.一种基于USB的数据采集的方法,用于计算机通过数据传输装置为数据采集设备采集数据信息,其特征在于,包括以下步骤所述计算机对所述数据传输装置进行枚举,并将所述数据传输装置虚拟成串口设备,对虚拟的串口设备进行驱动,并通过虚拟串口对数据传输装置进行控制与通信;所述数据传输装置初始化,并对总线/接口进行配置与管理;所述计算机通过虚拟的串口设备发送数据采集指令,启动所述数据采集设备进行数据米集;所述数据采集设备执行数据采集,并将采集到的数据信息以硬件信号的形式发送到所述数据传输装置;所述数据传输装置接收所述硬件信号,并根据特定的总线/接口协议对所述硬件信号进行解析,以获取所述数据信息,对所述数据信息进行缓存,并封装为USB数据包,发送所述USB数据包至所述计算机;所述计算机接收所述USB数据包,解析数据信息,采集完成。
6.如权利要求5所述的方法,其特征在于,所述数据传输装置对所述数据信息进行缓存,直到所述数据信息达到一定数据包长(不超过USB协议规定的最大数据包长)后才将所述数据信息封装为USB数据包。
7.如权利要求5所述的方法,其特征在于,所述计算机采用USB协议自带的CDC类设备驱动的方式实现虚拟串口设备的驱动。
8.如权利要求5所述的方法,其特征在于,所述计算机采用自定义的USB转串口设备的方式实现虚拟串口设备的驱动。
全文摘要
一种基于USB的数据采集系统,包括计算机、数据传输装置以及数据采集设备,其中,计算机对数据传输装置进行枚举,通过USB接口将数据传输装置虚拟成串口设备,并对虚拟的串口设备进行驱动。数据传输装置用于传输数据采集设备所采集的数据信息,并将数据信息封装为USB数据包,并通过数据传输装置发送至计算机,完成数据采集。本发明利用计算机USB虚拟串口技术将数据传输装置虚拟成一个串口设备,通过虚拟串口对数据传输装置进行控制与通信,以便完成数据信息的采集,实现了嵌入式控制领域各种总线或接口协议与USB接口之间的转换,具有广泛的适用性。
文档编号G06F17/40GK102930064SQ201210352060
公开日2013年2月13日 申请日期2012年9月20日 优先权日2012年9月20日
发明者周哲, 蒯多杰, 陈奭 申请人:苏州生物医学工程技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1