NI-DAQmx的定时和同步特性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NI-DAQmx的定时和同步特性
目录
1. 概述
2. 为什么需要定时和同步?
3. 后台API
4. 混合模式测量
5. 同步模拟输入/输出
6. 模拟和同步
7. 信号路由选项
8. 高级功能
9. 多设备同步
10. 结论
NI-DAQmx入门指南系列旨在帮助用户了解NI-DAQmx编程的基础知识。
从使用Measurement & Automation Explorer (MAX)验证设备运行情况到使用LabVIEW编程数据采集应用,本系列将通过视频和文本教程为您一一介绍。
本系列既适用于希望学习使用DAQ助手的初学者,也适合需要使用NI-DAQmx高级功能的有经验用户。
1. 概述
NI-DAQmx入门指南系列旨在帮助用户了解NI-DAQmx编程的基础知识。
从使用Measurement & Automation Explorer (MAX)验证设备运行情况到使用LabVIEW编程数据采集应用,本系列将通过视频和文本教程为您一一介绍。
本系列既适用于希望学习使用DAQ助手的初学者,也适合需要使用NI-DAQmx 的高级功能的有经验用户。
2. 为什么需要定时和同步?
许多应用都需要精确的定时控制和同步操作功能。
例如,在测量和分析大量高度动态信号时,任何相位不匹配都是不可接受的。
这就需要将某一点某个信号的即时测量数据与同一点其他信号的即时测量数据进行
比较评估,因此,这些数据采集就需要采用某种同步方案。
NI-DAQmx和LabVIEW图形化编程环境为用户提供了各种工具,使其可以轻松构建此类数据采集系统。
3. 后台API
NI-DAQmx为用户提供了许多强大的定时和同步解决方案。
在LabVIEW中使用NI-DAQmx的功能代表着新一代数据采集编程。
专门为设备间的信号指定路径连线的时代已不复存在了--NI-DAQmx可自动在用户需要时帮助用户获取信号。
用户需要做的仅仅是指定目标。
因此,驱动程序可在后台智能运行,帮助用户省去复杂的配置操作。
但是,这仅仅是定时和同步所具有的功能的一小部分...
4. 混合模式测量
由于大部分E系列数据采集设备都具有模拟输入、模拟输出、计数器/定时器和数字输入/输出功能,因此其中的挑战往往在于在同步不同类型的测量的同时利用这些测量编程设备。
以下是部分使用案例:
1) 模拟输入和模拟输出同时启动
不同操作同时启动,但不同步
不同操作同时启动并以同一速率运行
不同操作之间共享采样时钟
2) 使用触发器同步模拟输入和模拟输出
共享硬件触发器和采样时钟
3) 同步模拟和计数器操作
4) 计数器创建脉冲序列为时钟,进行模拟操作
5) 模拟时钟门计数器操作
在NI-DAQmx API中,用户可使用极少的VI来满足大部分的定时和同步需求。
尤其是DAQmx Timing.vi 和DAQmx Trigger.vi,这两个VI可允许用户指定扫描通道的间隔时间和开始(或停止)时间。
利用LabVIEW 的多态机制,这两个VI不仅可定义模拟输入信号的定时和触发,还可定义之前提过的模拟输出、计数器/定时器和数字输入/输出信号的定时和触发(见图1)。
图1
5. 同步模拟输入/输出
一个常见的同步使用案例是使用同一时钟启动模拟输入和模拟输出。
此情况需要两个代码链:一个用于模拟输入,另一个用于模拟输出。
使用DAQmx Timing VI指定每个代码链所需的连续操作。
对于模拟输出定时,选择默认的―源‖输入——这意味着模拟输出操作将根据默认的模拟输出时钟(内部时钟)运行。
而对于模拟输入DAQmx Timing VI,用户所要做的只是指定―源‖为模拟输出的采样时钟。
这样模拟输入和模拟输出操作便会根据模拟输出的定时信号运行(图2)。
[+] 放大图片
图2
6. 模拟和同步
前一范例演示了如何将不同的模拟定时信号连接起来。
如果是模拟和数字信号混合的情况又会怎么样呢?是否具有同样的无缝集成性能呢?答案是肯定的。
假设我们根据外部或非传统时钟信号来进行模拟测量–练习:每毫秒进行一次采样,连续操作10毫秒后等待3毫秒,然后再重复该操作。
在此情况下,用户可使用E系列设备的计数器功能来生成所需的定时信号,但是模拟端如何知道该信号是时钟信号呢?答案还是DAQmx Timing VI。
通过将―源‖指定为计数器的内部输出引脚,计数器输出便可成为模拟输入时钟,而无需使用外部电线来连接接线盒的引脚(见图3)。
[+] 放大图片
图3
触发功能与同步功能一样,也非常便于使用。
使用DAQmx Trigger VI,用户可轻松设置操作,以等待内部或外部触发信号(模拟或数字)。
一个典型的范例是事件触发。
进行事件触发时,设备会忽略数据采集之前的前N个触发。
要实现这一操作,可使用计数器来创建信号脉冲以启动模拟输入采集。
计数器将前N个触发用作脉冲的低电平部分,而将有效触发用作脉冲的高电平部分并触发实际采集。
以下案例包含两行并行代码;上面一行用于配置模拟输入操作,下面一行用于配置计数器。
计数器0的输出用作触发源,且计数器0在接收第n个脉冲输入之后便配置为输出触发脉冲。
在此情况下,选择100 kHz内部时基作为输入源,但也可指定某个外部输入源,便于用户根据外部脉冲序列设置延迟触发(见图4)。
[+] 放大图片
图4
注:在最后两个范例中,Ctr0InternalOutput和Crt0Out为时钟或触发信号的来源。
Ctr0Internal Out信号由板卡内部的路由提供。
将计数器输出路由至PFI和RTSI时应使用Crt0Out。
图4中的范例可使用CtrOInternal Out来代替Ctr0Out。
7. 信号路由选项
如需像前面介绍的范例一样将设备上某个位置的信号路由至另一个位置,则需要考虑以下几点。
首先,NI-DAQmx是否能够路由这些信号?第二,哪些信号可进行路由?由于传输这些信号的能力取决于中间通信路径,因此需要采用实时系统集成(Real Time System Integration, RTSI)总线。
RTSI总线(PCI设备的34针连接器或包含在PXI上的背板连接器中)提供了7个引脚,用于将定时信号从一个设备发送至另一个设备(或在设备内部之间发送)。
在使用该通信路径之前,应使驱动程序了解系统中设备的连接方式。
对于PCI设备,使用RTSI电缆连接相应的设备,并在Measurement & Automation Explorer (MAX)中注册此连接。
在MAX 3.0中,只需右击NI-DAQmx设备并选择创建新NI-DAQmx设备>>RTSI电缆便可完成此操作。
该操作便会在NI-DAQmx设备列表中添加RTSI电缆。
对于PXI系统,只需通过右击PXI System>> Identify As来识别PXI系统。
RTSI总线在PXI系统中用作PXI触发总线。
(图5显示的是连接至DAQ设备的RTSI电缆。
)
图5
如需查看哪些信号可以在单个DAQ设备中进行路由,可浏览MAX中的Device Routes 选项卡。
单击MAX 中的DAQ设备时,可通过配置树右侧的窗口查看设备的属性。
如果选择该窗口底部的Device Routes 选项卡,则可看到每个可用信号路由的列表。
绿色的方框表示可直接进行的路由,黄色的方框表示必须通过设备的某些子系统才能实现的路由。
当光标停留在黄色方框时,―子系统‖框中会列出完成路由需要的中间
子系统。
这有时非常有用,因为间接路由可能会干扰正在执行的其他操作(图6)。
[+] 放大图片
图6
8. 高级功能
DAQmx Timing和DAQmx Trigger VI提供的高级功能可用于设置操作,但是有些情况下,较底层的信息更为重要。
假设我们需要知道某个模拟输出操作更新时的时基或者某个模拟边沿触发的配置级别。
这些信息可从DAQmx定时和DAQmx触发属性节点获得(见图7)。
用户可通过这些属性节点访问所有相关的配置值,以进行设置或查看。
图7
通过DAQmx触发属性节点可实现的一个复杂功能是计数器的可重触发选项。
在前面介绍的API中,重新触发计数器会完全改变计数器的运行代码。
只需在DAQmx触发属性节点中添加NI-DAQmx API,进入Start.Retriggerable,将计数器从单次触发更改为可重触发(见图8)。
图8
9. 多设备同步
前几个范例介绍了在一个设备上将不同操作联系在一起的一些方法(触发或定时)。
但是如果一个设备的功能无法完成系统的特性记录,那该怎么办?有时候仅仅是系统通道的计数就需要结合多个设备。
如果每个设备都包含RTSI连接,则每个设备均具有相同的同步选项。
图9
如需显示设备之间的连接,则右击MAX中的RTSI电缆,并选择―添加设备至电缆‖中的每个相应设备。
添加每个设备后,NI-DAQmx就可利用设备之间所有可用路由路径(实现无缝同步)。
如果是PCI设备,则需要手动添加设备之间的RTSI电缆。
如需显示设备之间的连接,则右击MAX中的RTSI电缆,并选择―添加设备至电缆‖中的每个相应设备。
添加每个设备后,NI-DAQmx就可利用设备之间所有可用路由路径(实现无缝同步)。
如果是PCI设备,则需要手动添加设备之间的RTSI电缆。
[+] 放大图片
图10
注意这里是两个独立的设备分别进行两个独立的操作。
通过通知NI-DAQmx使用Dev1/ai/SampleClock 作为设备2的采样时钟,设备1的采样时钟便可配置为设备2的采样时钟。
NI-DAQmx将找到实现该路由的方法,以确保两个数据采集设备以同一速率采集数据。
10. 结论
大部分NI DAQ设备包含的功能可用于共享定时和触发。
方便易用的NI-DAQmx借助该功能简化了分析过程,提高了系统性能,为用户提供各种工具来确保在同一时域中进行不同的测量。