如何实现DAQ的可重触发?



硬件: Multifunction DAQ (MIO)>>M Series>>PCI-6251

问题:

我使用DAQ卡采集数据,触发方式为外部触发。我希望每次触发信号到来时,DAQ可以采集有限个数据点。



解答:
1. 首先考虑触发信号的特性,如果触发信号的频率<<100Hz,那么可以考虑采用每次触发之后进行数据采集,然后停止采集,等待下一次的触发:
需要注意的是:循环体内的处理功能越复杂,占用的时间就越多,越容易引起触发信号的丢失!)
2. 如果触发信号的频率>>100Hz,那么就要根据不同的板卡,采用不同的方式:
     a. X系列的板块本身就具有可重触发的配置(请参考:http://zone.ni.com/devzone/cda/tut/p/id/10115
     b.  一些S系列板块,板卡上面的ADC是每通道独立的,那么可以采用双通道同时持续采集,然后利用软件判断触发信号的信号边沿,根据该边沿获得自己所需要的数据。
     c.  一些板块上面有计数器,那么可以使用多功能采集板卡上的计数器来产生一个可重触发的的脉冲序列,并且用这个序列作为模拟输入的外部采样时钟。利用计数器的可重触发特性来实现对AI可重触发的功能。NI-DAQmx有一个可重触发模拟输入的例子,您可以在NI Example Finder(Help » Find Examples)下的Hardware Input and Output » DAQmx » Synchronization » Multi-function中找到这个例子。(请参考KB:AE KB 15JBOEWW: 我应该怎么实现可重触发的数据采集?)
3. 针对2.c中可能存在丢包的现象,进行如下测验:
     a. 测试环境:
         i.      待测信号:频率为0.1kHz的正弦波;
         ii.      触发信号:频率为1kHz的方波,占空比为1:1;
         iii.      采集板块:PCI-6251 (M系列板块)
         iv.      采样频率:500kSps;
         v.      每次采样点个数:100、200、500、1000个;
     b. 测试结果:
           i.      采样点数为100和200:数据看起来还是“连续的”。
           ii.      采样点为500:可以看出数据是“丢包的”
           iii.      采样点为1000:可以看出数据是“丢包的”
     因此为了不丢包,采用该方法要求“采样频率/采样点 > 触发脉冲频率”
     c.  测试程序参加附件


相关链接:

http://zone.ni.com/devzone/cda/tut/p/id/10115

http://digital.ni.com/public.nsf/allkb/12590EE7A8BE324A482571AF0031BD71?OpenDocument

 



附件:
外部触发之后进行有限点采样.vi




报告日期: 12/28/2011
最近更新: 12/28/2011
文档编号: 5SR01DFK