【NI-DAQmx入门】模拟输出再生模式

发布时间:2023年12月26日

1.再生模式解释? ? ? ??

????????再生是指 DAQ 设备“重新生成”之前生成的样本的能力。换句话说,当启用再生时,写入用户缓冲区或 FIFO 的数据将被 DAQ 设备重复使用。通过这种方式,可以实现连续输出,而无需 LabVIEW(或其他 ADE)不断将新数据写入缓冲区。例如,可以将正弦波的单个周期写入缓冲器,并且可以使用再生来输出连续波形。

????????有两种再生模式:用户缓冲区(PC 内存)再生和 FIFO 再生。

????????NI-DAQ? 默认采用用户缓冲区再生,即使用 PC 内存中的用户缓冲区来写入和重新生成数据。在 LabVIEW 中,DAQmx Write 属性节点可用于操纵数据写入缓冲区的方式并禁用重新生成。在这种情况下,我们感兴趣的具体属性是 RegenMode 属性。请看下图。
?


????????通过 FIFO 再生,数据直接从板载 FIFO 再生。没有数据通过总线传输。此外,所有数据都必须适合 FIFO。要在 DAQmx 中启用 FIFO 再生,必须使用 DAQmx 通道属性节点。将“true”连接到 AO.UseOnlyOnBrdMem 属性。请看下图。

????????除 FIFO 再生模式外,用户缓冲区再生和非再生模式都可以随时将新数据写入 PC 缓冲区。因此,模拟输出信号可以随时更改。

????????然而,在用户缓冲区再生的情况下,可能会出现毛刺效应,即新旧样本的混合。?

2. 特定周期停止模拟输出再生模式

????????在再生模式下使用 DAQmx 任务时,无法确定当前正在生成哪个样本或覆盖循环缓冲区中的特定样本。

为了在特定循环次数后停止再生,可以使用以下选项之一作为替代方案:

  • 使用计数器作为模拟输出任务的采样时钟。
  • 如果事先已知周期数,请配置有限样本的模拟输出任务。

使用计数器任务

  1. 创建一个计数器,生成长度为(模拟输出波形中的样本数)x(所需周期数)的有限脉冲。
  2. 将计数器配置为模拟输出任务的采样时钟。
  3. 脉冲生成完成后,可以停止模拟输出任务。

?

生成有限样本

????????如果事先已知周期数,请使用(波形中的样本数)x(所需的周期数)有限样本配置模拟输出任务。

3. 加快模拟输出任务的速度

????????需要禁用再生,以便缓冲区不会被重复的数据填满,而在读取更改之前必须先读取这些数据。

????????因此,最优的解决方案将是:

  • 将启动任务和停止任务 VI 置于 while 循环之外
  • 为任务配置的非再生
  • 不使用板载缓冲区

????????因此,这将是通过更改输出值来更改模拟输出的最佳(尽管是简单的)解决方案:请参见下图


?

文章来源:https://blog.csdn.net/weixin_43894265/article/details/135221734
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。