遇到千兆网络开发上面的技术问题

2016-05-05 11:33:33 +08:00
 mazyi

用 C#编程在电脑上接受数据,有 1G 的带宽。

可是发送端(一个FPGA开发板)只有一个 Socket 发送端口,就是不论怎么样都打不满千兆。

想请问一下怎么样才能够打满千兆呀。

还有就是接收到了这么大的数据怎么处理呀,写如文件速度肯定没有这么快,难道可以考虑压缩算法啦?

先行感谢各位看官啦~orz

1841 次点击
所在节点    问与答
7 条回复
just4test
2016-05-05 12:25:13 +08:00
首先确定开发板的的接口和硬件性能是否能支持千兆。
其次买个固态硬盘。
mazyi
2016-05-05 12:51:52 +08:00
@just4test 确定支持,固态硬盘可以解决读写文件的问题,但是怎么解决带宽占不满的问题。
squid157
2016-05-05 14:23:39 +08:00
如果 CPU 什么的没跑满,看看是不是网线太烂导致重传太多
deben
2016-05-05 14:35:06 +08:00
听起来好像以前做的 LED 控制卡 233333
deben
2016-05-05 14:36:54 +08:00
FPGA 这端用的 GMII 吗? 直接用 DHL 写逻辑来做收发, 不要用软核. 另外, PC 端写最简单的 for 循环来测试.
mazyi
2016-05-05 17:31:22 +08:00
@deben FPGA 是 xilinx 的,直接跑的硬核。 CPU 应该是够用,我是直接在上面的 Linux 上面写的 Socket ,所以已经是理想的状态了,应用层的理想状态。最高带宽是 233M ,感觉是由于只开了一个端口的原因。
deben
2016-05-05 21:20:52 +08:00
@mazyi 如果一定要跑个处理器,感觉不太容易能达到 1G 的带宽(纯猜想,没实验)。

个人感觉折中的方案应该是自己做一个 buffer ,然后通过总线把处理过的数据送到 MCU/CPU.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/276457

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX