我遇到的问题是,数据发送到串口的速率(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号,下一个循环号没有。等等......换句话说,这意味着我将失去一些周期,我对此感到满意。
您认为这种方法有意义吗?
在这种情况下我还需要缓冲吗?
我如何知道需要跳过多少个周期?我认为这将取决于输入信号速率(50赫兹)和绘图/接收速率(比如8赫兹),但我并不完全清楚如何计算......
输入信号(50 Hz)来自fpga vhdl,NIos系统可读取50 Mhz,但串口接收速率或Matlab绘图速率为8 Hz。
感谢任何输入......谢谢