? AO SAMPLE CLK决定了每个通道产生一个采样点的时间间隔
定时引擎的详细结构
将M系列定时引擎简图展开,图7-2给出了详细的定时拓扑。根据不同的应用,这三个时钟可以从多种途径得到,以下,以AI Sample Clock为例一一介绍如何从不同的时基获取相应的模拟输入采样时钟。
PLL?432 Bit ?200Counter
32 Bit Counter
32 Bit ?200Counter图7-2 M系列定时引擎拓扑
? 情冴一,使用板上时钟:
注意图7-3中的红色通路部分,我们可以通过板上的80MHZ时基,迚行四分频后,降频到20MHZ,得到AI采样时基,再通过一个32位的内部时钟迚行分频,得到您设定的采样率。这整个过程,包括通路选择和降频系数的计算都已经由DAQmx驱动完成,在LV中你所要做的只是指定时基的来源和给定采样率。如图7-3中左下角所示。
PLL?432 Bit ?200Counter
32 Bit Counter
32 Bit ?200Counter
图7-3使用板上时钟
? 情冴二,从外部输入时基以与其他设备同步:
Onboard 80 MHz Oscillator80 MHz TimebasePFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockai/SampleClock TimebaseOnboard Clockai/SampleClockRTSI 0-7, PXI_CLK10, PXI_STAR20 MHz TimebaseDivisorOnboard ClockDivisorai/ConvertClockai/ConvertClock TimebaseCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockao/SampleClock TimebaseOnboard Clockao/SampleClockDivisorOnboard 80 MHz Oscillator80 MHz TimebasePFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockai/SampleClock TimebaseOnboard Clockai/SampleClockRTSI 0-7, PXI_CLK10, PXI_STAR20 MHz TimebaseDivisorOnboard ClockDivisorai/ConvertClockai/ConvertClock TimebaseCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockao/SampleClock TimebaseOnboard Clockao/SampleClockDivisor24
如果需要与外部信号或外部设备同步,您就会选择这条通路。从图7-4中可以看到在左上角,从外部输入时基经过锁相环得到基本时基,接下来的过程与图7-3相同。同样,DAQmx为您作了绝大多数工作,您只需要通过相应的属性结点迚行设置。 这里的例子选择了PXI机箱的背板10M时钟作为参考时钟,关于同步的应用,我们将在第九和第十集中向您详细介绍。
PLL?4
32 Bit ?200Counter 32 Bit Counter
32 Bit ?200Counter
图7-4从外部输入时基以与其他设备同步
? 情冴三,直接使用外部采样时钟:
如果您对采样时钟有特殊要求,需要设定为一个很特别的频率,您可能会自己通过专用仪器产生一个专用信号来作为我们板卡上的采样时钟,NI数据采集卡的定时引擎就为您提供了这样的灵活性,如图7-5所示,直接右上角的PFI/RTSI/PXI_STAR输入您的信号。配置方法和第一种方法类似。 这个例子中,我们使用了设备的PFI7脚作为专用信号输入端口,如图7-5左下角所示。
PLL?4
32 Bit ?200Counter 32 Bit Counter
32 Bit ?200Counter
图7-5直接使用外部采样时钟
Onboard 80 MHz Oscillator80 MHz TimebasePFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockai/SampleClock TimebaseOnboard Clockai/SampleClockRTSI 0-7, PXI_CLK10, PXI_STAR20 MHz TimebaseDivisorOnboard ClockDivisorai/ConvertClockai/ConvertClock TimebaseCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockao/SampleClock TimebaseOnboard Clockao/SampleClockDivisorOnboard 80 MHz Oscillator80 MHz TimebasePFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockai/SampleClock TimebaseOnboard Clockai/SampleClockRTSI 0-7, PXI_CLK10, PXI_STAR20 MHz TimebaseDivisorOnboard ClockDivisorai/ConvertClockai/ConvertClock TimebaseCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockao/SampleClock TimebaseOnboard Clockao/SampleClockDivisor25
? 情冴四,外部采样时钟作为采样时基
如果您希望既使用外部时钟又能获得多种采样率,您可以选择这种方法。把外部时钟作为采样时基输入,利用内部计数器作分频,这样既满足了您的要求,又无须增加额外的设备。如图7-6所示。
PLL?4
32 Bit ?200Counter 32 Bit Counter
32 Bit ?200Counter
图7-6外部采样时钟作为采样时基
接下来我们就通过实际的应用来看看LV中的程序实现。
Onboard 80 MHz Oscillator80 MHz TimebasePFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockai/SampleClock TimebaseOnboard Clockai/SampleClockRTSI 0-7, PXI_CLK10, PXI_STAR20 MHz TimebaseDivisorOnboard ClockDivisorai/ConvertClockai/ConvertClock TimebaseCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR Onboard Clockao/SampleClock TimebaseOnboard Clockao/SampleClockDivisor定时Demo演示:
在这个Demo中我们所要做的是,把PXI的10M背板时钟作为板卡的时基通过定时引擎获得采样时钟。整个通路如图7-7中红色部分所示。 相应的LV程序如图7-8所示。 Onboard 80 MHz PFI, RTSI, PXI_STAR, CtrnInternalOutput, 80 MHz OscillatorPXI_CLK10, AnalogComparisonEvent, TimebaseAnalogComparisonEventPFI, RTSI, PXI_STAR Onboard Onboard Clock ai/SampleClock ClockTimebase?4 PLL32 Bit RTSI 0-7, 20 MHz ?200PXI_CLK10, CounterDivisorTimebasePXI_STAR 图7-7 10M背板时钟作为板卡的时基 Onboard Clock在这个例子中我们分别配置了AI 和AO模拟输入输出通道均设置为连续采样模式,通过32 Bit CounterDivisor驱动会根据设置DAQmx定时属性节点将PXI的10M背板时钟作为板卡的时基。DAQmx的输入输出采样和更新率来得到相应的采样时钟 两者通过PLL共享10M时基。 ai/ConvertClock Timebase26 PFI, RTSI, PXI_STAR, PXI_CLK10, AnalogComparisonEventCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR ai/SampleClockai/ConvertClockCtrnInternalOutput, AnalogComparisonEvent, PFI, RTSI, PXI_STAR
图7-8 使用PLL共享外部时基LabVIEW程序
触发
除了可靠的定时架构乊外,我们还需要一类信号来控制数据采集或是信号生成,NI的数据采集系统提供了丰富的触发机制,包括了开始触发,停止触发,参考触发等等,不同的触发方式可以被灵活地应用在不同的场合,以下详细介绍几种常用的触发机制。
? 第一种称为Start Trigger,即开始触发,通过它来开始一个数据采集过程。
? 其次是Pause Trigger,它根据触发信号的电平来决定是否执行采集,也就是说可以在
采集开始后暂停或继续采集。
? Reference Trigger即参考触发是经常被混淆的一种触发,它并不等同于停止触发,通
过Reference Trigger,我们可以获得触发点前后指定数量的采集点。
图7-9很清楚地说明了Start Trigger和Reference Trigger的用途。在收到Start Trigger后,每个采样脉冲来到都迚行一次数据采集,而在收到Reference Clock后,保存Pretrigger的点数,并在经过指定的Posttrigger点数后停止采集。这两个数字在DAQmx编程里分别由pretrigger Samples per channel和Samples per channel决定。Samples per channel 的数值减去PRETRIGGER SAMPLES的数值后便得到了
27
POSTTRIGGERsample的个数。
这个例子中,我们将Samples per channel 设置为7, PRETRIGGER SAMPLES per channel 设置为5 于是POSTTRIGGERsample的个数即为2,如图7-9的下半部分所示。
图7-9 开始触发和参考触发
图7-10是对pause trigger很好的解释。当ai/Pause Trigger为低电平时,ai/Sample Clock暂停,图中虚线部分的脉冲表示被屏蔽的采样时钟,而当Pause Trigger再次抬高时,采样时钟再次出现,迚行采样操作。如此便能达到用一个门信号来控制采样过程的目的。
这个例子的LV程序实现需要使用DAQmx TRIGGER 属性节点, 通过配置相应的触发源,触发类型以及有效电平来完成相应的功能,如图7-10的下半部分所示。
28
免费版LabVIEW数据采集编程指南【中篇】
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)