|
错误信息:Error 200141 - data was overwritten before it could be read by the system 比较容易发生在计算机从多功能数据采集卡上的FIFO(先入先出存储器)读取采样的数据信息速度慢于数据采集存储入FIFO的速度的情况。而计算机从多功能数据采集卡上进行数据传输的最大速度取决于以下几个因素:
1. 数据传输方式
数据传输可以是中断驱动(interrupt driven)的方式也可以是直接存储器访问(DMA)的方式。直接存储器访问的方式,是相较之下更为优秀快速的推荐数据传输方式。然而在DAQmx Base 2.0中,数据传输的默认方式是中断驱动型的。而正因为它的低传输速率会影响整个采样的最高采样速率的选用,所以用户在运用DAQmx Base 2.0的驱动时,可能会遇到要求的采样率下无法完成数据传输的现象。2. FIFO的大小
运用直接存储器访问方式进行数据传输时,数据可以跳过处理器这个环节,而直接从多功能数据采集卡中将数据读取到计算机内存中,正因为环节上的节省,使得直接存储器访问提供了更大的数据吞吐能力。在简易的DAQ驱动的基准性能测试中,我们比较了直接存储器访问以及中断驱动两种数据传输方式,发现直接存储器访问的方式可以提供高于中断驱动10倍的数据传输能力。
因此如果需要获得直接存储器访问这个数据传输方式,来配合进行高采样率的数据采集任务,需要将DAQmx Base 升级到2.0以上的版本,又或者直接使用DAQ mx的新版本驱动。比如到2010年四月,先行版本的DAQmx Base是3.3而DAQmx版本是9.1
3. 数据传输总线种类现在,X系列的多功能采集卡拥有长度为127个采样点的FIFO内存,而相对应的M系列和E系列的多功能采集卡只有长度为1个或者2个采样点的FIFO内存。 因为X系列多功能采集卡拥有长度更长的内存,在相同采样率下,并不需要机器非常频繁地访问他的内存来读出数据,从而允许执行更高采样率的采样任务。
快速总线,比如PXIe或者PCIe总能提供更高的数据传输速度,相较之下,PXI和PCI总线数据传输能力稍弱而USB最弱。所以许多支持高采样率的板卡其实一个标准是配备了高数据传输能力的总线接口,保证了它们可以及时的将采集来的数据从FIFO中传送到计算机的内存上。
如果记数速率并不是该采样任务中最为关键的因素,您可以选用更低的计数器测量读取速率。
A另一个可行的方法是实行单点的计数器采样,配合计算机的轮询遍历方式来实现多点采样的效果。比较遗憾的是,选用这种方式,用户将无法确保每两次采样的时间间隔。但是优点是,这样的话用户将能因为绕开了采样数据入内存这个环节,而使得即使运用中断驱动的数据方式也能可靠的完成采样任务。
I如果高记数速率在采样任务中非常关键的参数,不容改低,选用一块拥有更大数据吞吐能力的板卡就非常重要了,选择更大板载内存以及更快数据传输总线类型的板卡,比如X系列的多功能数据采集卡,就能方便的支持更高采样速率的数据采集任务。
|