【NI-DAQmx入门】模拟输出再生模式
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 任务时,无法确定当前正在生成哪个样本或覆盖循环缓冲区中的特定样本。
为了在特定循环次数后停止再生,可以使用以下选项之一作为替代方案:
- 使用计数器作为模拟输出任务的采样时钟。
- 如果事先已知周期数,请配置有限样本的模拟输出任务。
使用计数器任务
- 创建一个计数器,生成长度为(模拟输出波形中的样本数)x(所需周期数)的有限脉冲。
- 将计数器配置为模拟输出任务的采样时钟。
- 脉冲生成完成后,可以停止模拟输出任务。
?
生成有限样本
????????如果事先已知周期数,请使用(波形中的样本数)x(所需的周期数)有限样本配置模拟输出任务。
3. 加快模拟输出任务的速度
????????需要禁用再生,以便缓冲区不会被重复的数据填满,而在读取更改之前必须先读取这些数据。
????????因此,最优的解决方案将是:
- 将启动任务和停止任务 VI 置于 while 循环之外
- 为任务配置的非再生
- 不使用板载缓冲区
????????因此,这将是通过更改输出值来更改模拟输出的最佳(尽管是简单的)解决方案:请参见下图
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!