微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 采用CompactDAQ平台提高USB数据采集应用的性能

采用CompactDAQ平台提高USB数据采集应用的性能

时间:01-17 来源:EETCHINA 点击:

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

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

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

信号流技术

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

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

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

USB架构和传输机制

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

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

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

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


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


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

信号流综述

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


图3: 每一个DAQ I/O DMA通道都会与USB接口终端进行直接数据收发,以获得高的吞吐量。

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

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

最小的采集设置时间

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

网站地图

Top