EP4CE30开发板verilog之Ethernet通信
一、Ethernet通信设计简介
本例程在EP4CE30开发板上用verilog实现ethernet UDP协议通信。FPGA程序接收到上位机发来的UDP数据包,通过解析目标MAC address来确定是否发给FPGA的数据包。如果是的话,把数据包中的数据部分保存到fifo中。FPGA的发送程序把fifo的数据包发送回上位机。
整个ethernet_test项目主要由UDP发送模块(ipsend.v),UDP接收模块
(iprecieve.v )和CRC检验模块(crc.v )组成。以下为每个模块的功能:
- UDP发送模块(ipsend.v)
实现把fifo的数据组成UDP包格式并发送到PC的网口
- UDP接收模块(iprecieve.v)
接收并解析从PC机过来的以太网包,把以太网包的数据保存到FIFO中。
- CRC检验模块(crc.v)
是为发送模块的UDP包生成CRC32的校验码 二、Ethernet通信测试 1. 准备工作
1、用网线连接开发板的网口和PC的网口。
2、修改UDP发送模块(ipsend.v)中的目标mac address为你使用的PC的 mac address。
如果不知道自己PC网卡的mac address, 就在DOS命令窗口(开始->运行->输入cmd命令即可调出)用ipconfig –all命令看一下。 3、修改iprecieve.v中185行的mymac[39:0]==40'h14feb5ab0c,后面的数字修改为您的PC MAC地址的前五个字节,如果您的MAC显示为14feb5ab0c7b(16进制),那么此处应该输入40'h14feb5ab0c。
4、修改PC的IP Address 为192.168.0.3。 (PC 的IP Address需要和发送模块(ipsend.v)中的一致,ipsend.v已经设置为192.168.0.3)
5、在DOS命令窗口绑定开发板的IP地址和MAC地址,运行命令: ARP -s 192.168.0.2 00-0a-35-01-fe-c0 (此192.168.0.2 IP为开发板IP地址)
DOS命令窗口输入ARP -a 查看是否修改成功。
6、等到上面的全部修改后重新全编译一次工程,然后JTAG下载到FPGA板子里面。 2. 通信测试
打开网络调试助手(在光盘A下面的软件目录里面,解压NetAssist.rar)并设置参数如下,再按连接按钮(这里的本地的IP地址为 PC的IP Address(192.168.0.3), 本地端口需要跟FPGA程序中的一致,为0x8000,十进制为32768)。
设置目标主机的IP地址需要和FPGA程序中的IP地址一致(192.168.0.2),目标端口号也需要和FPGA程序的一致(0x8000,十进制为32768)。
在发送窗口发送“66 66 66 66 66 66 66 66 66 46(注意最多发送15字节)”, 向网络的数据接收窗口如果可以看到从FPGA返回的数据,说明您的以太网数据发送和接收成功,恭喜您!!
【注意】网络助手的设置需要和下图截图完全一致,包括十六进制显示,自动换行显示,按照十六进制发送。
如发送多于15个字节接收出现异常,如下图所示:
相关推荐: