用FPGA做数据采集,每周期采128个,采完的数通过FIFO送给NIOS2,可NIOS2每周期只能读到二三十个点,望指点
AD用8位的TLC549,FIFO是直接调用FPGA中的模块,同步异步的都试过。用异步FIFO时,写时钟是20M,读时钟60M,80M,100M,120M都试过。下面是程...
AD用8位的TLC549,FIFO是直接调用FPGA中的模块,同步异步的都试过。用异步FIFO时,写时钟是20M,读时钟60M,80M,100M,120M都试过。下面是程序图。望高手指点!!!!!!!!!1
展开
4个回答
展开全部
你这个要是不能断点只能用大点FIFO缓存128个点,存完以后才能读,不然读时钟比写时钟快那么多,很容易读空,你查看了你的FIFO状态信号吗,肯定出错了,里面都没数据了你还在读。
追问
您好,我是这么做的。我设置FIFO的深度为2048,这个容量应该够了吧。当存满128个点的时候会产生一个半满信号,当NIOS2读到这个信号时才开始读FIFO当中的数。还请指点。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也是新手。。。FIFO不就是用来解决读写时钟不一样的情况才用的么。。。NIOS2只能读到32个点是因为他的频率低啊,不影响你达到目的吧。你看读完以后有没有丢失的点啊,没有丢失就没问题啊
追问
NIOS2的频率最高我给了120M,我买的开发板最高只能到这个频率。120M的频率应该不低了吧,可还是不能把128个点全部读到,只能读到四十多个。真正做的话要每个周期采512个点,采完这些点然后做FFT,如果丢点的话就不行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样是看不出 端倪来的,最好看看你的程序,如果方便,最主要的原因估计就在fifo和时钟匹配上面了,yang_0531510@163.com ,方便就发到这个邮箱,一起学习进步一下!
加油!
加油!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开始读FIFO的时间早了。
更多追问追答
追问
请问应该什么时候读FIFO比较正确啊?
追答
每次读之前确认 FIFO empty=0(FIFO里有数据) 就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询