1

我有一个问题,数据发送到串口的速率(50Hz)比串口接收的速率(8Hz)快得多。

基本上,我所拥有的是,数据从 fpga vhdl 块发送到 NIos II 系统,Nios II 系统将数据发送到串口,Matlab 访问串口实时绘制图形。

我正在使用用 C 代码为 DE0-Nano 编程的 Quartus 12.1 sp1、vhdl 和 Nios II。在 Qsys 中,我使用了一些内核,例如 timer、sdram、uart、pios 等。

我不知道这是否可行。我很想做的事情,因为我绘制图表的速度比读取输入信号的速度慢。

如果我知道每个传入信号的开始,假设这个点由 count=0 表示,每次我检测到 count=0,我知道它是每个传入信号的开始,我会跟踪多少个周期,比如说,我只想每输入信号的 10 个周期绘制一次图表,我绘制第 1 个周期,跳过 10 个周期,绘制第 1 个周期。11,跳过第12到20个循环,下一个绘图循环。21 等...换句话说,这意味着我将失去一些周期,在这之间我可以接受。

  1. 你觉得这种方法有意义吗?

  2. 在这种情况下我还需要缓冲吗?

  3. 我怎么知道我需要跳过多少个周期?我认为这取决于输入信号速率(50 Hz)和绘图/接收速率(比如 8 Hz),但我并不完全清楚如何计算......

输入信号(50 Hz)来自 fpga vhdl,NIos 系统可以读取 50 Mhz,但串口接收速率或 Matlab 绘图速率为 8 Hz。

感谢任何输入...谢谢

4

0 回答 0