From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



使用PCI-611x完成带缓冲模拟采样,为什么会少三个样点?



硬件: Wireless Sensor Network>>WSN Gateways>>NI 9792>>NI 2810>>IMAQ - CameraLink>>IMAQ-1000 PCI Camera Link I/O Extension Board>>PCI-6115

问题: 我配置PCI-611x板卡使用外部时钟完成10个样点的有限点采集,但是程序会死掉或者超时。我注意到程序通过PCI总线只获取到7个样点。为什么会丢失最后三个样点呢?

解答: 611x系列数据采集卡内置了高速模数转换器(ADC)并带有先进先出(FIFO)缓存。611x板卡*在对输入进行数字化时,使用了一个3点的模拟FIFO。虽然样点在SCAN_Start信号(内部产生,除非将scanTimebase设为0)的上升沿正确采样 ,直到经过3个额外的时钟边沿之后,NI-DAQ才能得到从模拟FIFO中出队列。因此,您可能得不到采集的最后3个点。

如果您使用内部时钟采集,NI-DAQ会额外产生3点从而完成对数据采集的定时。但是,如果您使用外部时钟采集,NI-DAQ并不知道最后一点到来的时刻,因此您需要提供额外的3个时钟脉冲。另外,因为数据样点是以2的整数倍个数从板卡到电脑进行传输的,所以仅有2的整数倍个样点可以被传输。更多信息请参考附件中链接。

例如,我们使用外部时钟完成可重触发采集。如果要采集一系列100个数据,则需要每次发送104个时钟脉冲。前100个脉冲将用于采集目标数据,最后4个样点有两个用途:1.)保证3点的模拟FIFO被填满,2.)保留一个额外的样点以方便下一次DAQmx读取。只有第一次DAQmx读取时需要设置为100个样点,所有之后的DAQmx读取都需要设置为104个样点。因为前4个样点是上次的旧数据,在软件中直接丢弃这些样点即可得到期望的数据。由于板卡每次只能传输偶数个点数据到电脑,因此使用104点而不是103点,从而保证每次采集剩下4个样点用于下一次采集的数据传输。请参考下图中的例子:

Example:

注意:NI-6115有两条传递数据的通道,数据将以4 byte(两个样点)的整数倍传输,否则在有限点采集的末尾将会有样点不被传输。



相关链接: KnowledgeBase 3NRBDARM: Why Does My 12- or 16-bit NI-DAQ Board Only Return Even Numbers of Samples When Using Continuous Analog Input Operations?
Product Manuals: NI PCI-6110/6111 Specifications (February 2004)
Product Manuals: NI 6115/6120 Specifications (September 2008)
KnowledgeBase 1EMF3GUS: PCI-6110/6111 Fails Acquire N Scans ExtChanClk.vi Example
National Instruments Data Acquisition Support Homepage

附件:





报告日期: 06/22/2001
最近更新: 10/27/2010
文档编号: 2ALH1OQO