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

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.mzph.cn/news/61083.shtml

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

相关文章

说说我最近筛简历和面试的感受。。

大家好,我是鱼皮。 都说现在行情不好、找工作难,但招人又谈何容易?! 最近我们公司在招开发,实习社招都有。我收到的简历很多,但认真投递的、符合要求的却寥寥无几,而且都是我自己看简历、选人…

【Unity-Cinemachine相机】虚拟相机(Virtual Camera)的本质与基本属性

我们可以在游戏进行时修改各个属性,但在概念上,最好将Virtual Camera 当作一种相机行为的“配置文件”,而不是一个组件。 我们的相机有几种行为就为它准备几种虚拟相机,比如角色移动就为它第三人称相机,瞄准就准备一个…

驾驶员监控系统DMS系统功能规范

概述 文档范围 该文档阐述了DMS系统的功能场景、系统组成、接口需求等。 目的 该功能规范为DMS系统及周边件的开发提供参考。 缩写与定义 英文缩写 英文全称 中文描述 DMS: Driver Monitoring System 驾驶员监控系统 MPU: Micro Processor Unit 微处理器单元 IECU: …

软技能的重要性:在面试中展示团队合作与沟通能力

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【ctf题目系列】ctfwiki pwn类型

categories: ctf ret2shellcode [rootningan ret2shellcode]# ./ret2shellcode No system for you this time !!! 123 bye bye ~[rootningan ret2shellcode]#checksec检查 [rootningan ret2shellcode]# checksec ret2shellcode [!] Could not populate PLT: future feature …

CNN 02(CNN原理)

一、卷积神经网络(CNN)原理 1.1 卷积神经网络的组成 定义 卷积神经网络由一个或多个卷积层、池化层以及全连接层等组成。与其他深度学习结构相比,卷积神经网络在图像等方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他浅层或深度神经…

Mysql-InnoDB记录结构

一、InnoDB简介 InnoDB 采取的方式是:将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。也就是在一般情况下,一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的1…

编程题四大算法思想(二)——回溯法:N皇后问题、子集和问题、地图填色问题、迷宫问题

文章目录 回溯法迷宫游戏 N皇后问题基本概念解空间4后问题的解空间 可行解和最优解回溯法回溯法术语回溯法的关键问题回溯法的基本思想4后问题的约束条件n后问题生成问题状态的基本方法 子集和问题一个朴素的求解方法回溯回溯法的剪枝技术 地图填色问题 回溯法 迷宫游戏 深度优…

使用 Python编程: 下载 YouTube 音频的桌面应用程序

最近我开发了一个使用 Python 编写的桌面应用程序,可以方便地下载 YouTube 音频。该应用程序使用了 wxPython、yt_dlp 和 tqdm 库,提供了一个简单直观的用户界面,并具备高效的下载功能。 C:\pythoncode\new\youtube-dl-audio.py 程序介绍 …

为了他的鸟,做件很叛逆很酷的事儿

有种鸟儿,叫隐鹮(Geronticus eremita),大小如鹅,头部光秃,嘴巴巨大,一个字,丑。可是,它还有一个特点,面临濒危。 为了能在欧洲冬季存活,这种鸟儿需…

webassembly003 ggml GGML Tensor Library part-2 官方使用说明

https://github.com/ggerganov/whisper.cpp/tree/1.0.3 GGML Tensor Library 官方有一个函数使用说明,但是从初始版本就没修改过 : https://github1s.com/ggerganov/ggml/blob/master/include/ggml/ggml.h#L3-L173 This documentation is still a work in progres…

安达发|富士康科技集团利用自动排程APS软件打造智慧工厂

富士康科技集团作为全球领先的3C产品研发制造企业,近年来积极布局智能制造领域,通过引入先进的自动化排程系统(APS),成功打造了智慧工厂,提高了生产质量与效率,降低了生产成本。 富士康集团自2019年下半年提出在观澜厂区建立数字可…

C++ list模拟实现

list模拟实现代码&#xff1a; namespace djx {template<class T>struct list_node{T _data;list_node<T>* _prev;list_node<T>* _next;list_node(const T& x T()):_data(x),_prev(nullptr),_next(nullptr){}};template<class T,class Ref,class Pt…

Linux 云服务器挂载数据盘

1、检查linux服务器磁盘情况 df -h 可以看到无磁盘挂载信息。 2、查看待挂载磁盘信息 fdisk -l 可以看到40G系统盘、50G数据盘&#xff08;盘符&#xff1a;/dev/vdb&#xff09; 3、对数据盘分区 fdisk /dev/vdb 根据提示&#xff0c;依次输入“n”&#xff0c;“p”“1…

今日举办亚马逊云科技re:Inforce大会:结合生成式AI安全最新趋势,解决企业新挑战

2023年&#xff0c;生成式AI带来了无数的创新&#xff0c;并将会在行业应用中产生更多的新能力、新场景。与此同时&#xff0c;关于生成式AI的风险管控成为各方关注焦点&#xff0c;数据隐私、合规保护、防欺诈等&#xff0c;已成为生成式AI时代的安全合规的新话题。 随着云上业…

Java【手撕滑动窗口】LeetCode 3. “无重复字符的最长子串“, 图文详解思路分析 + 代码

文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 &#x1f4d7; Java数据结构: 顺序表, 链…

Nacos配置管理

统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#xff0c;可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理&#xff0c;另一方可…

Python钢筋混凝土结构计算.pdf-已知弯矩确定混凝土梁截面尺寸

计算原理 确定混凝土梁截面的合理尺寸通常需要考虑弯矩、受力要求和约束条件等多个因素。以下是一种常见的计算公式&#xff0c;用于基于已知弯矩确定混凝土梁截面的合理尺寸&#xff1a; 请注意&#xff0c;以上公式仅提供了一种常见的计算方法&#xff0c;并且具体的规范和设…

Python 实战之ChatGPT + Python 实现全自动数据处理/可视化详解

本文目录 一、引言 二、成果演示——口述式数据可视化 三、远原理述 四、实现过程 &#xff08;一&#xff09;环境配置 &#xff08;二&#xff09;申请OpenAI账号 &#xff08;一&#xff09;调用ChatGPT API &#xff08;二&#xff09;设计AI身份&#xff0c;全自动处理数据…

【附安装包】Multisim 14.0安装教程|电子电路

软件下载 软件&#xff1a;Multisim版本&#xff1a;14.0语言&#xff1a;简体中文大小&#xff1a;649.68M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.5GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.bai…