E9—TEMAC IP实现千兆网口UDP传输2023-08-28

news2024/10/6 8:39:09

1.关于IP收费的问题

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

2.功能说明

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

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

与《E1--千兆以太网接口测试应用2022-09-07》相比,把RGMII接口的操作交给了IP核完成,仅此而已。关于原理,开发步骤,调试工具,调试技巧可参看这篇文章,相关链接在文末。

3.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内部,无需手动配置。

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

4.功能验证

打开网口调试助手,为以太网卡分配固定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工程 

5.注意事项

①例程中端口号是写死的,即上位机端口号为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核会自动填写。

6.工程链接

网口调试工具wireshark

网口调试助手netassist

手动ARP应答工程

UDP工程链接

本文对应工程链接

E1--千兆以太网接口测试应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/942159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式—职责链模式(Chain of Responsibility)

目录 思维导图 什么是职责链模式? 有什么优点呢? 有什么缺点呢? 什么场景使用呢? 代码展示 ①、职责链模式 ②、加薪代码重构 思维导图 什么是职责链模式? 使多个对象都有机会处理请求,从而避免请…

【计算机网络】OSI 七层网络参考模型

OSI(Open Systems Interconnection)七层网络参考模型是一种用于描述计算机网络通信的框架,将网络通信划分为七个不同的层次,每个层次负责不同的功能。 以下为 OSI 七层网络参考模型的简单表格: --------------------…

Java注解—Annotation

Java注解——Annotation 一、概念 注解也是Java中一种比较特殊的存在,一般可以声明在任何一个位置,用于给我们的代码提供一些说明或者提供一些功能。 Override Deprecated 二、注解使用一般分为三种情况的注解 1、只是用来进行解释说明的注解&#x…

使用 Amazon Lambda 进行无服务器计算:云架构中的一场革命

引言 十年前,无服务器架构还像是痴人说梦。不再如此了! 有了 Amazon Lambda,我们现在可以建构和运行应用程序而不需要考虑服务器。云供应商会无缝地处理所有服务器的供应、扩展和管理。我们只需要关注代码。 这为云部署带来了前所未有的敏捷性、自动化和优化。但是,要发挥它的…

如何解决索引分裂问题?

索引分裂 索引块快写满时就会发生索引分裂,索引分裂分为两种情况,55和91: 索引分裂和enq: TX - index contension等待事件的区别 无论是55还是91,都是数据增多后索引的正常行为,索引分裂是业务数据量增大导致索引增大…

机器学习-神经网络(西瓜书)

神经网络 5.1 神经元模型 在生物神经网络中,神经元之间相互连接,当一个神经元受到的外界刺激足够大时,就会产生兴奋(称为"激活"),并将剩余的"刺激"向相邻的神经元传导。 神经元模型…

Cento7 Docker-compose安装RabbitMQ

RabbitMQ是一个消息中间件,是用Erlang语言编写的。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。接下来我们就以docker形式安装。 1.先安装docker环境 yum -y install…

MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

目录 1、DeepLab系列简介 1.1.DeepLabV1 1.1.1创新点: 1.1.2. 动机: 1.1.3. 应对策略: 1.2.DeepLabV2 1.2.1.创新点: 1.2.2.动机 1.2.3. 应对策略: 1.3.DeepLabV3 1.3.1创新点: 1.3.2. 动机&am…

【大魔王送书第一期】《一名阿里服务端开发工程师的进阶之路》

一、前言 目前,资讯、社交、游戏、消费、出行等丰富多彩的互联网应用已经渗透到了人们生活和工作的方方面面,正深刻改变着信息时代。随着用户规模的增长和应用复杂度的上升,服务端面临的技术挑战越来越严峻。在头部互联网企业,服…

Docker:Harbor 私有仓库迁移

Harbor 私有仓库迁移 一.私有仓库迁移的介绍 1.为何要对Harbor 私有仓库的迁移 (1)硬件升级或更换:如果源 Harbor 在旧的硬件设备上运行,并且计划将其迁移到新的硬件设备上,那么需要执行迁移操作。 (2&…

17万字集团大数据平台整体方案word

导读:原文《17万字集团大数据平台整体方案word》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。以下是部分内容, 1.1.1 总体目标 根据集团信…

第八章 贪心算法 part03 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果 (day34补)

本文章代码以c为例! 一、力扣第1005题:K 次取反后最大化的数组和 题目: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择…

【如何对公司网络进行限速?一个案例详解】

有不少朋友问到了关于企业网络QoS配置,这个确实在实际网络应用中非常多,基本上大部分企业或个人都用到这个功能,本期我们详细了解下QoS如何对宽带进行限制,QoS如何企业中应用。 一、什么是QoS? Qos是用来解决网络延迟和阻塞等问…

JavaScript—BOM

BOM是什么? Browser Object Model是浏览器对象模型 官方:浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,BOM由多个对象构成,其中代表浏览器窗口的window对象是BOM的顶层对象,其他对象都是该…

SSM(Spring+SpringMVC+MyBatis)整合

目录 1、提出问题 2、解决问题 3、相关文件 1、提出问题 SSM(SpringSpringMVCMyBatis)的开发,MyBatis在没有与Spring和SpringMVC整合的时候,是单独使用,单独配置。 Spring和SpringMVC的整合是无缝衔接的&#xff0…

听力和阅读都是6.5分,写作和口语6分,最后评分会是多少分

听力和阅读都是6.5分,写作和口语6分,最后评分会是多少分 根据雅思评分标准,每个模块的分数将会被四舍五入到0.5分的精度。在你的情况下,如果听力和阅读都是6.5分,写作和口语都是6分,那么你的最终雅思总分将…

JVM下篇知识

第01章:概述篇 第02章:JVM监控及诊断工具-命令行篇 第03章:JVM监控及诊断工具-GUI篇 第04章:JVM运行时参数 第05章:分析GC日志

【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践

一、活动介绍: “腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless版本,初步的产品体验或针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发…

18.神奇导航菜单指示器

效果 源码 <!DOCTYPE html> <html> <head> <title>Magic Menu Indicator | 03</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><div class="navig…

时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比

时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比 目录 时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现基于PSO-LSTM、LSTM时间序列预测。 1.Matlab实现PSO-LSTM和LSTM神经网络时间序列预测…