Networking FPGA-PC之间的以太网数据传输

Networking FPGA-PC之间的以太网数据传输,networking,udp,ethernet,Networking,Udp,Ethernet,我正在开发一个逻辑核心,使用FPGA板上的LAN8710物理层,通过以太网在FPGA和PC之间执行数据传输 我已经实现了将一些UDP数据包从FPGA传输到PC。这是一个符合PHY传输要求的简单内核。它构建UDP包并将其传输到PC 为了检查PC上的接收情况,我使用Wireshark,如上所述,我正确接收数据包。我用自己编写的一个简单的UDP接收器检查了接收情况 但是,我注意到,只有当Wireshark在PC上运行时,我才会收到这些数据包。我的意思是,如果Wireshark打开,我的应用程序也会收到

我正在开发一个逻辑核心,使用FPGA板上的LAN8710物理层,通过以太网在FPGA和PC之间执行数据传输

我已经实现了将一些UDP数据包从FPGA传输到PC。这是一个符合PHY传输要求的简单内核。它构建UDP包并将其传输到PC

为了检查PC上的接收情况,我使用Wireshark,如上所述,我正确接收数据包。我用自己编写的一个简单的UDP接收器检查了接收情况

但是,我注意到,只有当Wireshark在PC上运行时,我才会收到这些数据包。我的意思是,如果Wireshark打开,我的应用程序也会收到这些数据包,并且下图中接收数据包的计数器会增加。(这张照片不是我的,只是网上的一张)

如果我关闭Wireshark,电脑将停止接收数据包,接收数据包的计数器也将停止。我的申请也停止接收

  • 虽然是网络方面的新手,但我怀疑这个问题与PC方面有关。好像Wireshark正在“打开/关闭”以太网通信通道,或者类似的东西。有人知道这个问题吗

  • 为了构建一个在PC和FPGA之间传输数据的功能内核,我开发了一个传输和接收UDP数据包的内核。下一步将是ARP实现(据我所知,让PC识别我的FPGA板)。在这两个设备之间执行全双工数据传输需要什么协议

  • 事先非常感谢


    migue.

    检查您是否能够通过FPGA在PC端的以太网驱动程序级别为单个传输数据包获得适当的接收中断。如果您没有收到接收中断,请在传输端(FPGA)检查正在传输的数据包是否存在适当的传输中断。这将主要帮助你解决问题

    据我所知,wireshark只是一个数据包分析器/嗅探器。然而,如果怀疑wireshark,一种选择可能是尝试使用备用数据包嗅探器,以排除是否发生任何此类情况


    用于确定网络问题和确定网络统计数据的便捷工具应为netstatnetstat-sp udp应仅列出udp的统计信息。netstat还可以使用许多其他参数进行诊断。

    检查您是否能够通过FPGA在PC端为单个传输数据包获得以太网驱动程序级别的适当接收中断。如果您没有收到接收中断,请在传输端(FPGA)检查正在传输的数据包是否存在适当的传输中断。这将主要帮助你解决问题

    据我所知,wireshark只是一个数据包分析器/嗅探器。然而,如果怀疑wireshark,一种选择可能是尝试使用备用数据包嗅探器,以排除是否发生任何此类情况


    用于确定网络问题和确定网络统计数据的便捷工具应为netstatnetstat-sp udp应仅列出udp的统计信息。netstat还可以使用许多其他参数进行诊断。

    在我解决了这个问题很多个月后,我发布了一篇文章来帮助那些在同一点上出现口吃的人

    最后我发现Wireshark使用一种工具来访问计算机的网络链接层。此工具允许Wireshark嗅探指定网络设备上的所有传入和传出数据包。要做到这一点,第一步是打开网络设备,这就是为什么我的程序只有在Wireshark打开时才能工作


    问候。

    几个月后,我解决了这个问题,我发了一个帖子来帮助一个在同一点上结巴的人

    最后我发现Wireshark使用一种工具来访问计算机的网络链接层。此工具允许Wireshark嗅探指定网络设备上的所有传入和传出数据包。要做到这一点,第一步是打开网络设备,这就是为什么我的程序只有在Wireshark打开时才能工作


    问候。

    谢谢您的回复,卡蒂克。如何检查PC端的接收中断?这取决于您的处理器和设计。因此,您可能需要检查相应的中断计数器或拥有自己的计数器或调试日志。感谢您的回复。如何检查PC端的接收中断?这取决于您的处理器和设计。因此,您可能需要检查相应的中断计数器,或拥有自己的计数器或调试日志。