【问题标题】:chart speed labview FPGA reading signal图表速度labview FPGA读取信号
【发布时间】:2021-07-16 03:05:31
【问题描述】:

我正在使用 Labview FPGA 代码从波形发生器读取正弦波,当频率约为 1Hz 时,这是我读取的(如预期的那样)

但是当我增加频率时,就会发生这种情况。

我看到滴答速度没有改变,所以我认为如果它加速到我需要的速度以匹配我的正弦波,它就会得到解决。此外,我将数据通过 FIFO 传递到 .txt 文件,然后绘制该文件,我也看不到正弦波,所以这不仅仅是图表显示的问题。

我该如何控制?

PS。我检查了我的硬件,它支持 50 MS/s,所以很好地读取 10 Hz 正弦波应该不是问题。特别是,我使用的是 NI 5751 ADC、FPGA 7951R、PXI 1071 机箱。

这是代码

【问题讨论】:

  • 您在谈论代码,但我只能看到两个图。也许 LABVIEW 方案不能很好地转化为 FPGA 世界,但我确信这种应用程序有几个示例代码。你先检查这些了吗?
  • @ChristianB.我刚刚添加了代码。我实际上找不到任何例子。此外,我认为这应该很容易自己做并在此过程中学习,但我卡住了
  • 从代码中我可以看出,影响采集速度的主要参数有两个。一个是您正在使用的时钟 - 您可以在 FPGA 目标下的项目资源管理器中看到它。它定义了 FPGA 使用的时钟频率 (fclk)。其他是您在提供的VI循环中使用的循环定时器VI。如果我没记错的话,您的采样周期应该大约是 1/fclk * 滴答数(在您的情况下,这是由连接到循环计时器的 Count(usec) 控件定义的)。所以,如果你想更快地采样,我最好的猜测是尝试减少 Count(uSec) 值。

标签: fpga labview oscilloscope


【解决方案1】:

您将看到Aliasing 波形中呈现的数据。

在这种情况下,这是由于传递给波形的数据的采样率明显不足。 正如@Kerghan 提到的,这里的主要问题似乎是您的抓取数据速率与您尝试查看的数据采样不正确相关。 我建议如果您尝试查看 10 Hz 波形,您应该使用20 Hz ( 50000 uS ) 的最低显示速率。

顺便说一句,对于来自基于文本的语言的开发人员,您已经陷入了传统的 LabVIEW 陷阱。我建议您从代码中删除平面序列结构,因为这会强制执行以下逻辑:

  • 等待 X uS 时间
  • 然后从 AI 读取数据 如果读取数据和写入 DMA 所用的时间不为零,那么您的时间就会稍微偏离一点,而且很难说出原因。

【讨论】:

  • 非常感谢!我以前读过别名这个术语,但从来没有理解过,现在有了这个特殊的例子,我可以更好地理解它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-17
  • 2013-02-02
  • 1970-01-01
相关资源
最近更新 更多