微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > USB数据采集技术

USB数据采集技术

时间:06-10 来源:互联网 点击:
作者:Serges Lemo,NI全球数据采集产品市场工程师

简介

近几年来,USB已经从用于鼠标、键盘和其它电脑配件的简单低速外设总线,发展为一种能够满足高要求应用方案的总线选择,这其中就包括了数据采集 (data acquisition,简称DAQ)应用。一份最近由Sensors杂志做的网上调查显示,相比于其它总线,工程师们更倾向于在他们的下一个数据采集应 用中使用USB总线。

随着USB总线的广泛应用,许多数据采集公司都开始致力于缩小USB与诸如PCI和PXI等嵌入式DAQ设备间的性能差距。NI公司刚刚发布的 CompactDAQ平台就是一个例证。CompactDAQ平台采用模块化的设计,使得工程师们可以灵活地选择不同的模块来构建他们的测试系统,并满足 他们的测试需求。通过将高速USB标准、全新半导体技术,以及NI灵活、高效的软件平台和专利的信号流技术相结合,CompactDAQ平台不但具有卓越 的性能,并且简单易用,使其成为便携式测试和控制应用的理想选择。

在评价USB数据采集设备性能的时候,需要着重考虑两种主要的性能表现:一是把采集到的大量缓冲数据传输到PC机的存储器中的能力,二是对于较低速 物理过程实施单点控制的能力。下文将主要阐述NI的专利技术如何达到这些性能要求,并且还将给出应用实例来介绍如何发挥新型NI CompactDAQ平台在高性能和易用性方面的优势。

信号流技术(Signal-streaming Technology)

NI公司专利的信号流技术通过下列方法,来满足上述两项任务的性能要求:

l  把部分驱动程序下移到设备级,以尽可能减少USB总线上的控制通信流量。
l  在设备内部实现数据采集和USB总线两部分间的DMA传输,以确保主机可以随时调用所需数据。

这种新型的信号流技术最大限度地改善了USB总线的总吞吐量,并且优化了设备对应用程序的响应灵敏度。

USB构架和传输机制:

为了更好的理解这项技术,这里有必要来回顾一下USB总线的传输机制。图1给出了数据采集设备中,USB数据传输的相关部件的高层示意图。


图表1:使用USB电缆来简化电脑与设备间的数据传输

在USB通信中,数据传输总是由USB主机端(由图1结构中的PC机所表示)发起的。应用软件(如NI LabVIEW和NI-DAQmx等)通过将输入/输出请求包(I/O request packets,IRP)排队来请求自设备端的数据传输。这些请求被传递给USB驱动程序,后者把他们分成包。这些包被传递给USB主控制器,由其发送给 设备。USB主控制器是用于控制PC机的USB总线通信的硬件。每传输一个包,就要在PC机与设备间进行一次交互。图2显示了USB输入和输出交互实例。


图2 USB主机端通过输入令牌后接数据和握手包来发起交互

在每次交互中,主控制器以令牌包为开始发起数据传输。这个令牌包提供了目标设备的地址、数据的流向和设备上特定的数据源地址。这个特定的数据源被称 为USB终端。在数据采集设备中,USB终端包括模拟信号输入、模拟信号输出和数字信号输入。在令牌包后面,如果数据是可用的,那么设备会响应并发送数据 包,最后主机发送一个握手包来结束交互。

当交互由于传输错误、数据无法获取或者设备没有准备好而失败时,主机会把此次交互重新安排到下一个可用的时间段。这些重新安排要尽量减到最小限度, 因为他们可能会造成严重的数据传输延时。NI公司的信号流技术在设备的数据采集和USB总线部分之间实现了高速数据通道,将这些重试的发生次数减小到最低 限度。

信号流综述

按照惯例来说,设备上的控制器负责处理数据采集或者输入/输出端部分与USB接口间的数据传输。这种传统的中断驱动式方法会导致了主要的延时,并且 会降低响应灵敏性和设备性能。NI公司的信号流技术使用设备上连接USB接口和数据采集接口的DMA通道来进行传输,以取代传统的方法(如图3所示)。


图3 每一个数据采集I/O端口的DMA通道都会以高吞吐量与USB接口终端间进行数据收发

图中的每个数据采集I/O端口的DMA通道都表示一个特定的数据采集功能(例如模拟信号输入),并且被映射为USB接口相对应的终端上。通过这种映 射,每一个DAQ I/O端口通道直接从对应的USB终端缓存收发数据流,而不涉及与控制器的交互。这种传输机制保证了一旦数据有效,会立即在USB总线 上得到收发,同时设备对于主机端的数据请求响应数量会达到最大限度。

根据USB协议,USB终端是独立进行工作的,所以在设备上实现的DMA映射,实际上就是在USB 总线上为设备上的6条高速信号通道提供不同的数 据采集功能。利用这项技术的设备,诸如NI公司M系列多功能USB数据采集设备,可以在USB总线上获得高达16MS/s的吞吐量。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top