如题,近来在调试xilinx的virtex6,需要实现FPGA与PC端之间的相互通信,遇到了下面的一些问题,希望大伙能够一起讨论一下:
1、我用的是xilinx的virtex6中的tri_ethnet_mac_IP CORE中自带的example程序,直接与PHY芯片链接,并用UCF配置好管脚后,是不能编译成功的,最后修改了其中的GTX_CLK为差分输入,并增添PHY_RESET信号等,终于可以调试通过了;
2、PC至FPGA时,利用winpcap发送UDP数据(源MAC地址为本机地址,目的MAC地址为受限广播地址,全F,剩下的其他字段则根据协议随便设置,包括目的IP和源IP都是随意设置的),这时,用chipscope可以抓到PC发往FPGA的数据,PC端的wireshark抓包工具也可以抓到发送的数据,表面PC至FPGA是导通的,这里没有多大的问题;
3、问题在于FPGA至PC时,用的同样是IP CORE中的example程序修改而来的,即与PC至FPGA所用的程序是一样的,但是这里遇到了一些困惑:
1)FPGA板子的MAC地址如何查看/设置?建TEMAC核时的address flliter之类的与此有关吗?程序中的EMAC_PAUSE_ADDRESS之类的与此有关吗?
2)FPGA板子的IP地址如何查看/设置?因为PC端需要通过ping命令来检测PC与FPGA是否导通,这时需要目的IP地址;
3)严格按照以太网下的UDP协议封装后,直接通过PHY芯片发送至PC,用wireshark依旧没有抓到包,此问题怎么破?
4)FPGA发数据到PC,除了协议封装之类的问题,速率、时钟方面不甚了解,需要注意哪些问题吗?
4、FPGA与PC端,用TEMAC中的example程序调试千兆网口,已经搞了一个多星期了,没有头绪了,还望各位小伙伴们多指导、探讨......
5、现在连问题都不懂问了,还望各位多谅解......
FPGA与PC之间的千兆网口通信,很高级的东东
FPGA与PC之间的千兆网口通信,是很高级的东东喔。
1)FPGA板子的MAC地址如何查看/设置?建TEMAC核时的address flliter之类的与此有关吗?程序中的EMAC_PAUSE_ADDRESS之类的与此有关吗?
我想:FPGA板子的MAC地址应该在源文件中可以找到,估计是作为参数来定义
2)FPGA板子的IP地址如何查看/设置?因为PC端需要通过ping命令来检测PC与FPGA是否导通,这时需要目的IP地址;
我想:FPGA板子的IP地址应该在源文件中可以找到,估计也是作为参数来定义
3)严格按照以太网下的UDP协议封装后,直接通过PHY芯片发送至PC,用wireshark依旧没有抓到包,此问题怎么破?
我想:可以用示波器来看FPGA端 以及PC端(PC端估计麻烦点)是不是有数据包。
本人也不太熟,意见仅供参考。
[ 本帖最后由 goodeew 于 2013-12-17 14:27 编辑 ]
回复 5楼旅途尽美 的帖子
你的千兆以太网 东东太高级了,一般人难以接触到