近几年来,USB已经从用于鼠标、键盘和其它电脑配件的简单低速外设总线,发展为一种能够满足高要求应用需要的总线选择,这其中就包括了数据采集(DAQ)应用。一份最近由Sensors杂志做的网上调查显示,相比于其它总线,工程师们更倾向于在他们的下一个数据采集应用中使用USB总线。
随着USB总线的广泛应用,许多数据采集公司都开始致力于缩小USB与诸如PCI和PXI等嵌入式DAQ设备间的性能差距。NI公司刚刚发布的CompactDAQ平台就是一个例证。CompactDAQ平台采用模块化的设计,使得工程师们可以根据自身的测试需要,灵活地选择不同的模块来构建他们自己的测试系统。通过将高速USB标准、全新的半导体技术,以及NI灵活高效的软件平台和专利的信号流技术相结合,CompactDAQ平台不但具有卓越的性能,并且简单易用,使其成为便携式测试和控制应用的理想选择。
在评价USB数据采集设备性能的时候,需要着重考虑两种主要任务的性能表现:一是把采集到的大量缓冲数据传输到PC机的存储器中的能力,二是对于较低速的物理过程实施单点控制的能力。下文将主要阐述NI的专利技术如何达到这些性能要求,并且还将给出应用实例来介绍如何发挥新型NI CompactDAQ平台在高性能和易用性方面的优势。
信号流技术
NI公司专利的信号流技术(Signal-streaming Technology)通过下列方法,来满足上述两项任务的性能要求:
1.把部分驱动任务下移到设备级,以尽可能减少USB总线上的控制通信流量。
2.在设备内部实现数据采集和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的吞吐量。
最小的采集设置时间
这项技术的另一个重要特性是它的底层软件,它智能化地把设备上的非数据型USB总线通信降低到最小。设备上有专门的电路来接收从主机发出的函数调用,并且进行系统配置操作,如写寄存器等。通过这个额外的特性,主机可以发出一个函数并且把写寄存器的操作留给设备去完成,以尽可能减少USB总线上的非数据传输。
在单点式采集应用中,采集每个点都需要大量的设置时间——比如设置控制寄存器。按照惯例,主机通过USB总线对所有的设置进行控制,这样就使得设置时间变长。现在通过这种全新的信号流技术,设备上的控制器可以通过配置设备来进行单点式数据采集,同时主机再也不需要通过从USB总线发送命令来设置每个寄存器。最近的测试表明,利用信号流技术,设备的单点式采集速率性能大幅度提高,性能可提高至1,600%。
NI公司的信号流技术对USB设备的响应速度也进行了改善。通常来说,对于点数一定的采集集合来说,比如10,000个点,在采集到10,000个点之前,用户不能访问数据的任何一个子集。利用信号流技术,设备采集到数据即可实现发送。每个信号流又配有一个标志寄存器来告诉设备需要发送多少子集采样点。当达到那个数目之后,可用的采样点被发送给主机端应用程序并且传输中止。同时,在主机端,另一项传输任务被制定以获取其余的采样点。比如,如果需要10,000个采样点,并且要求立即获取第一个采样点,那么用户可以把标志寄存器设为1,那么采集到的第一个采样点就被发送出来,并终止10,000个采样点的传输。同时,另一个传输任务被制定来获得其余的9,999个采样点。
NI公司的数据流技术同时运用软硬件以显著地改善USB总线的吞吐量和数据采集的响应速度。通过使用这种新技术,高性能、高速度的数据采集设备,如新型的USB M型和新型的NI CompactDAQ平台,能够以高达3.2MS/s的速度进行采集。
NI CompactDAQ的应用方案
作为一项通用的数据采集解决平台,NI CompactDAQ平台适用于很多类型的测试和控制应用。它具有与笔记本进行USB连接的能力和小的体积,这使得它具有优异的便携性能。同时其具有的低功耗需求、12V电池和与传感器的直接连接性,使得它非常适合于车载数据记录应用。
本田公司把这项解决方案运用于车载数据记录应用,在他们的项目中,CompactDAQ平台被用于进行车内的悬挂测试,用于记录振动、声音和车辆测量结果。此外,需要着重指出的是这项任务在测试实验室中也会经常用到; 同时因为CompactDAQ平台的便携性使得把硬件装置直接带到现场成为可能。
在完成了基于CompactDAQ平台的系统之后,美国本田研发中心的传动研发工程师Mike Dickinson这样评论:“这个系统为我们的车载数据采集方法带来了革新。通过CompactDAQ系统,我们把无数的电缆和设备转化成了一个更小、更整洁、成本更低并且更直观的组件。”
下一项应用方案,请看由哈里伯顿公司(Halliburton)的一位工程师写的用户解决方案。
利用NI公司的CompactDAQ平台开发出高度可靠且持久耐用的超声波水泥分析仪
在油气勘探工业中,水泥在钻孔过程中经常要用到,以确保钻孔后,管套被放置在正确的位置。钻好的孔通常有几千英尺深,其中非常重要的就是要监视水泥的固化速率来确保在继续钻孔之前它已经凝固了。超声波水泥分析仪(ultrasonic cement analyzer,简称UCA)通常用在现场实验室和钻探平台上,利用模拟的压力和温度环境来测试水泥浆样品,以确定样本最初的固化速率。
哈里伯顿公司的FANN仪器部门一直努力要为应用设计一个独立的UCA。传统的UCA是利用一系列连接到共用的压力源上的热压罐,把水泥固化速率的数据读回到一个独立的中央计算机上。
表1:NI公司信号流技术对于单点式采集性能的改进
我们需要一个独立式的解决方案,它要包含压力和温度源以及控制这些源的计算机,并能在一个紧凑的单元中存储记录的数据。在考虑了许多种选择后,最终我们选择了NI公司的CompactDAQ平台,来帮助开发这种新型的独立式UCA。
使用NI公司CompactDAQ设备的主要好处是它提供了现成即用的功能,因为对于工程师来说,利用现成的产品总是比闭门造车容易。我们原来的系统采用自有设计,需要很长的开发时间,并且从一台机