芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 6135|回复: 0

AC6102 以太网UDP GMII回环实验手册

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 424

    主题

    784

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15862
    QQ
    发表于 2022-3-16 09:40:54 | 显示全部楼层 |阅读模式

    实验介绍
    ----为了完成基本的以太网回环测试,我们提供了一个基于FPGA的以太网回环测试DEMO。该DEMO使用UDP协议,接收PC发送的UDP数据包,提取出其中的数据部分并使用UDP协议发回给PC。整个系统框图如下图所示:
    实验框图.jpg

    ----本例程在小梅哥团队出品的AC6102开发板上使用verilog实现以太网UDP协议通信。FPGA程序接收到上位机发来的UDP数据包,通过解析目标MAC address来确定是否是发给FPGA的数据包。如果是的话,把数据包中的数据部分保存到fifo中。然后FPGA 的发送程序再把 fifo 的数据包发送回上位机。


    程序说明
    ----本例对应的例程工程压缩包名为AC6102_GMII_UDP_Loopback_Test.rar,该文件可在我们提供的配套资料中找到。也可以从下面的附件下载。
    AC6102_GMII_UDP_Loopback_Test.zip (74.29 KB, 下载次数: 319)

    文件列表.png

    ----其中rtl文件夹下存放的为程序源码,这里对其中几个重要文件(夹)简单说明下功能:

      
    文件或文件夹名
      
    文件或文件夹功能描述
    GMII_UDP_Loopback_Test.qpf
    工程文件,使用Quartus II 13.0打开。
    GMII_UDP_Loopback_Test.qsf
    工程配置文件,记录了工程相关的各个设置,包括引脚分配。
    GMII_UDP_Loopback_Test.sdc
    工程的时序约束文件,约束了时钟和以太网的IO时序。
    stp1.stp
    Signaltap II工具的设置文件,抓取MII接口的发送和接收接口的时序信息
    stp1_auto_stripped.stp
    stp1.stp运行后抓取的上一次数据的记录
    -rtl/udp_gmii_rx/udp_gmii_rx.v
    UDP协议接收模块,该模块能够完整的解析从以太网PHY的MII接口收到的数据并解析得到UDP报文的数据部分。事实上,该模块是实现了MAC层、IP层、UDP协议层的多层解析之后,最终直接得到传输的用户数据部分。
    -rtl/udp_gmii_rx/crc32_d8_rx.v
    CRC32校验逻辑,实现对MAC层数据的CRC32校验功能
    -rtl//udp_gmii_rx/ip_checksum.v
    IP报头校验和计算模块,该模块通过IP首部校验和算法对IP的头部进行计算,并得出一个数值,该值用来检测数据是否出错,如果计算的结果与IP数据报本身包含的报头校验和不相等,则数据在传输过程中发生了错误,当被舍弃。
    -rtl/udp_gmii_tx/eth_dcfifo.v
    UDP发送数据缓存FIFO,用户将需要发送的数据写入该FIFO,然后由UDP_Send中的发送逻辑将数据读出并最终以UDP协议发送。
    -rtl/udp_gmii_tx/CRC32_D8.v
    CRC32校验逻辑,计算经由MAC层发送的数据的CRC值并附加在MAC结尾发送。
    -rtl/udp_gmii_tx/UDP_Send.v
    UDP协议发送模块,该模块将用户输入的需要发送的数据内容经过UDP、IP、MAC层协议层层打包后,通过GMII接口输出给以太网PHY芯片,以完成数据的发送。
    -rtl/GMII_UDP_Loopback_Test.v
    整个工程的设计顶层文件,例化了UDP接收和UDP发送模块, 实现完整的回环测试功能。
    -output_files
      
    /GMII_UDP_Loopback_Test.sof
    预先编译好的FPGA配置文件,将该文件下载到开发板中即可进行测试。

    实验步骤

    ----1、   使用网线将开发板上的以太网接口和您当前调试测试工程用的PC机的网口连接起来。连接好下载线缆并给开发板上电。
    ----2、   双击GMII_UDP_Loopback_Test.qpf以打开工程(强烈建议使用工程创建时候对应的版本即Quartus II 13.0打开,使用其他版本打开或编译遇到问题,请自行解决)。
    ----3、   下载GMII_UDP_Loopback_Test.sof文件到开发板中,注意这一步一定要先于下面的步骤执行,否则以下操作无法正常进行。

    ----4、   在电脑上进入【控制面板】->【网络和 Internet】->【查看网络状态和任务】,查看网络连接状态。需要看到在活动网络中有本地连接存在,才表明开发板和电脑的网络才已经连通。此时如果重新下载sof文件到开发板中,会发现此本地连接会先消失,然后再重新出现。至于显示的无法连接到网络选项,意思是指无法连接到互联网获取网络上的数据,这是正常的,无需在意。

    检查连接状态.png

    ----5、   点击“本地连接”文字,以查看该网络状态,确认当前连接速度为千兆速率(1000.0 Mbps)

    检查连接速率.png

    ----在上述本地连接状态中,点击属性,并在弹出的属性对话框中双击【Internet 协议版本 4 (TCP/Ipv4)】选项,然后再弹出的属性对话框中设置静态IP地址。如下图所示。

    设置IP地址.png

    ----6、   由于本测试工程不支持ARP协议,因此只能通过静态绑定的方式来强制将开发板的IP地址和MAC地址关联在一起。这样,当 PC发送给192.168.0.2的数据包的时候,目标MAC地址自动为开发板的MAC地址。

    ----操作时先以管理员身份运行cmd.exe程序(该文件在C:\Windows\System32路径下),也就是我们常说的命令行窗口。由于有用户反应在使用时无法成功绑定arp,经过分析就是操作权限不够,所以这里强调要以管理员身份运行cmd.exe。然后在窗口中输入下述命令:
    arp   -s   192.168.0.2   00-07-ed-ac-62-00
    ----绑定后我们可以用arp  -a命令来查看PC上绑定的结果,如下图所示:
    绑定arp.png
    常见错误1.png
    ----7、   打开网络调试助手(NetAssist.exe)并按照如下所述设置各项参数。
    --------1)、选择协议类型为UDP。
    --------2)、设置本地IP地址为192.168.0.3。
    --------3)、设置本地端口号为6102。
    --------4)、点击【连接】按钮以创建连接,连接上后该按钮为红色“断开”字样。
    --------5)、连接上后,设置目标主机为192.168.0.2,目标端口为5000。
    --------6)、在文本框中输入希望发送的文本内容。
    --------7)、点击发送按钮,即可在上方的接收窗口中显示FPGA发回的数据,与发送的内容一致.
    --------8)、在下方的计数器中,检查发送的数据个数与接受的数据个数是否一致。

    通信测试.png

    ----8、   在发送窗口中输入你希望发送的数据,然后点击发送,则上方的接收窗口会接收到与发送框完全一样的内容,每点击一次发送,就会收到一次数据。

    ----9、   安装网络抓包工具 Wireshark, 我们在实验的时候可以用这工具来查看 PC 网口发送的数据和接收到的数据。

    ----10、   打开安装好的wireshark抓包工具。在软件界面选择您PC的有线网卡,按开始按钮开始抓包。(不同的版本界面有所差异,我们提供的是
    Wireshark_win64_V1.12.4_setup.1427187922.exe)。

    设置抓包.png

    ----在wireshark抓包窗口我们可以看到开发板(192.168.0.2)向PC网口(192.168.0.3)发来的数据包。

    抓包结果.png

    ----11、   双击stp1.stp文件以打开嵌入式逻辑分析仪工具,然后run,PC端发送数据,则可以在Signaltap II上抓取到数据波形,如下图所示:

    stp抓取波形.png

    ----至此,则完成了基于FPGA的千兆以太网GMII接口的UDP协议数据收发回环测试。在本例中介绍的设置IP地址、绑定ARP地址、wireshark抓包、以太网调试软件的使用等内容,在后续的实验中都有可能需要,请大家留意。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-29 10:06 , Processed in 0.115850 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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