基于FPGA+RTL8201的ARP实现(二)

基于FPGA+RTL8201的ARP实现(二)

1、设计需求

       在之前的设计中发现,使用FPGA+RTL8201或者FPGA+RTL8211这样的组合和PC端进行网络通信时,我们已经将板卡端的MAC和IP地址在电脑上进行了绑定,所以在上位机向板卡的IP地址发送数据时,便会将向绑定的MAC地址发送;
       但是这就造成了一种不便就是在更换了PC端时,我们必须重新绑定IP和MAC,本设计意在进行一个自动的ARP握手的过程;
       即在板卡上电后,便向PC端发送ARP请求,在一定时间内如果没有收到PC端的ARP响应,就重新向PC端发送ARP请求,收到PC端的ARP响应后,便去等待PC端的ARP请求,收到PC端的ARP请求后,便发出ARP响应,会送给PC端。

2、效果

       使用的硬件是一块FPGA的核心板和RTL8201百兆网模块,如下图所示:
在这里插入图片描述

一些参数的设置:

  • 给FPGA板卡设置的MAC地址(源MAC地址)是:00-0a-35-01-fe-c0 ;
  • 给FPGA板卡设置的IP地址(发送方IP)是 :192.168.0.4 ;
  • 电脑端IP(接收方IP)设置的是:192.168.0.3 ;

通过wireshark工具我们可以抓到板卡的arp请求以及PC端给出的响应:
arp请求

PC端的arp响应

当使用网络调试助手向192.0168.0.4发送数据的时候,由于事先并没有绑定板卡的IP和MAC地址,所以PC端会发送一个ARP请求,询问192.168.0.4的MAC地址是多少,可以看出板卡端也做出了正确的响应,如下图所示:
在这里插入图片描述

2、确定设计顶层的输入输出信号

顶层信号列表

3、模块连接框图

根据我的设计需求,总共将功能分成了五个模块,其中一个顶层模块,由四个模块组成:

模块连接框图

未完待续~~~~~~~

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值