来自C#中USB 3.0端口的实时信号图?

时间:2018-09-16 06:28:14

标签: c# opengl mschart zedgraph real-time-data

我想在C#程序中绘制一个来自USB3.0端口的非常快的信号(它实际上是通过FTDI:FT601以50MHz数据速率传输到我的计算机的传感器的信号)。该程序应该能够显示实时数据。对我来说很重要的信号带宽约为4kHz-200kHz。

我尝试了一些用于绘制实时数据的库,例如:OpenGL,C#MSChart,ZedGraph库。但是到目前为止,从这些不同的方法获得的最高速度大约是100Hz,这还不足以显示我的传感器检测到的脉冲响应。

有什么方法可以帮助我更快地显示信号?

1 个答案:

答案 0 :(得分:4)

让我们假设您有一台速度无限快的计算机。现在,您获得更新最快的速度将取决于 display 设备的刷新率。

那里的普通显示器的刷新率为60Hz。在这样的设备上,您将永远每秒不能显示60多个更新。更好的显示器可以做到120Hz。但是您找不到比这更好的东西了。

此外,大多数LCD的等待时间(从计算机发送图像到实际出现在屏幕上的时间)大约为20 + ms。这样也会使您感到困惑。

如果要显示的频率比显示设备实际显示的频率高,最好的 方法是在发送到每个帧时简单地显示多组数据显示器。因此,与其尝试一次将100kHz的数据发送到监视器一个样本,不如将200kHz分成60Hz的组。因此,您应该在单个60Hz帧中显示3'333个样本。或取这些样本的平均值并提出。或对它们进行其他统计分析,并以汇总形式显示。