触发器:触发器是控制采集的命令。您可以使用触发器来启动、停止或暂停采集。触发信号可以源自软件或硬件源。
时钟:时钟是用于对数据采集计时的周期性数字信号。根据具体情况,您可以使用时钟信号直接控制数据采集或作为参考时基来导出另一个时钟。
异步输入:异步输入是指其与用于接收输入的时钟信号的时序关系未知的输入,例如设备的板载时钟接收的外部数字触发器。其他示例包括软件命令或模拟触发事件。可以在时钟边沿之前或之后检测异步输入。如果它发生得太靠近时钟边沿,那么您无法判断它是在时钟边沿之前还是之后检测到的。
当单个设备接收输入时这不是问题。然而,如果相同的异步输入被馈送到多个设备,那么它们可能会检测到不同时钟沿上的输入变化。这会导致设备的操作不同步,即使设备共享相同的时钟。解决这个问题的方法是使用主从同步。
主从同步:主从同步在 NI-DAQmx 文档中也称为触发偏差校正。该方法的工作原理是指定一个主设备接收异步触发输入。然后,该主设备以同步方式驱动所有从设备的触发器。从主设备驱动到从设备的触发与公共定时参考时钟同步。因此,所有设备都可以在参考时钟的下一个边沿可靠地检测到触发事件。
以下波形说明了这个概念:
这导致主设备和从设备的精确同步。该方案的一个副作用是,它会导致重新同步和发送触发所需的一到两个参考时钟周期的延迟。
请注意,用于主从同步的参考时钟取决于应用。在某些情况下,背板 PXIe_Sync100 信号用于此目的。在其他情况下,可以使用由所有正在同步的设备共享的不同公共参考(例如,采样时钟)。
精度和距离之间的这种权衡提出了一个问题:要获得高精度的同步,您必须拥有具有高频率和精度的时钟,而随着机箱或节点之间的距离增加,时钟的精度可能会降低。在大多数系统中,您都知道必须设计的距离。您可能有一个节点、一个位置上的一组节点或分布在较远距离上的多个节点。基于此,您必须决定是否可以在这个距离上成功传输时钟和触发信号,而不会造成太大的性能下降。如果不能,则必须使用时间参考来中继时钟域信息。图 1 显示了物理连接和时间参考同步系统的精度与距离关系图。
精度与距离图显示,随着节点之间的距离增加超过某个点,您无法再将每个节点的时钟线和触发线物理连接在一起。您需要另一种方法将时钟和触发信号从主节点传送到系统中的其他从节点。本教程稍后将讨论这种方法,称为时间参考同步。
现在考虑精度与距离图的黄色部分。该区域代表物理连接的同步系统可实现的精度。由于时钟和触发信号通过电缆进行物理连接,因此与后面讨论的时间参考系统相比,它们可以实现更高的精度,并且不易受到时钟信号问题(例如时钟偏差和时钟漂移)的影响。这种类型的同步系统的操作基本上很简单。主节点创建一个时钟,然后通过布线与所有其他节点共享该时钟。当主节点上启动数据采集等操作时,与其他节点共享触发信号以开始操作。下图显示了物理连接系统的示例,以及时钟和触发线。
精度与距离图的蓝色部分显示了通过时间参考同步可实现的精度。在时间参考系统中,GPS 等协议用于在比电缆传输更远的距离上传送时间信息。每个系统节点使用该时间信息来确定当前时间并基于该参考创建时钟。您可以使用未来时间事件(即达到定义的时间后开始操作)来同时触发所有节点上的操作。下图显示了一个时间参考同步系统。
通过时间协议可视化时间数据传输的另一种方法是钟楼/手表类比。将主节点视为钟楼,从节点视为小镇上的人们。镇上的每个人都必须在早上 8:00 上班,并且都有自己的手表。但每个人的手表可能不同,并且可能会混淆当前正确的时间。如果每个人都看着钟塔并将他或她的手表重置或同步到钟塔时间参考,那么每个人都有正确的时间并准时到达工作场所。在时间参考系统中也会发生相同的时间信息传递。
时间协议是用于远距离传输时间信息的工具。
每秒脉冲 (PPS) – PPS 是最简单的同步形式,是每秒输出一次高逻辑电平的信号。它不包含有关一天或一年中特定时间的信息;它每秒仅输出一次脉冲。脉冲宽度一般为100毫秒,但许多接收器允许用户指定脉冲宽度,只要小于一秒即可。下图显示了 PPS 信号。
IRIG-B – 该协议用于传输时间数据。该信号与 PPS 类似,但 IRIG-B 发送的不是每秒一次的单个脉冲,而是发送构成一秒长的数据帧的编码位。该数据帧显示以秒、分钟和天为单位的时间信息,并提供状态字节。IRIG-B的同步精度为数十纳秒。
下图 显示了如何使用 IRIG-B 发送时间。整个帧只有一秒长。它基于脉宽调制 (PWM),其中 25% 占空比代表 0,50% 占空比代表 1,75% 占空比代表暂停 (P),用于将脉冲分隔几秒,分钟、天和状态。两个暂停周期(图中的 R)表示时间戳的结束。
IEEE 1588 – IEEE 1588 是一种基于数据包的协议,可以通过以太网使用。它定义了一组标准的时钟特性和每个特性的值范围。通过运行称为最佳主时钟(BMC)算法的分布式算法,网络中的每个时钟都可以识别最高质量的时钟;这是具有最佳特性的时钟。
最高级别的时钟称为“大师”时钟,它同步所有其他“从”时钟。如果主时钟从网络中删除,或者其特性发生变化而不再是“最佳”时钟,BMC 算法会帮助参与时钟自动确定当前最佳时钟,该时钟将成为新的主时钟。该算法提供了一种容错且无需管理的方式来确定用作整个网络的时间源的时钟。
主时钟定期发出“同步”数据包,其中包含数据包离开主时钟的时间时间戳。主大师还可以发出包含同步数据包的时间戳的后续数据包。使用单独的后续数据包允许大师在无法预先准确知道数据包的出发时间的网络上准确地为同步数据包添加时间戳。
全球定位系统 (GPS) – GPS 是一种射频编码信号,通过三角测量卫星网络提供时间、位置和速度信息。该时间参考信号在全球范围内可用,可提供数十到数百纳秒的同步精度。要使用此信号,您需要具有清晰天空视野的 GPS 天线。
所有设备
PXI 设备
PCIe 设备
DSA 和 SC Express 设备
CompactDAQ 设备
A/D转换器是DAQ系统中的重要组成部分,它需要时钟信号来指定何时执行采样。不同的系统使用共享同一时钟的多个A/D转换器,可实现所有通道的同步测量。CompactDAQ系统在定时引擎方面具备灵活性优势,其效果比标准同步更好。
CompactDAQ机箱包含三个模拟输入定时引擎。这使得程序员可以将所有模拟输入分为最多三个不同的组(也可称为任务):
CompactDAQ可以支持同步执行最多七个任务。用户可尝试使用下列任务选项:
由于包含指定时钟源,数字和模拟输出任务可以独立运行,无需彼此共享时钟信号。这使得编程更加方便直观。指定时钟源可与机箱的其他子系统共享。例如,通过共同数字输入时钟和模拟输出时钟,以利用数字输入的上升/下降沿生成电压信号。
多定时引擎以及切换和共享时钟源的能力,使得CompactDAQ比大多数现成即用的DAQ系统更具灵活性。
搭载NI-DAQmx的CompactRIO控制器在定时引擎方面有更高的灵活性,让用户可以在控制器的每个插槽上使用单独的定时引擎。用户可以在每个控制器上使用最多8个定时引擎,灵活配置这8个定时引擎,并通过NI-DAQmx对8个模拟输入任务编程,使这些硬件定时任务以各自的采样率同步运行。
C系列模拟输入模块可根据其同步情况分为4类:参考时钟、Delta-Sigma、慢采样和逐次逼近寄存器(SAR)。参考时钟模块使用内部板载时钟进行转换。该板载时钟可使用锁相环遵循另一个内部时钟,也可以遵循模块外部时钟。Delta-Sigma模块使用24位模数转换器,并使用模块内部时钟进行转换。慢采样模块使用24位模数转换器,并使用源自CompactDAQ控制器或机箱的外部时钟进行转换。最后,SAR模块使用逐次逼近型模数转换器(12位或16位)并使用外部时钟进行转换。实现同步的方法取决于模块所属的类别。模块分类列表可参见本教程的参考资料部分。本教程将同步定义为一种通过DAQmx驱动程序直接或间接使用的步骤或技术,用于同时开始测量并消除后续测量之间的漂移。虽然这些步骤旨在增加采样间的对齐,但其重点在于防止漂移。
本节概述了控制跨多个模块开始采集时的不同控制方法。因为可简单调整多个任务的开始时间,该方法是实现同步的最基本方法。
第一种方法使用软件函数,即在执行该函数时,将按照DAQmx任务的定义开始采集。当该函数在每个任务中相对同时执行时,在起始数据中会出现相似的同步级别。
如果使用硬件定时且未配置触发,则执行DAQmx开始任务VI时将启动采集。该VI使CompactDAQ控制器和机箱发送开始采集的数字脉冲。如果2个独立任务的DAQmx开始任务VI位于平铺式顺序结构的同一帧中,则2个任务的开始时间相同。但是,2个任务的确切开始时间的间隔取决于DAQmx开始任务VI执行之间的软件时间延迟,因此会因操作系统而异。平铺式顺序结构同一帧中的DAQmx开始任务VI在运行时控制2个模拟输入任务的启动。
为避免延迟,可使用DAQmx触发VI。该方法可将任务配置为在硬件触发时开始,而非通过调用软件函数启动。使用该功能同步任务时,一个任务用于发送触发,另一个任务用于接收触发。接收触发的任务将等待主任务发送触发后开始采集或生成。主任务在开始时会发送数字触发,并根据该信号启动所有配置为开始的任务。在任务接受ai/StartTrigger之前调用DAQmx控制任务VI,以确保主任务保留ai/StartTrigger。
了解触发和定时术语之前,应先明确为任务保留的定时引擎。CompactDAQ控制器和机箱具有3个模拟输入定时引擎:ai、te0和te1。每个并发运行的任务都分配给不同的定时引擎,以控制采样时钟和触发。例如,将ai/StartTrigger分配给ai定时引擎。NI-DAQmx驱动程序自动将每个模拟输入任务分配给定时引擎,从ai开始,然后是te0,最后是te1。了解任务使用的定时引擎非常重要,因此将接收开始触发的任务设置为使用来自同一主任务定时引擎的信号。通过首先保留主任务,将此任务专门分配给ai定时引擎。现在,2个任务都可以设置为使用主任务的开始触发(ai/StartTrigger)。
使用上述技术,通过共享开始触发的同时启动任务。但是,该方法无法保证2个任务之间后续测量的定时不会相互漂移。2个任务可共享采样时钟,以便所有使用共享时钟的任务都可同时进行采样。如此一来,这2个任务就不会相互漂移。如前所述,紧凑型DAQ控制器和机箱具有3个模拟输入定时引擎,因此任务的保留顺序将决定每个任务使用的定时引擎。下图详细介绍了如何在任务之间共享采样时钟。
由于所有任务共享相同的采样时钟,因此该技术要求2个任务以相同的采样率运行。该同步方法不适用于Delta-Sigma或参考时钟模块。因为这些模块使用模块板载时钟来采集测量结果。下文(多设备任务和多采样率任务)将讨论如何同步Delta-Sigma模块。
当任务中包含来自多个C系列模块的通道时,NI-DAQmx将自动同步这些模块。如符合以下条件,一个任务可包含多个C系列模块的通道:
注:
如需将多个模块用于同一任务中,应在创建虚拟通道VI的物理通道输入端中指定不同模块间的多个通道。如果不同模块的通道应具有相同的测量配置(电压范围和单位)以及相同的定时和触发信息,则应将其包含在同一DAQmx创建通道中。
如果模块进行不同的测量(如电压或电流)、需要不同的测量范围或需要使用不同的测量单位,请使用DAQmx创建虚拟通道VI的多个实例,如下所示。
同一任务中可混合使用不同类型的模拟输入模块(SAR、Delta-Sigma、慢采样和参考时钟),并支持使用NI-DAQmx驱动程序将其同步。DAQmx可使用多设备任务以选择最佳的同步模块方法。下文介绍了不同场景以及多设备任务如何同步测量。
2个SAR/慢采样模块-当2个SAR模块、SAR模块和慢采样模块或2个慢采样模块用于同一硬件定时任务中时,DAQmx驱动程序在2个模块之间共享同一机箱或控制器的采样时钟和开始触发。对于SAR和慢采样模块配置,数据返回的最大速率并非由慢采样模块决定。驱动程序将返回慢采样模块的重复采样,以支持SAR模块以尽可能最快的速率运行。
2个Delta-Sigma模块-当2个Delta-Sigma模块用于同一硬件定时AI任务中时,DAQmx驱动程序在所有模块之间共享最快的主时基、基于相同的同步脉冲重置其模数转换器、共享开始触发并调整重置时间。主时基是Delta-Sigma模块用于采集测量的内部12.8 MHz或13.1 MHz时钟。cDAQ-9185或cDAQ-9189(时间感知机箱)的主时基默认来自机箱,而非具有最快主时基的模块。
2个参考时钟模块-当2个参考时钟模块用于同一硬件定时AI任务中时,DAQmx驱动程序将主模块的参考时钟共享给另一个模块、使用相同的同步脉冲重置其模数转换器、共享开始触发并调整重置时间。参考时钟是后续模块锁定的内部主时基。时间感知机箱的默认参考时钟来自机箱而不是主模块。
参考时钟模块和Delta-Sigma模块-当参考时钟模块和Delta-Sigma模块用于同一硬件定时AI任务中时,DAQmx驱动程序将参考时钟模块的参考时钟路由至Delta-Sigma模块的主时基。2个模块均从机箱/控制器接收同步脉冲,该脉冲将重置各自的模数转换器并共享开始触发,同时调整每个模块的重置时间。在时间感知机箱中,参考时钟模块的参考时钟不与Delta-Sigma模块的主时基共享,而是将参考时钟路由至参考时钟模块,将主时基路由至Delta-Sigma模块。参考时钟模块(NI 9775)与Delta-Sigma模块用于同一任务时,无法使用记录模式。
Delta-Sigma/参考时钟和SAR/慢采样-当SAR或慢采样模块和Delta-Sigma或参考时钟模块用于同一硬件定时AI任务中时,DAQmx驱动程序将Delta-Sigma模块或参考时钟模块配置为导出其内部采样时钟,以供SAR或慢采样模块使用。内部采样时钟与Delta-Sigma模块配置的数据速率相同
其中
fs是数据速率
fm是每个模块规格表中指定的内部主时基
n/a/b是除数。
参考时钟模块的内部采样时钟可在设备的数据表中找到。驱动程序将返回慢采样模块的重复采样,从而使Delta-Sigma或参考时钟模块以更快的速度运行。参考时钟模块(NI 9775)与SAR或慢采样模块用于同一任务中时,无法使用记录模式。
在一个任务中引用多个模块时,将对所有通道应用相同的采样率。但是,有些应用可能需要以不同的速率同步。
除共享开始触发外,无需执行任何其他操作即可同步CompactDAQ机箱或控制器中不同采样率的2个SAR模块或慢采样模块。每个模块使用的采样时钟来自同一信号。因此,如果模块位于同一机箱,则测量将同步。
如需同步2个不同采样率的Delta-Sigma模块,可将任务设置为共享公共主时基、同步脉冲(sync pulse)和开始触发。如下图所示,主时基时钟从一个模块路由至另一模块。请注意,NI DAQmx定时属性节点采样时钟.时基.同步所指的12.8 MHz或13.1 MHz信号与使用说明及规范/数据表中列出的主时基相同。该时钟也称为过采样时钟,因为生成一个采样需要该时钟的多个时钟滴答。
使用Delta-Sigma模块的设备具有自由运行的模数转换器。共享主时基可确保测量派生自同一时钟,但模数转换器的精确启动会产生未知的相移。接下来共享同步脉冲。同步脉冲用于在模数转换器/数模转换器开始采集或生成采样前对其进行重置。如果不使用此信号重置模数转换器/数模转换器,测量将不同步。下文展示了支持共享过采样时钟和同步脉冲的属性节点。
上述配置将同步脉冲从一个任务路由到另一个任务,具体取决于运行速度更快的任务。对于多采样率配置,使用运行速度较慢的任务的采样时钟来触发运行速度较快的任务。其原因在示例中进行了说明。
还需要考虑的因素是每个模块所需的重置时间。重置时间是Delta-Sigma模块模数转换器从接收同步脉冲到开始采集数据之间的延迟。不同型号的Delta-Sigma模块重置时间可能不同。应考虑该重置时间,以确保每个设备都已完成重置序列并同时开始采集或输出采样。为适当考虑已有的不同重置时间,需检查每个模块所需的重置时间,如有必要,可为重置时间较短的模块添加延迟。因此,每个模块的重置时间与延迟之和应相同。
重置模数转换器所需的时间可通过DAQmx定时属性节点同步脉冲.重置时间确定。为保证所有模数转换器同时结束重置周期,应对2个任务的重置时间进行比较。取重置时间最长的任务,并减去重置时间较短任务的重置时间。结果是一个任务已开始采集数据而另一个任务仍处于重置周期中。为解决该延迟问题,使用另一个NI-DAQmx属性,即同步脉冲.重置延迟。该属性支持延迟发送至每个模块的同步脉冲。如前所述,重置时间是模数转换器接收同步脉冲与开始采集数据之间的延迟。为充分利用该属性,应将该属性设置为模块最长重置时间与该模块重置时间之差。这将使较短重置时间的模块的同步脉冲发生漂移,从而确保具有慢速和快速重置时间的2个模块同时结束其重置序列。以下代码详细介绍了如何获取重置时间,以及如何确定合适的重置延迟。
NI-DAQmx属性节点同步脉冲.重置延迟的最大输入为0.013秒,并不适用于模块重置延迟值差异较大的情况。请注意在接收主时基的任务上轮询同步脉冲.重置时间时属性节点的顺序。该值将随着13.1 MHz时基或12.8 MHz时基变化。因此,在告知模块主时基速率后,调用此任务的同步脉冲.重置时间非常重要。
搜索属性同步脉冲.重置延迟和同步脉冲.重置时间时,还会出现同步脉冲.同步时间和同步脉冲.开始最小延迟。由于这4个属性名称相似且位置接近,因此会经常遇到这2个属性,但多数开发人员不会使用它们。同步脉冲.同步时间等于SyncPulseResetTime y与同步脉冲.重置延迟输入值的和。将同步脉冲.同步时间的值四舍五入到最接近的毫秒。同步脉冲.开始最小延迟是从发出同步脉冲到主任务发出开始触发之间的时间。除非有明确设置,否则该属性等于同步脉冲.同步时间。
如需同步2个不同速率的参考时钟模块(如2个DSA模块),可将主任务的参考时钟、同步脉冲和采样时钟分配给其他任务。请注意,NI DAQmx定时属性节点参考时钟.同步是指数据表中列出的相同内部主时基。
如需同步Delta-Sigma模块和SAR/慢采样模块,可与SAR/慢采样模块共享Delta-Sigma模块的主时基和采样时钟。由于SAR/慢采样模块无法以12.8 MHz或13.1 MHz的频率进行采集,因此Delta-Sigma的主时基与SAR/慢采样模块共享,如下图所示。SAR/慢采样模块的采样时钟通常派生自CompactDAQ机箱或控制器的板载时钟。该方法使用Delta-Sigma模块的12.8 MHz或13.1 MHz时钟替换机箱或控制器时钟。
如需同步参考时钟模块和SAR/慢采样模块,请与SAR/慢采样模块共享参考时钟模块的参考时钟和采样时钟。由于SAR/慢采样模块无法以12.8 MHz进行采集,因此参考时钟模块的参考时钟与SAR/慢采样模块的主时基共享。SAR/慢采样模块的采样时钟通常派生自CompactDAQ机箱或控制器的板载时钟。该方法使用来自参考时钟模块的内部主时基替换路由至SAR/慢采样模块的机箱或控制器时钟。
使用BNC/SMB连接器或数字模块实现多机箱同步-实现多机箱同步的一种方法是使用cDAQ-9178、cDAQ-9188、cDAQ-9188XT和cDAQ-9179机箱中配备的2个BNC连接器,或使用CDAQ-9132、cDAQ-9133、cDAQ-9134、cDAQ-9135、cDAQ-9136、cDAQ-9137、cDAQ-9185和cDAQ-9189中的SMB连接器来导入和导出定时信号。
可连接不同机箱的BNC或SMB接线端以路由触发和定时信号。使用DAQmx驱动程序,可通过NI-DAQmx导出信号属性节点,以从主任务导出信号。在任务中(在另一个机箱中),将采样时钟和开始触发配置为使用BNC或SMB接线端接收信号。
并行/相关数字量IO模块 当NI Compact DAQ控制器和机箱上不具备足够的BNC或SMB端口或信号带宽超过BNC或SMB连接器的带宽(1 MHz)时,首选数字I/O模块。
使用NI 9469进行多机箱同步-上述配置机箱BNC连接器或并行/相关数字IO模块的定时和触发信号的方法适用于多种应用。但在下列情况下,建议选择使用NI 9469的替代方案:
NI 9469可简化不同机箱拓扑中的信号布线和编码,并同步SAR、慢采样、Delta-Sigma、数字输入和输出、模拟输出模块。NI 9469卡之间的连接可在Measurement & Automation Explorer (MAX)中进行配置,如下图所示。关于配置NI 9469的详细信息,请参见文章结尾的相关链接部分。
在MAX(使用NI-DAQmx 9.9或更高版本)中配置NI 9469后,可将不同机箱中的任何模块添加至同一任务,从而大大简化同步所需代码。下图展示了该方法如何实现多机箱同步。
基于时间的同步描述了通过根据设备时间计划的事件进行同步。等待在本地时间下午5:00启动的设备使用基于时间的同步。
cDAQ-9185、cDAQ-9189、cRIO-904x 和 cRIO-905x 型号为 Delta Sigma 和参考时钟模块提供三种不同的时钟(10 MHz、12.8 MHz 和 13.1 MHz)。在这些机箱中使用 Delta Sigma 或参考时钟模块时,DAQmx 将默认使用机箱时钟来采集或生成信号,而不是使用模块上的时钟。
当时间感知机箱共享同一个主时钟时,机箱上的所有时钟都会同步到该主时钟。因此,跨多个机箱的时钟彼此同步。此过程自动完成,无需用户输入。由于机箱中的每个模块将默认使用机箱背板时钟来生成或采集,因此每个模块使用的时钟(主时基、采样时钟和/或参考时钟)都将同步。要同步机箱之间的模块采集或生成,请确保同时发送启动触发器。
在同一任务中使用多个设备将自动补偿模块之间的时序差异,这极大地简化了任务设置,并使该配置非常适合中小型采集。有一些注意事项:
对于某些模块而言,将来自不同机箱的所有模块放置在一项任务中以实现同步并不是一种可行的解决方案 , 并且会将所有模块锁定到单一采样率。要在这些情况下同步模块,请使用单独的任务,为每个任务配置启动触发器,并将启动触发器设置为同时开始。共享开始时间触发器不会补偿前端架构的差异,因此以这种方式获取的数据中可能存在偏移。补偿技术将在下面的示例中讨论。
NI-DAQmx 19.5引入了 第一个采样时钟时间:偏移 属性,大大简化了具有不同采样率或不同前端架构的多个模块的同步。此属性允许您通过将任务的第一个采样时钟时间偏移指定量来补偿滤波器延迟或其他因素。使用此属性可以避免使用复杂的方法,例如以下章节中针对旧版本的 NI-DAQmx 所描述的方法。
为了更好地理解此属性,请考虑具有不同前端架构的两个任务需要同步的情况。一个任务包含 DSA 模块,另一个任务包含 SAR 模块。SAR 模块将在任务启动时立即提供可用的样本,但 DSA 模块将在任务启动时间和第一个样本可用时之间存在过滤延迟。通过简单地以相同的开始时间和速率并行运行这些任务,您会注意到每个任务的数据之间存在时间偏移。
通过将 “第一个采样时钟时间:偏移” 属性设置为 DSA 模块的滤波器延迟,第一个采样时钟脉冲的时间将偏移滤波器延迟时间。这可以补偿与任务设置的其余部分一致的滤波器延迟,从而允许 DSA 模块在 SAR 模块采样的同时获得可用的滤波数据,并消除滤波器延迟对测量的影响。有关如何使用此属性的示例,请参阅下面的示例代码。
当处于时间感知机箱中时,Delta Sigma 和参考时钟模块将默认为可用的板载(13.1 MHz、12.8 MHz 和 10 MHz)机箱时钟。因此,当尝试在单个 cDAQ-9185 或 cDAQ-9189 中执行多速率同步时,您只需共享启动触发器和/或同步脉冲即可同步两个任务。采样时钟、主时基和参考时钟源自机箱并同步,因此使用这些时钟的测量也将同步。
从 DAQmx 18.6开始 ,提供了一个新的 DAQmx 时序属性,称为“第一个采样时钟时间”。此属性允许您根据系统时间或 I/O 设备时间设置生成第一个采样时钟的时间。该属性在内部执行图 19 所示的计算,包括开始触发时间、复位时间差异以及使用多个速率时的第一个样本对齐。第一个采样时钟时间属性可用于调整任意模块类型组合(包括 DSA、SAR、慢采样和 FieldDAQ 设备)上的采集开始时间。下面的示例演示了如何使用该属性。
当 Delta Sigma 和/或参考时钟模块以不同的速率运行时,我们必须考虑重置时间的差异以及由于采样率差异而发生的可变样本数量。复位时间的差异是通过在启动触发前 x 秒发送同步脉冲来解决的,其中 x 等于较长的复位时间。通过分析两个采集周期之间的比率并根据该分析调整同步脉冲来考虑可变数量的样本。本示例所需的子视图附在本文档的右上角。
IEEE 1588 也称为精确时间协议 (PTP),是一种基于以太网的同步方法,专为有线本地网络而设计。IEEE 1588 的好处是它允许您通过标准网络同步目标。它的工作原理是自动从网络确定主时钟,并使所有其他时钟从属于该主时钟。IEEE 1588也是一个相对容错的同步选项。如果主时钟与网络断开,则动态确定新的主时钟。有关该协议的详细说明,请参阅白皮书《分布式时钟同步和 IEEE 1588 精确时间协议简介》。
相关参考链接:
使用 NI PXI-668x 定时和同步模块配置 IEEE 1588 同步:Configuring IEEE 1588 Synchronization With the NI PXI-668x Timing and Synchronization Module - NI
IEEE 1588 有许多不同的配置文件,每个配置文件都使用不同的功能。由于配置文件彼此不可互操作,因此请确保您了解您的设备支持哪些配置文件
所有基于NI Linux Real-Time的CompactDAQ控制器都通过NI-TimeSync驱动程序支持IEEE 1588v2的软件实现。安装驱动程序后,您可以通过任何标准以太网连接多个 CompactDAQ 控制器,并且它们会自动同步其系统时钟。安装了固件 18.1 或更高版本的支持 TSN 的以太网 CompactDAQ 机箱也支持 IEEE 1588v2。控制器之间此类同步的典型精度约为 1 毫秒。尽管支持 IEEE 1588v2 不需要特定的网络硬件(以太网交换机),但建议使用支持 IEEE 1588v2 的交换机以获得最佳同步性能。这些交换机减轻了网络负载的影响,网络负载可能对标准交换机上的同步产生不利影响。
要在运行 NI Linux Real-Time 的 CompactDAQ 控制器上启用基于软件的 IEEE 1588v2 同步,您需要在每个控制器上安装 NI-TimeSync。这可以通过Measurement & Automation Explorer (MAX) 中的软件安装过程来完成。NI Linux Real-Time 目标的 IEEE 1588v2 设置需要通过文件修改进行配置。有关在 NI Linux Real-Time 上配置和监控 IEEE 1588v2 同步状态的详细信息,请参阅使用 NI-TimeSync 配置 IEEE 1588 和 802.1AS 时间参考。
具有固件 18.1 及更高版本的支持 TSN 的 CompactDAQ 机箱支持 HW IEEE 1588v2(默认配置文件)。HW IEEE 1588v2(默认配置文件)与 SW IEEE 1588v2 兼容,但与 802.1AS 配置文件不兼容。HW IEEE 1588v2(默认配置文件)由于硬件时间戳而具有更高的准确性,但在其他方面与 SW IEEE 1588v2 具有相同的协议。
IEEE 1588 中较新的 PTP 配置文件是 IEEE 802.1AS,它被选择用于时间敏感网络 (TSN) 中的时间同步。TSN 是对 IEEE 802.1 标准的一系列补充和更新,IEEE 802.1 标准是网桥的局域网标准。TSN 的一个方面是定义 TSN 子网内网络组件之间的全局时间感。4 插槽 cDAQ-9185 以太网机箱和 8 插槽 cDAQ-9189 以太网机箱均使用此 PTP 配置文件在网络中提供基于时间的同步。机箱之间这种类型的同步的典型精度小于 1 μs,但这可以大大降低到数百纳秒范围,具体取决于系统的配置。要同步这些机箱,您可以将它们以菊花链方式连接在一起,仅使用以太网电缆即可创建线型拓扑。对于其他非菊花链拓扑,并且您希望所有机箱同步,您必须在设备之间使用符合 IEEE 802.1AS 标准的交换机。
这些机箱利用 NI-DAQmx 中添加的基于时间的同步功能,现在能够配置某些触发器和时间戳以根据一天中的时间指定。这些 CompactDAQ 以太网机箱上已启用 IEEE 802.1AS-2011 配置文件,因此要使用此功能,您只需安装应用程序软件和 NI-DAQmx 驱动程序即可。
默认 IEEE 1588v2 配置文件与 802.1AS 配置文件不兼容。
SNTP 是一种用于 Internet 上时钟的时间同步方法。当前时间是从公共 NTP 服务器获取的。它使用 NTP 服务器的分布式网络,并通过以太网将网络内的时钟与国家时间标准同步。NTP 和 SNTP 在网络级别上彼此没有区别。SNTP 在内存和 CPU 使用方面占用的空间较小,但仍然足以实现典型桌面使用的系统时钟同步。许多行业(例如政府和石油)更喜欢 (S)NTP,因为它是一个成熟且经过充分测试的标准,仅需要网络连接。(S)NTP 的主要缺点是它不如本文中描述的其他基于时间的技术准确。它的典型精度约为数十毫秒。LabVIEW Real-Time 目标并未正式支持 (S)NTP,但有一些方法可以启用它,如下所述。
在基于 NI Linux Real-Time 的 CompactDAQ 控制器上,可以使用开源 Linux NTP 守护程序启用 NTP。NI 开发者社区的文档详细介绍了如何将此守护程序安装到 NI Linux Real-Time 目标。请注意,如果您选择使用此守护程序,则不应将 NI-TimeSync 安装到您的目标。NI-TimeSync 和该守护进程都会调整系统时间,如果 NI-TimeSync 和 NTP 守护进程都尝试修改目标上的时间,您的系统可能无法正确同步
对于使用 NI-DAQmx 18.1 或更高版本的支持 TSN 的以太网 CompactDAQ 机箱,必须至少有一个 IEEE 1588 或 IEEE 802.1AS 时间参考运行才能启动 NI-DAQmx 任务。由于运行 (S)NTP 和 NI-Timesync 无法同时运行,因此 (S)NTP 时间参考不能在使用 NI-DAQmx 18.1 或更高版本且启用 TSN 的以太网 CompactDAQ 机箱上使用。
下表比较了 CompactDAQ 上的同步技术,列出了节点之间允许的最大距离、典型同步精度、时间服务器要求、布线要求、时间戳支持、推荐硬件以及它们将同步的子系统。
技术 | 节点之间的物理距离 | 精度 | 需要时间服务器吗? | 布线 | 时间戳? | 推荐硬件 |
基于信号的 | <100米 | 有所不同(请参阅手册) | 不 | 超五类线 | 无 | NI-9469 |
IEEE 1588 基于软件的时间戳(默认 1588 配置文件) | 子网内 | 1毫秒 | 不 | LAN | 有 | 运行 NI Linux Real-Time 的 cDAQ-9132/9133/9134/ 9135/9136/9137 |
具有硬件辅助时间戳的 IEEE 1588(IEEE 802.1AS 或默认配置文件) | 子网内 | <1微秒 | 不 | LAN | 有 | cDAQ-9185/9189 |
时间同步协议 | 全局(访问NTP服务器) | 10秒毫秒 | 是 | LAN | 有 | 运行 WES7 的 cDAQ-9132/ 9133/9134/9135/ 9136/9137 |
同步类型 | 技术 | 多槽 USB CompactDAQ 机箱 | 多槽 ENET CompactDAQ 机箱 | 运行 WES7 的 CompactDAQ 控制器 | 运行 NI Linux Real-Time 的 CompactDAQ 控制器 |
基于信号的 | NI-9469 | ||||
使用数字 I/O 或 PFI 线进行手动布线 | |||||
基于时间的 | HW IEEE 1588v2(默认或 802.1AS) | — | — | — | |
软件IEEE 1588v2 | — | — | — | ||
网络时间协议 | — | — | — |
在讨论同步之前,首先了解 M 系列设备中存在的不同时钟会很有帮助。M 系列设备上的 NI-STC 2 定时和控制器 ASIC 通过划分 80 MHz 时基来生成多个时基。该 80 MHz 时基通过以下两种方式之一获得:来自 80 MHz 板载振荡器或来自锁相环 (PLL) 电路,如下图 所示。当 PLL 的参考时钟在设备之间共享时,由 PLL 产生的 80 MHz 时基将在这些设备之间同步。因此,从该 80 MHz 时基或所得 20 MHz 时基派生的所有时钟也将同步。由于信号划分方式的原因,100 kHz 时基将与 PLL 的输入不同相。这些时基信号在内部用作器件的模拟输入、模拟输出和计数器/定时器子系统的时钟源。例如,模拟输入子系统将对这些时基之一进行分频以创建其 AI 采样时钟。通过这个 80 MHz 板载振荡器,每个 M 系列设备还生成自己的 10 MHz 参考时钟,可用于多设备系统中的同步。
M 系列器件上模拟操作的采样时钟通常通过对 20 MHz 或 100 kHz 内部时基进行分频来获得。计数器/定时器是唯一可以直接使用 80 MHz 时基的子系统。还可以获取其他外部和内部信号,例如 PXI_STAR 触发器、模拟比较事件或来自 PFI 线路或 RTSI 总线的信号。有关 AI 和 AO 采样时钟推导的更多信息,请阅读M 系列用户手册的定时信号部分 。
配置硬件所需的步骤有所不同,具体取决于设备是 PCI 板卡还是 PXI 模块。对于 PCI 板卡,必须在 MAX 中虚拟创建并注册一条 RTSI 电缆,该电缆应物理连接到要在其间路由信号的所有板卡。创建 RTSI 电缆后,需要将板添加到 RTSI 电缆,并且 NI-DAQmx 驱动程序可以相应地在设备之间路由信号。对于 PXI 模块,思路是一样的,但唯一需要做的就是识别 PXI 机箱。PXI 模块不需要任何电缆,因为相当于 RTSI 总线的组件包含在 PXI 机箱的背板中。
执行大多数多功能同步时,仅需要启动触发器。这是因为这两个操作从设备内部的公共时基获取采样时钟。下面的 LabVIEW 示例展示了如何同时执行模拟电压测量和电压生成,两种模拟操作均从设备固有的同一内部 20 MHz 或 100 kHz 时基获取各自的 AI 和 AO 采样时钟。如果给定相同的速率,操作将保持同步。如果采样时钟速率设置为不同的频率,操作将同时启动,但不完全同步。另请注意,这两个操作可以配置为获取不同数量的数据。
在上面的示例中,有两个进程同时发生。顶部进程控制模拟输入,底部进程控制模拟输出。每个步骤由图底部的数字表示,如下所述。
单设备多功能同步的第二种形式涉及共享采样时钟。共享采样时钟可能是同步单个设备操作的最常见方法,因为它可以确保操作同时开始并以相同的速率进行。上述同步模拟电压测量和电压生成示例也可以通过在两个子系统之间共享 AI 或 AO 采样时钟来实现。何时使用此方法的一个很好的例子是当您想要关联 M 系列设备上的数字和模拟波形操作时。
与 E 系列设备不同, M 系列 设备可用于硬件定时数字操作。然而,M 系列器件的数字子系统无法对其中一个时基进行分频来创建用于数字输入或输出操作的内部时钟。必须提供外部信号或来自另一个子系统的众多内部信号之一作为数字采样时钟。例如,可以通过共享 AI 或 AO 采样时钟作为 DI 或 DO 采样时钟源来同步数字和模拟操作。要独立于 AI 或 AO 操作对数字信号进行采样,可以配置计数器或外部信号来生成所需的 DI 采样时钟。
下面的示例演示了如何同步模拟输入操作与数字输入操作。直到模拟输入操作开始并生成 AI 采样时钟后,数字采集才会开始。
在上面所示的示例中,数字输入电路使用共享采样时钟来同步模拟和数字输入。
RTSI 总线提供了在系统中的独立设备之间共享信号的能力。传统上,同步数据采集设备需要在设备之间共享公共时基时钟源。M 系列设备的内部时基为 80 MHz,该频率太高,无法通过 RTSI 总线准确地传递到其他设备。通常,10 MHz 是在设备之间路由的更稳定的时钟频率,并用作 PXI 系统中的同步标准,其中 10 MHz PXI 时钟内置于机箱背板中。因此,M 系列器件通过对 80 MHz 板载振荡器进行分频,生成用于同步目的的 10 MHz 参考时钟。为了同步多个 PCI M 系列板卡的采集或生成,一块板卡充当主板卡,并将其 10 MHz 参考时钟导出到所有其他从板卡。每个M系列上的NI-STC 2 ASIC都具有PLL电路,该电路将外部参考时钟与其内置压控晶体振荡器时钟(VCXO)进行比较,以输出与该参考同步的时钟。因此,系统中的每个设备都可以输入 10 MHz 参考时钟,并将其自己的 80 MHz 和 20 MHz 时基与其同步。通过这项技术,所有设备都同步到相同的 10 MHz 主时钟,但可以使用板载生成的各自更快的 80 和 20 MHz 时基。请注意,由于信号被分频的方式,100 kHz 时基将不会与 PLL 的输入同相。请参阅下图,了解 M 系列器件的时基路由概述,显示了如何使用 PLL 和参考时钟来同步两个高速时钟(本例中为 100 MHz)。
当路由其 10 MHz 参考时钟输出以供其他设备同步时,主设备可以将其参考时钟源设置为“OnboardClock”。此选项会将主设备的 10 MHz 参考时钟(已路由到 RTSI)返回到其自己的 PLL 源。然后,主设备会看到与从设备通过 RTSI 锁相到 10 MHz 参考时钟所看到的延迟相同的延迟。请注意,默认情况下,M 系列参考时钟源设置为“无”。这将导致 M 系列设备使用其板载振荡器作为其时基源。
下图所示为使用主设备参考时钟实现两块M系列单板多设备同步的示例。图中的标签对应于程序的重要部分,下面给出了每个部分的说明。
PXI 和 PCI 同步非常相似,因为它们使用相同的参考时钟原理。在 PXI 系统中,用于同步多个模块的通用 10 MHz 参考时钟已通过 PXI_CLK10 信号内置到背板中。要同步 PXI 系统中的多个 M 系列模块,每个 M 系列模块都应使用 PXI_CLK10 作为其参考时钟,这将导致所有板上的时基相互同步。如果一个主设备向其他设备发送启动触发信号,并且所有采样时钟都设置为相同的速率,则采集将同步。下图显示了代表 M 系列 PXI 同步的框图。
其他数据采集设备(例如 E 系列)不提供用于同步目的的参考时钟。同步这些设备的常见方法(也适用于 M 系列设备)是在采集中的所有设备之间共享公共采样时钟。这可以通过 RTSI 路由主采样时钟以用作所有从设备的采样时钟来完成。使用这种方法有一些缺点。一是通过 RTSI 路由采样时钟,在主设备和从设备之间引入了小的传播延迟,而使用参考时钟进行同步时不存在这种延迟。第二个是,虽然所有板卡之间共享一个通用的 AI 采样时钟,但对于具有多路复用架构的设备(例如 E 系列和 M 系列),实际在每个通道上引起 A/D 转换的 AI 转换时钟仍然是从每个板卡生成的。板载振荡器,它们不会相互同步。然而,这些误差对于大多数 E 和 M 系列应用来说很小,可以忽略不计。
下图 中所示的示例演示了如何通过共享采样时钟来同步两个 M 系列设备之间的采集。使用 NI-DAQmx,通过将从属采样时钟源设置为主采样时钟,主采样时钟将通过 RTSI 总线或 PXI 触发线自动路由到从属采样时钟。下面是对图中标有数字的每个步骤的描述。
您可以选择多种不同的方式在 PXI Express 机箱中的设备之间共享时钟和触发信号。您可以通过外部接线(许多设备为此提供输入引脚)或通过 PXI Express 背板触发总线来共享信号。用于共享时钟和触发信号的机制会影响同步精度。
信号 | 仅限 PXI Express? | 需要系统时序控制器模块吗? | 设备间偏差 | 信号完整性 |
---|---|---|---|---|
PXIe_Clk100 | 是的 | 不 | <250 皮秒 | 最好的 |
PXIe_DStar |
是的 | 是的 | <500 皮秒 | 最好的 |
PXI_Clk10 | 不 | 不 | <1纳秒1 | 更好的 |
PXI_Star | 不 | 是的 | <10纳秒 | 更好的 |
PXI_Trig<0..7> | 不 | 不 | <80纳秒 | 一般的 |
外部接线 | 不 | 不 | 多变的 | 可用的 |
PXI_Clk10 和 PXIe_Clk100 之间可能存在高达 6.5 ns 的时滞。因此,虽然使用 PXI_Clk10 作为参考时钟的一组设备之间的时滞很小,但与使用 PXIe_Clk100 作为参考时钟的其他设备相比,这些设备可能会出现高达 6.5 ns 的时滞。
使用通过 PXIe_Clk100、PXIe_DStar
“网络访问可用吗?” 指的是连接到以太网的能力。某些同步方法需要这种硬件连接。请注意,此问题并不暗示互联网连接。1588和SNTP技术都可以在本地网络上实现。
“节点可以通过物理电缆连接在一起”是指使用 BNC、以太网或其他标准电缆连接节点。对于节点之间的物理距离小于 100 米但节点被隔离在无法直接布线的房间/房间的应用程序来说,必须考虑这个问题。
“同步样本”是指每个样本时间单独同步。这种类型的同步需要对齐所有采样时钟。
“同步触发”是指所有采集同时开始。这种类型的同步需要分发启动触发器。
“立即触发”是指将立即导致采集开始的硬件触发或用户交互。
“延迟触发”是指基于系统事件的触发(例如,温度读数高于临界阈值)。
“时钟共享”是指在节点内或节点之间分配硬件时钟信号。
“系统时间”是指同步控制器的系统时钟。当不需要亚毫秒精度时,可以使用这种类型的同步。
虽然 National Instruments 提供了多种同步卡,但某些技术需要与其他硬件集成才能实现最佳性能水平。GPS 和 1588 是两种需要考虑外部硬件的技术。
GPS 系统需要与 GPS 天线集成。天线的好坏直接影响系统的同步质量。NI 提供 GPS 天线作为支持 GPS 同步的产品的附加组件(部件号 196304-30)。
对于 1588 系统,有两个硬件注意事项。首先是以太网电缆的限制。标准 CAT 5 布线规定电缆段的最大长度不应超过 100 米。如果节点之间的距离超过 100 米,则应使用交换机或路由器来增强信号。交换机和路由器很容易从不同的供应商处获得。
1588 的第二个限制涉及与高流量网络相关的延迟。在这些情况下,数据包可能会花费大量时间在路由器/交换机上等待。解决办法是使用1588交换机。它们经过专门设计,即使在高吞吐量网络上也能实现精确计时。有关 1588 硬件的更多信息可以在相关链接部分找到。
这种级别的同步相对容易实现,因为它不需要硬件模块。如果您使用两个机箱,您可以将一个机箱的主控 PXI_CLK10 OUT 连接到另一个机箱的 PXI_CLK10 IN。这将为两个 PXI(e) 共享一个公共时基,以防止漂移。此方法适用于两个 PXIe 机箱、两个 PXI 机箱和一个 PXIe/PXI 组合。
使用 BNC 连接器,当存在时钟时,它将自动覆盖 PXI 系统时钟。这会在两个时钟波形之间引入非常小的时间偏差,该偏差在两个 PXI 系统之间可以忽略不计,但在菊花链机箱时会增加。为了显着减少这种偏差,请使用外部 10 MHz 时钟源,并使用相同长度的电缆连接到每个 PXI_CLK10 IN 连接器。
此方法会将系统同步到较低程度。为了实现更高的同步,您需要购买定时和同步硬件模块,使用每个机箱中的定时和同步卡导出和导入时钟。
触发器共享将确保两个机箱大致同时开始 DAQ。系统中的每个 PXI(e) 都需要一个 T&S 模块,该模块将在每个 PXI(e) 之间共享触发线。下面显示的示例框图演示了如何将触发线同步在一起。
这里,在主任务(代码的顶行)中定义触发源并将其发送到从任务(代码的底行)。当检测到触发器时,从任务将开始,然后是主任务。这个顺序至关重要,从机必须始终在主机之前开始。为了纠正因一项任务相继启动而导致的偏差,使用 DAQmx 触发器属性节点将一个通道定义为主通道,将一个通道定义为从通道。
将此同步方法与前面的示例相结合,创建一个没有偏差或漂移的系统;然而,两个机箱必须以相同的速率运行。
参考时钟是被其他系统的时钟参考以导出它们自己的时钟信号的时钟信号。在设备之间共享此时钟将允许每个机箱以不同的速率运行,同时也最大限度地减少漂移和偏差。共享参考时钟需要 T&S 模块,并且可以如上图所示实现(通过使用具有相同源的 DAQmx Timing Property 节点)。
共享参考时钟的一个缺点是,对于高频应用,时钟信号将在 5-10 MHz 左右的频率下开始恶化(取决于用于在外部时钟源和电路板之间连接的电缆)。此外,传输延迟会在高速时引入明显的相位延迟,具体取决于信号路径的长度。
所有定时源都会向系统引入抖动,当尝试同步电路板时,抖动可能会变得很严重。当使用启动触发器同时开始在测量系统中的所有板上进行采集时。通常,每个板在收到启动触发后将在板时钟的 1-2 个滴答内触发,这将在板之间引入相位延迟。
共享主时基具有共享参考时钟的所有优点,同时还能消除漂移。它是使用属性节点共享的,如下所示。从属时钟将被主时钟覆盖,这意味着所有硬件定时系统将自动与主机箱同步。由于时基共享的性质,该系统可能不稳定,因此在使用前请确保您的系统稳定。
3. 将 PXI-668x 板载振荡器连接到 PXI-668x 时钟输出连接器(这可以通过“NI 同步连接时钟端子”的代码或 NI MAX 来完成):
4. 用物理电缆连接时钟输出连接至机箱 机箱的 10MHz IN 端口
对于多个DSA卡的同步配置,同步方案必须与正在使用的所有卡兼容。两种同步类型分别是参考时钟同步和主采样时钟同步。参考时钟同步使用PXI / PXIe背板的参考时钟,而主采样时钟同步从一个主卡导出时钟,以供所有其他从卡使用。以下是哪些DSA设备支持不同的同步方法:
参考时钟同步:
主采样时钟时基同步:
根据上面的列表,我们可以确定哪些设备可以同步在一起,哪些设备不适合同步在一起。下表提供了一些设备配对以及一些现有限制的直观信息,但未详尽列出所有设备配对。
在选择了适合您的硬件配置的同步类型之后,同步步骤如下:
参考时钟同步(仅限PXI / PXIe):
主采样时钟时基同步:
这是通过生成脉冲序列并将其用作前面提到的两个任务的采样时钟源来完成的。还有另一个脉冲序列会生成并物理环回计数器测量任务,以便您可以控制您所期望的内容。
也可以使用触发来确保这两个任务同时启动。
首先,为要使用的每个计数器创建一个单独的 DAQmx 任务(由 DAQmx 创建虚拟通道、DAQmx 启动触发器、DAQmx 启动任务、DAQmx 停止任务和 DAQmx 清除任务组成)。您可以通过设置 DAQmx 通道属性节点来为每个任务指定要使用哪个计数器以及应在哪个引脚上输出信号。在此属性节点中,您选择 计数器输出>>脉冲>>输出端子 并连接一个 I/O 常量,在其中指定应在哪条 PFI 线上将信号输出到属性节点。您可以在每个模块的引脚分配方案或 NI MAX(在哪里查找 NI-DAQmx 设备引脚分配或引脚映射)中找到所有输出的表格。下面是如何设置 DAQmx 通道属性节点的屏幕截图:
设置每个计数器任务后,您必须创建一个所谓的频率输出任务,该任务用作触发器。频率输出是机箱上的内部数字脉冲串,可用于在内部触发计数器,而无需使用外部信号。有关频率输出信号的更多信息,请参阅以下知识库: 在 NI-DAQmx 中输出不带计数器的频率信号
要使用频率输出,您必须依次配置 DAQmx 启动触发 VI 的 I/O 常量显示频率输出。为此,右键单击连接到DAQmx Start Trigger VI源输入的I/O常量,然后 从上下文菜单中选择I/O名称过滤 。在此菜单中,您激活 “包括高级终端” ,现在 I/O 常量可以显示频率输出,您选择该频率输出作为触发源。:
链接到 DAQmx 通道属性节点的 I/O 常量应为空,因为您不需要通过模块的引脚输出信号。
然后,您可以使用错误行设置正确的执行顺序。这里您应该记住,计数器输出任务必须在频率输出任务之前启动,因为计数器任务只有在频率输出任务发送触发器之后才会启动。总的来说,代码应该与此类似(当然,可以调整每个计数器输出的高低时间和初始延迟的设置):
2.创建一个虚拟模拟输入任务,并使用 AI 采样时钟作为两个计数器的时钟源。当AI任务启动时,AI虚拟任务会发送AI启动触发信号,从而启动计数器。该触发器可用于启动其他 DAQ 任务。通过在计数器任务中设置 DAQmx Timing VI 以引用相同的采样时钟,我们能够确保任务在 AI 任务时钟启动时启动。
一个常见的同步用例是使用同一时钟启动模拟输入和模拟输出。这种情况需要两个代码链:一个用于模拟输入,另一个用于模拟输出。使用“DAQmx定时”VI指定每个代码链所需的连续操作。对于模拟输出定时,选择默认的“源”输入,这意味着模拟输出操作将根据默认的模拟输出时钟(内部时钟)运行。而对于模拟输入“DAQmx定时”VI,用户只需指定“源”作为模拟输出的采样时钟。这样,模拟输入和模拟输出操作便会根据模拟输出的定时信号运行
参考时钟同步的另一种方法是将采样时钟从 PXIe-6535 或另一个模块(主设备)导出到 PXI 触发线上,然后将从属 PXIe-6535 的采样时钟路由到该线。观察 PXIe-6535 可用的设备路由,数字输出采样时钟 ( /DO/SampleClock ) 只能路由到PXI_Trig7。
与其他C系列模块不同,具有delta-sigma ADC(DSA)的模块需要同步采样时钟时基,以实现采样时钟同步。
由于CompactDAQ机箱中内置的可编程功能输入(PFI)线的最大带宽为1 MHz,低于所有DSA模块的内部时基,因此这些PFI线不能用于在多个cDAQ机箱上的DSA模块之间实现采样时钟同步。 。
为了同步DSA模块,有几种潜在的解决方案。为了简单起见:
National Instruments建议尽可能使用启用TSN的设备进行多机箱同步,如果无法使用TSN则建议使用NI 9469。仅当其他方法不可行时才应使用方法3,因为不适当的电缆连接和增加的编程复杂性可能会引入其他可能的同步错误源。
有关使用启用TSN的机箱执行同步的更多详细信息,请参见LabVIEW中使用NI-DAQmx的模拟输入C系列模块的基于时间的同步相关说明,如果使用9469设备进行同步,请参见LabVIEW中基于NI-DAQmx的模拟输入C系列模块与基于信号的同步相关说明。尽管未明确提及,但后者可以用于标识使用方法3所需的属性。
GPS 同步使测量系统能够在极大的区域内进行同步测量。GPS 提供了一种共享定时信号的方法,无需为每个测量系统铺设定时电缆。GPS 的另一个好处是您的数据始终带有全球时间标准的时间戳,这使您可以将您的数据与其他系统的数据集关联起来,这些系统也以高置信度同步到 GPS。一些可以利用 GPS 优势的应用包括结构监测、电网监测和地面振动监测。本文将概述如何使用 NI 数据采集(例如 M 系列或 S 系列)设备设置 GPS 同步系统。
为了使数据采集设备同步,它们必须同时采样数据。实现此目的的一种方法是为每个设备提供相同的外部采样时钟。当 PXI 机箱没有通过任何定时信号进行物理连接时,本地采样时钟需要从全球时间参考(例如 GPS)导出。GPS 规范时钟会不断调整以保持与 GPS 信号同步,因此它不会像自由运行的振荡器那样持续漂移。NI PXI-6683 能够创建基于 GPS 等时间参考的时钟信号。它还可以在特定时间启动或停止该时钟。为了确保时钟信号在通过 PXI 机箱路由时有最小的偏差,使用了 PXI Star 触发线。PXI Star 系列经过专门设计,PXI 插槽之间的偏差小于 1ns。通过使用 PXI-6683 生成受 GPS 控制并通过 PXI Star 触发线路由的外部采样时钟,单独机箱中的数据采集设备可以更紧密地同步。
虽然此 GPS 架构不需要同步布线,但仍然需要能够通过 TCP/IP 与每个系统进行通信。如果系统无法物理连接到网络通信系统,则可以使用无线局域网 (WLAN)。使用 WLAN 时需要考虑的因素是与有线网络相比传输速度较慢,以及应用程序的范围、可靠性甚至安全性要求。
由于 PXI 机箱之间不需要布线来进行同步,因此为了扩展测量系统,您只需复制一个 GPS 同步节点即可。下图显示了如何扩展系统。
GPS 为整个系统架构提供了很大的灵活性。每个节点不需要相同。例如,在许多应用中,传感器在测试区域上的分布并不均匀。这意味着测量设备也需要具有类似的物理分布。对于 GPS 同步,一个节点可能仅包含 16 个通道,而另一个节点则包含 400 个通道。如果特定位置需要多个通道,则可以通过有线解决方案将多个 PXI 机箱同步在一起,同时将整个节点同步到 GPS。这是混合有线和 GPS 同步系统的示例。下面链接的示例展示了如何将单个 PXI 机箱到多个 PXI 机箱与单个 GPS 天线同步。
当多个系统同步在一起时,需要一个协调器来让所有系统一起工作。协调器负责查询所有系统的当前时间,计算启动采样时钟的最佳时间并将结果转发回每个系统。协调器软件可以驻留在任何可以通过 TCP/IP 与所有测量系统通信的 PC 上。它甚至可以驻留在其中一个测量系统上。
获取数据后,最常见的流程是:
通常,应用程序中不只执行其中一项,而是执行它们的组合。下面链接的 GPS 示例将把所有数据保存到本地硬盘,并通过 TCP/IP 将单个通道传输到“协调器”。这允许在获取数据时对数据进行一些基本监控。采集完成后,来自每个测量系统的数据文件可以合并在一个位置进行处理或数据存储。
在确定需要哪种同步方案时,同步级别是需要考虑的重要因素。使用电缆同步解决方案,您可以实现最严格的精度,但您的系统受到电缆长度的限制。采用 GPS 同步方案时,由于 GPS 信号的误差,授时精度会降低,但测量系统可以放置在任何可以接收到 GPS 信号的地方。
下面的结果显示了每个同步到 GPS 的设备之间的不匹配。来自函数发生器的相同信号被提供给两个NI 6133设备,每个设备位于不同的 PXI 机箱中。计算信号之间的时间差并将其绘制在图表上。这个过程重复了很多次。
虽然由于硬件设置的固定性质,有线同步方案的结果没有变化,但 GPS 同步结果却有变化。这种变化是由于 GPS 规定的样本时钟之间的差异造成的,您可以看到时钟如何随着时间的推移不断修正。与 DAQ 设备上的内部时基相比,PXI-6683 上用于创建采样时钟的训练算法确实会增加时钟抖动。这种增加的抖动将在测量中显示为额外的相位噪声。
相关参考链接:
使用 NI PXI-668x 定时和同步模块配置 GPS 同步:Configuring GPS Synchronization with the NI PXI-668x Timing and Synchronization Module - NI
选项1:频道扩展
如果可以使用Channel Expansion 将这两个设备用于一项任务, 并且这些设备支持Filter Delay Removal ,则驱动程序将自动补偿延迟。需要注意的是,模块将需要以相同的速率采样数据。
在不支持滤波器延迟消除的设备(例如C系列设备)上使用通道扩展时,PXI-4461 / 4462或PXI-447x模块将使设备同步,但不会消除滤波器延迟。
选项2:使用RemoveFilterDelay属性
如果无法在单个任务中使用这些设备(即,如果您需要不同的采样率) 并且 DSA设备支持“ Filter Delay Removal” (例如PXIe-4464),则可以使用AI.RemoveFilterDelay属性( DAQmx通道属性节点:“模拟输入”»“常规属性”»“滤波器”»“删除滤波器延迟” )以自动丢弃滤波器延迟样本。
选项3:手动补偿
如果这两个设备不能在一个任务中使用,并且不支持“ Filter Delay Removal”功能,例如C系列,PXI-4461 / 4462或PXI-4472模块,则可以通过在驱动器上执行虚拟读取来手动补偿延迟。在同时从两个设备读取样本之前,DSA通道会在DSA设备上先丢弃出一定数量的初始样本,如下所示:
注意:要读取和丢弃的样本数量可以通过实验确定,也可以通过查看DSA设备规格文档中的组延迟或滤波器延迟方程或表格来确定。
选项4:对DSA设备使用模拟触发
如果您使用模拟触发来启动DSA设备任务,则不会观察到滤波器延迟,因为模拟触发电路位于抗混叠滤波器之后;因此,请参见图5。这样可以防止模拟信号的混叠分量触发触发器。
以下是您可能需要使用外部采样时钟的三种情况。
如果您要对需要非 N 分频采样频率的信号进行采样,您可能需要使用外部采样时钟。通常,您将配置您的系统,以便您想要采样的输入信号附带 TTL 脉冲序列,该脉冲序列充当外部采样时钟。该信号的每个脉冲用于同时采样所有通道的数据。
外部时钟提供了一种通过将公共时钟分配给多个设备来将高速数字化仪与测量系统中的其他设备同步的方法。此外,外部时钟可以在多个 PXI 机箱之间提供一致的时基。
需要极其精确时基的应用将受益于基于铷或恒温晶体振荡器 (OCXO) 的频率源的使用。这些设备的精度可以优于±100 ppb。例如,精度为 ±100 ppb 的 OCXO 源可产生不确定度为 ±1 Hz 的 10 MHz 时钟。PXI 同步模块非常 适合此类应用。它具有高精度 OCXO 或 TCXO 时钟选项,该模块可以将其驱动到 PXI 10 MHz 参考时钟线路,而不是 PXI 背板时钟。因此,所有具有锁定到 10 MHz 时钟信号的 VCXO 的仪器都继承了精度。