FPGA 以太网通信UDP通信环回

1 实验任务

上位机通过网口调试助手发送数据给 FPGA FPGA 通过 PL 端以太网接口接收数据并将接收到的数据发送给上位机,完成以太网 UDP 数据的环回。

2 系统设计

系统时钟经过PLL时钟模块后,生成了两种不同频率和相位的时钟信号:一种是200MHz的时钟信号,用作IDELAYCTRL原语的参考时钟;另一种是125MHz但偏移了90度的时钟信号,用作RGMII发送数据的时钟。

GMII TO RGMII模块负责将双沿(DDR)数据和单沿(SDR)数据之间进行转换。ARP顶层模块负责解析收到的ARP请求命令,并返回开发板的MAC地址。以太网控制模块根据接收到的ARP完成信号类型来控制ARP顶层模块返回ARP应答信号,并根据当前接收到的协议类型,选择切换ARP顶层模块和UDP顶层模块的GMII发送侧引脚。

UDP顶层模块实现了以太网UDP数据包的接收、发送以及CRC校验的功能。同步FIFO模块使用Vivado软件自带的FIFO IP核生成,其大小为2048个32bit。为了满足单包数据量较大的情况(尽管通常情况下,以太网帧有效数据不超过1500个字节),FIFO的深度设置为2048,宽度为32位。
 

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

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

相关文章

第29篇 分布式网站

大型分布式网站架构是指将一个网站系统分解为多个独立的组件或服务,这些组件或服务部署在不同的物理或虚拟机器上,协同工作以提供高效、可靠且可扩展的网站功能。这种架构设计旨在应对高并发访问、处理海量数据、保证服务高可用性、快速响应业务变化及增…

Python 面向对象——6.封装

本章学习链接如下: Python 面向对象——1.基本概念 Python 面向对象——2.类与对象实例属性补充解释,self的作用等 Python 面向对象——3.实例方法,类方法与静态方法 Python 面向对象——4.继承 Python 面向对象——5.多态 1. 封装的基…

unity cinemachine相机 (案例 跟随角色移动)

安装相机包 打开包管理工具 在 unity registry 搜索cinemachine 会在maincamera中生成一个组件cinemachineBrain 只能通过虚拟相机操控 主相机 虚拟相机的参数 案例 1.固定相机效果 位置 在固定的地方 默认的模式 2.相机跟随人物效果 焦距设置 20 跟随设置 把playere…

使用Tortoise 创建远程分支

1。首先创建本地分支branch1,右键tortoise git->创建分支,输入分支名称branch1,确定。 2。右键tortoise git->推送,按下图设置,确定,git会判断远程有没有分支branch1,如果没有会自动创建…

centOS7.9| 无root安装 openssl 1.1.1

这里写自定义目录标题 0.先安装 gcc121.下载和编译 openssl 1.1.12. 让 pkg-config 能找到.pc文件 0.先安装 gcc12 见之前的博客: 无root编译安装 gcc12 1.下载和编译 openssl 1.1.1 https://www.openssl.org/source/https://github.com/openssl/openssl/releases?page3 (2…

重看Spring聚焦Environment分析

目录 一、理解Environment的设计 (一)整体理解 (二)聚焦Profiles分析 (三)聚焦Properties分析 二、Environment类图结构分析 三、PropertyResolver源码分析 (一)源码展示说明…

C语言学习/复习36

一、程序的环境与预处理 二、翻译环境与执行环境 三、运行环境 四、预编译(预处理)详解

【SpringBoot】92、SpringBoot中使用SSE实现服务端向客户端推送实时消息

在Spring Boot中整合Server-Sent Events (SSE) 是一种简单且有效的方法,用于实现服务器向客户端推送实时更新的功能。SSE 是一种服务器到客户端的单向通信协议,允许服务器推送消息到客户端,而不需要客户端发出请求。 1、添加依赖 首先,确保你的Spring Boot项目中已经包含…

mac电脑搭建vue环境(上篇)

第一步:mac电脑要有homebrew,如何安装homebrew 点击下方 MAC安装homebrew-CSDN博客 第二步:homebrew安装node.js 第三步:安装npm 第四步:安装webpack 第五步:安装vue脚手架 第六步:可以在…

大文件分片上传前端手写

此前介绍过,文件上传前端有造好的轮子可以方便使用,比如百度fex的webuploader。那么我们离开这些轮子,自己手写一个难不难呢?完成基本功能确实不难,但是要把方方面面的情况都考虑到,那可就不简单了。我们先…

NumPy 1.26 中文官方指南(一)

NumPy 用户指南 原文:numpy.org/doc/1.26/user/index.html 本指南是一个概述,解释了重要特性;细节请参阅 NumPy 参考文档。 入门指南 什么是 NumPy? 安装 NumPy 快速入门 NumPy:初学者的绝对基础 基础知识和用法 NumPy 基础…

工信部绿色工厂、绿色设计产品、绿色供应链企业、绿色园区名单数据集(2017-2022年)

01、数据简介 工信部致力于推动制造业的绿色转型,为了表彰在绿色制造领域取得显著成绩的企业和园区,工信部发布了绿色工厂公示名单、绿色设计产品公示名单、绿色供应链企业公示名单和绿色园区公示名单。 这些企业和园区在绿色制造方面做出了卓越的贡献…

MySQL__锁

文章目录 😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题: MySQL__锁) ⏱️ 创作时间:2024年04月27日 ———————————————— 这里写目录…

刷题训练之前缀和

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握前缀和算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷题…

PCG 梯度共轭(加权的DCT相位展开)相位解包裹 matlab 过程解析-加权最小二乘相位展开技术

1.代码 % check if the weight has the same size as psiif (~all(size(weight) == size(psi)))error(Argument error: Size of the weight must be the same as size of the wrapped phase);end%论文(公式 15)中的矢量 b 为 dx 和 dy% vector b in the paper (eq 15) is dx…

【Hadoop】-HDFS的存储原理[4]

目录 前言 一、fsck命令 1、HDFS副本块数量的配置 2、fsck命令查看文件的副本数 3、block配置 二、NameNode元数据 1、edits文件 2、fsigame文件 3、NameNode元数据管理维护 4、元数据合并控制参数 5、SecondaryNameNode的作用 三、HDFS数据的读写流程 1、数据写入…

Pytorch 之torch.nn初探 卷积--Convolution Layers

任务描述 本关任务: 本关提供了一个Variable 类型的变量input,按照要求创建一 Conv1d变量conv,对input应用卷积操作并赋值给变量 output,并输出output 的大小。 相关知识 卷积的本质就是用卷积核的参数来提取原始数据的特征&a…

Java多线程批量处理数据

package com.demo.studydemo.test;import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;/*** 批量数据处理示例类。* 该类演示了如何通过多…

前端HTML5学习1(新增布局,状态,列表,文本,表单控件标签)

前端HTML5学习1(新增布局,状态,列表,文本,表单控件标签) 新增布局标签新增状态标签新增列表标签新增文本标签新增表单控件属性input新增属性值 新增布局标签 HTML5 引入了许多新的语义化标签,用…

【MySQL】A01、性能优化-参数监控分析

1、参数监控 1.1、MySQL command 查看 mysql>SHOW STATUS; (服务器状态变量,运行服务器的统计和状态指标) mysql> SHOW VARIABLES;(服务器系统变量,实际上使用的变量的值) mysql> SHOW STATUS …