在这种情况下我是否需要缓冲,如果是这样,怎么样?

时间:2015-07-29 15:15:22

标签: c matlab buffer nios

我遇到的问题是,数据发送到串口的速率(50Hz)比串口接收的速度快(8Hz)。

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

我正在使用Quartus 12.1 sp1,vhdl和Nios II在C代码中编写DE0-Nano。在Qsys中,我使用了一些核心,如计时器,sdram,uart,pios等。

我不知道这是否可行。我想做什么,因为我可以绘制图表的速率比读取输入信号的速率慢。

如果我知道每个输入信号的开始,请说这个点由count = 0指示,每当我检测到count = 0时,我知道它是每个输入信号的开始,我记录了多少个周期,比方说,我只想在输入信号的每10个周期绘制图形,我绘制循环1号,跳过10个循环,绘制循环号。 11,跳过循环12号到20号,下一个循环号没有。等等......换句话说,这意味着我将失去一些周期,我对此感到满意。

  1. 您认为这种方法有意义吗?

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

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

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

    感谢任何输入......谢谢

0 个答案:

没有答案