UDP网口(5)TEMAC IP核组包


 

目录

1.场景

2.IP配置

3.功能验证

4.注意事项

5.传送门


1.场景

应用搭建的场景是,上位机发送数据,首先发起arp请求,随后下位机给出arp应答响应,上位机get到下位机的mac地址之后,将发送框中的数据打包成udp数据包下发到下位机中,下位机收到udp包,将有效数据保存到fifo中,然后在接收完毕之后,随即发起一次长度与接收长度一致的数据发送操作,在操作无误的情况下,上位机将收到下发的数据。

IP核扮演MAC层的作用,相当于是将AXI_Stream接口接口转换成RGMII接口(或其他物理层接口),起到了衔接用户侧与物理层PHY芯片的作用。上行数据传输时,用户侧按照MAC层的数据帧格式打包成AXI_S接口数据发送给IP核即可;下行数据时,IP核完成数据接收对齐等操作,将MAC层数据帧格式转换成AXI_S接口供用户解析。其时序图如下所示,具体参考PG-051.

与《UDP网口(2)逻辑组包》相比,把RGMII接口的操作交给了IP核完成,仅此而已,其硬件结构与该文章也一致。关于原理,开发步骤,调试工具,调试技巧可参看这篇文章,相关链接在文末。

2.IP配置

数据速率支持1G和2.5G,用到的PHY芯片是RTL8211芯片,支持千兆网口,故选择1Gbps;

  1. 物理接口:选择RGMII,这是由硬件决定,具体看使用什么芯片支持哪种接口,当使用GT当作网口通信的phy层时,选择internal。
  2. MAC Speed:Tri speed代表速率可协商,1000Mbps代表千兆网速率,选1000Mbps;
  3. 管理类型:选择AXI-Lite,这里管理包含两种含义,一个是IP核内部寄存器,一个是通过MDIO接口配置phy芯片,通常phy芯片保持默认配置即可,因此可不勾选MDIO接口。

第三页共享逻辑选择in core的方式包含在IP内部,无需手动配置。

下一页是流控选项、帧过滤器选项等高级功能,保持默认配置即可。

3.功能验证

打开网口调试助手,为以太网卡分配固定IP地址192.168.1.102,绑定6001端口,输入对端即FPGA板卡ip地址192.168.1.10,此地址在下位机写死, 当点击发送时,由于此时ARP表中没有192.168.1.10地址的mac地址,因此会自动发出一个ARP的请求,FPGA程序接收后会响应ARP应答,这是在命令提示符中输入arp -a可以查到下位机的mac地址,具备了通信条件。

 

紧接着可以看到,发送的内容被原样返回,说明功能测试成功。E1对应UDP工程 

4.注意事项

①例程中端口号是写死的,即上位机端口号为6001,下位机端口号固定为6000但有可能出现6001被其他应用占用的情况,因此实际使用的时候,端口可以改为不固定,即下位机收到哪个端口的信息保存后返回到该端口。

②例程中使能发送模块进行一次发送操作的各个信号源自于接收模块时钟域,这是由于应用场景下这些信号是固定值,但在实际使用时要注意这点。

③用于接收的AXI_Stream接口发送接口的ready信号是要等valid信号拉高它才会被动拉高,只有当ready和valid信号同时拉高,数据才被转发。这一点与标准的AXI接口不同。

④IP核的信号inband_link_status用于输出指示链路连接状态,inband_duplex_status信号用于指示双工的连接状态,这两个信号可用于判断当前硬件电路的连接状态,tx_ifg_delay信号用于指示两个MAC帧之间的间隔,当设置为0的时候,即为以太网要求的最小间隔96。gtx_clk信号为IP核的全局时钟,为125MHz。glbl_rstn为IP全局复位信号,低有效。

⑤当发送数据小于以太网最低字节要求时,会自动补零。前导码和FCS校验字段IP核会自动填写。

⑥Tri Mode Ethernet MAC是收费IP,打开IP后,当左下角显示Bought IP license available则IP可用。

5.传送门

我的主页 

UDP网口(2)逻辑组包(上) 

TEMAC IP实现千兆以太网收发测试通信

FPGA通信接口汇总导航
                                                                         END                                                                         


🔈文章原创,首发于CSDN论坛。 
🔈欢迎点赞❤❤收藏⭐⭐打赏💴💴!
🔈欢迎评论区或私信指出错误❌,提出宝贵意见或疑问❓。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA小油条

原创不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值