查看: 291|回复: 8
收起左侧

[FPGA] 关于千兆以太网,UDP传输漏包的问题

[复制链接]

2

主题

5

帖子

15

积分

实习生

 楼主| 发表于 2017-5-15 09:16 | 显示全部楼层 |返回版面||阅读模式
本帖最后由 sunnysnow 于 2017-5-18 09:19 编辑

      FPGA千兆以太网发送数据,数据来自AD采集(有60MHz),经FIFO缓存。采用的UDP协议,一帧一帧传输数据,最后通信成功,但是漏包严重,后来发现是因为:AD不停地采集数据,但每一帧UDP数据包还需要传输包头、地址、端口号等,这段时间里采集的数据就丢失了。请问大家有没有什么解决办法呢?补充:我用的FIFO,它缓存不了数据:

括号里是一个周期的正弦波信号。很明显写和读数据的长度是一致的,但箭头指向的就是数据漏掉的部分。我必须给一个读使能无效的信号,刚无效几个时钟后,就写满了?不可能啊?我的fifo读、写时钟频率和数据位宽是一致的,深度4096.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

0

主题

20

帖子

60

积分

初级技术员

发表于 2017-5-15 15:23 | 显示全部楼层 |返回版面
发的没有采集的快,肯定漏

2

主题

5

帖子

15

积分

实习生

 楼主| 发表于 2017-5-15 19:22 | 显示全部楼层 |返回版面
bbjj123 发表于 2017-5-15 15:23
发的没有采集的快,肯定漏

你说的对,但我的不是这个问题,我的问题是UDP包的发送是有格式的,它在添加包头等信息时,采集的数据就漏掉了。发送和采集的频率刚好是合适的。

0

主题

20

帖子

60

积分

初级技术员

发表于 2017-5-16 10:04 | 显示全部楼层 |返回版面
本帖最后由 bbjj123 于 2017-5-16 10:06 编辑

缓存数据

0

主题

20

帖子

60

积分

初级技术员

发表于 2017-5-16 10:06 | 显示全部楼层 |返回版面
或者搞个乒乓操作

1

主题

94

帖子

292

积分

中级技术员

发表于 2017-5-16 16:45 | 显示全部楼层 |返回版面
经过FIFO缓存,还丢数据,要么FIFO数据深度不够,要么就是发的比采集的慢

2

主题

5

帖子

15

积分

实习生

 楼主| 发表于 2017-5-16 20:23 | 显示全部楼层 |返回版面
Yan.hong.yu 发表于 2017-5-16 16:45
经过FIFO缓存,还丢数据,要么FIFO数据深度不够,要么就是发的比采集的慢

我用FIFO发现它只有一个先进先出的功能,不会接着往后缓存,它会溢出,必须写读是同步的。关于这点我也很困惑

1

主题

94

帖子

292

积分

中级技术员

发表于 2017-5-17 09:32 | 显示全部楼层 |返回版面
sunnysnow 发表于 2017-5-16 20:23
我用FIFO发现它只有一个先进先出的功能,不会接着往后缓存,它会溢出,必须写读是同步的。关于这点我也很 ...

发送和采集是不是两个时钟域的?如果是两个时钟域的,你的FIFO需要读时钟和写时钟。
其实你可以仿真一下,很快就能解决问题。
     

13

主题

776

帖子

2467

积分

初级工程师

发表于 2017-5-21 21:52 | 显示全部楼层 |返回版面
采集时钟频率降低点啊,
专业图像处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

热门推荐上一条 /2 下一条

分享 快速回复 返回顶部 返回列表