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