AD采集,UDP传输

2019-07-15 21:27发布

       AD连续采集,fifo缓存,读频率大于写频率,千兆以太网传输,labview接收显示,大致在4K个点左右数据开始无规律漏包;如果从ROM中连续写入fifo,labview接收数据就是正确的。请问有人知道到底是什么原因吗?为什么总是在4K个点后呢?PS:signal tapii 里观察数据无丢失。


补充内容 (2017-8-30 15:30):
连续不停采集的数据能利用verilog编写的UDP协议传上labview而不漏包吗?总是感觉理论可行,但实际上就有问题!

补充内容 (2017-8-31 15:15):
我使用两个fifo交替存储,存到一定数据,才开始传输,写的频率远小于读的频率。理论上是不会有溢出情况的。但后来发现,程序运行过程中,有时该读取fifo数据,但并没有读出。可是条件成立,读使能,也有数据。它为什么不正确运行?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
若愚JX
2019-07-16 15:20
zhq420923 发表于 2017-8-31 20:06
”如果从ROM中连续写入fifo,labview接收数据就是正确的“,这个是测试过的么,那检测一下AD采集端,采集端有没有可能丢数据。
”signal tapii 里观察数据无丢失“,是fifo读出的数据没有丢失么
确认一下fifo读取的是没有数据,还是读取的数据就是0x00 ...

后来发现,读ROM也是有问题的,和AD同样的问题。
我一直采数据,两个fifo交替存储,一个fifo存够数据后,才一次性读空,并传输。写fifo的频率很慢,如果正常运行是不会溢出的。
后来发现,程序有时并没有正常运行,条件到了,本应该读数了,但它读了一个就过了。
感觉像时序错乱了。labview里的结果就是4K个点后数据错乱。如果时序约束没约束好,会有这种错误吗?

一周热门 更多>