一.总体概括
千兆以太网的理论网速为1000Mbit/s,实际网速接近该值,但几乎不可能达到,但相对于百兆网,网速快了很多。目前千兆以太网常用物理层接口有GMII和RGMII,两种接口有同有异,应用情况也有所差别。GMII占用的引脚较多,RGMII可以很大程序地减少引脚的使用。因此本设计采用RGMII接口进行设计,物理层芯片采用RTL8211E,根据以太网数据帧的要求并遵循相关时序要求,编写FPGA的Verilog代码,实现了千兆以太网UDP的通讯。
二.RGMII接口介绍
2.1 RGMII接口简介
RGMII采用11根信号线即可实现以太网通讯,大大减少了信号的数量,节约了硬件电路板的面积,RGMII 接口如图1所示。

图1 RGMM接口 图中RGMII接口各个信号线功能如表1所示。 表1 RGMII接口信号线功能表

TX_EN、TX_ER、RX_EN、RX为高电平时有效,即为高电平时表示使能或者有错误,因此,有效数据(数据线有数据且数据无误)接收期间,RX_CTRL为高电平;当数据发送期间,需要将置为TX_CTRL为高电平,表示数据发送使能且数据无误。RGMII数据接收(发送与接收一致)时序如图2所示。

图2 RGMII数据接收时序 2.2典型芯片 RTL8211E 是由Realtek(瑞昱半导体)公司推出的10Mbit/100Mbit/1000Mbit以太网物理层芯片,有RGMII和GMII两种接口,分别对应芯片RTL8211E和RTL8211EG。RGMII接口的RTL8211E具有48个引脚,相对与64脚的GMII接口的RTL8211EG,节约控制芯片引脚,但是时钟上升沿和下降沿都有数据操作,时序控制比较复杂一些,详细信息见其数据手册。RTL8211E芯片引脚图如图3所示, RTL8211EG芯片引脚图如图4所示。根据参考手册的参考电路即可进行硬件电路的设计,这里不做过多描述。

图3 RTL8211E引脚图

图4 RTL8211EG引脚图

三.以太网数据帧
在使用FPGA进行千兆以太网实现时,需要对物理层的数据流进行处理,因此需要对以太网数据帧、IP数据包格式、UDP数据包等数据包进行学习。
3.1 802.3以太网数据帧
以太网数据帧如图5所示,每个字段含义如表2所示。

图5 以太网数据帧 表2 以太网帧字段含义


3.2 IP数据包格式
IP数据以数据的形式包含在以太网数据帧中,其格式如图所示,各字段含义如表所示。

图6 IP数据包格式 表3 IP数据包字段含义


3.3.UDP数据包格式
UDP数据包以数据的形式包含在IP数据包中,其格式如图7所示,各字段含义如表4所示。

图7 UDP数据包格式 表4 UDP数据包字段含义


3.4 以太网协议架构
在以太网各种协议中,以太网数据帧、IP、UDP等协议之间的关系如图8所示。以太网数据帧位于最底层,第二层是IP协议、ARP协议、RARP协议等协议,第三层的TCP、UDP、IGMP等协议基于IP协议进行实现,多数网络应用程序可基于TCP或者UDP协议进实现。从上面的几种数据包介绍中,也可以推导出类似图中的关系。

图8 以太网协议架构

3.5 UDP广播包
使用抓包工具捕获了一个UDP广播的数据包,如图9所示。

图9 UDP广播包抓包 图中的捕获的数据位以太网数据帧(不包括前导码和起始码)。从图中可以看到,数据帧中的字段对应的数据及其含义,可将图中的数据与以太网帧格式、IP、UDP数据包格式进行对应,对它们的数据格式进行学习。

四.FPGA程序流程
4.1 数据接收流程
数据接收时,按照RGMII数据接收时序,进行物理层数据的接收,然后按照以太网数据帧、IP数据包、UDP数据包的格式,对数据进行解析,即可实现对UDP数据的接收。数据接收流程如图10所示。

图10 数据接收流程图 在以太网数据解析时,可以根据自己的应用要求进行进行数据的解析,减少不必要的资源浪费。 4.2 数据发送流程 数据发送时如图11所示。

图11数据接收流程 在数据发送时首先需要确定发送目标,其中包括目标IP地址、目标MAC地址(当采用广播进行通讯时,MAC全部为0XFF),目标端口号等目标信息,然后将要发送的数据进行UDP打包、IP打包、以太网帧打包,然后按照RGMII的时序要求将数据发送出去。 需要特别注意: 1. 当采用单播UDP时,需要进行ARP协议的发送或者应答。 2. RGMII发送时,要保证,在TXCLK上升或者下降沿时,TXD数据线上的数据已经稳定。

基于RGMII的FPGA千兆以太网设计相关推荐

  1. 简谈基于FPGA的千兆以太网设计

    简谈基于FPGA的千兆以太网设计 今天给大侠带来简谈基于FPGA的千兆以太网设计,话不多说,上货. 今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较高级的内容了,有些大侠肯定会感觉以太网学 ...

  2. 基于FPGA的千兆以太网设计

    今天给大侠带来基于FPGA的千兆以太网设计,话不多说,上货. 一.设计概述 由于设计比较复杂,本篇带来设计流程以及设计思路,仅供各位大侠参考. 本篇通过管理数据输入输出MDIO配置PHY寄存器,使其工 ...

  3. 基于亚信AX88179A芯片的USB 3.2转千兆以太网设计

    发布日期: 2023/1/4 透过已被广泛使用于各种消费电子产品的USB接口,亚信电子AX88179A USB 3.2 Gen1转千兆以太网芯片解决方案,可以为轻薄短小的笔记本电脑.智能手机.平板电脑 ...

  4. 【转】基于TMS320C6455的千兆以太网设计

    基于TI公司最新DSP芯片TMS320C6455.设计并实现了以太网通信软硬件接口.采用TMS320C6455片内以太网接口模块EMAC/MDIO,结合片外AR8031 PHY芯片,在嵌入式操作系统D ...

  5. 基于TMS320C6455的千兆以太网设计

    本文叙述TMS320C6455的EMAC和MDIO模块 前言: 基于TI公司最新DSP芯片TMS320C6455.设计并实现了以太网通信软硬件接口.采用TMS320C6455片内以太网接口模块EMAC ...

  6. fpga千兆以太网学习2

    关于PHY芯片 正点原子达芬奇PHY芯片的型号位RTL8211FD. PHY芯片基本功能视频中总结了4点: 1·fpga发送的数字信号由PHY芯片转换为模拟差分信号给RJ-45接口传输,RJ-45的差 ...

  7. 基于米联客MA703FA开发板的MicroBlaze LWIP千兆以太网例程

    Xilinx FPGA MicroBlaze使用AXI 1G/2.5G Ethernet Subsystem(= Tri Mode Ethernet MAC + AXI Ethernet Buffer ...

  8. FPGA 以太网 UPD IP 协议实现 fpga 千兆以FPGA 以太网

    FPGA 以太网 UPD IP 协议实现 fpga 千兆以FPGA 以太网 UPD IP 协议实现 fpga 千兆以FPGA 以太网 UPD IP 协议实现, fpga 千兆以太网接口控制器,FPGA ...

  9. 基于FPGA的数据采集、通讯和存储系统设计(即FPGA+RTL8211千兆以太网+SD卡存储+RTC+Uart+AD7606数模转换+电流放大采集等硬件设计及程序验证)

    本文主要介绍了学生期间自己做的一个小项目,便于学习初期对fpga的整体把握,涉及了很多常见.常用.常考和面试常问的知识点. 可以作为入门后的拓展学习和应对一些找工作的项目面试. 下面对硬件及软件代码进 ...

  10. 【转】简谈基于FPGA的千兆以太网

    原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...

最新文章

  1. DTD(文档类型定义)概述
  2. 做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点
  3. openfire 插件开发
  4. JUC多线程:系统调用、进程、线程的上下文切换
  5. 前端学习(482):html之b/s和c/s
  6. 单例模式(Java)
  7. 无法找到或创建字体'SansSerif'.某些字符可能无法正确显示或打印。
  8. springmvc跳转html_SpringMVC基础(三)
  9. android商店账号密码错误,安卓:我失去了我的安卓密钥商店,我该怎么办?
  10. (75)信号发生器DDS锯齿波设计(一)(第15天)
  11. 2017 ACM-ICPC南宁网络赛: G. Finding the Radius for an Inserted Circle
  12. 瑞昱网卡linux通用驱动下载,realtek网卡通用驱动最新版下载
  13. 彻底删除win10易升
  14. target is null for setProperty(null,)错误的引发原因及解决办法
  15. EAN13商品条码数据如何居中显示
  16. 如何下载VMWare虚拟机如何安装VMWare详细教程
  17. Redis - 听说 Dragonfly 宣称比我快 25 倍
  18. 通过fileProvider接收外部App传递文件路径的一些坑
  19. zepto.js 处理Touch事件
  20. 哈夫曼树的构建及应用

热门文章

  1. python 开发金山打字通辅助脚本
  2. 计算机做游戏软件视频,游戏主播用什么视频剪辑软件
  3. vue3.0版本下动态修改表格数据
  4. 小小技巧--BLOB视频加密
  5. php转繁体代码,php实现简体转繁体的方法
  6. Win11 如何跳过微软注册界面
  7. 设计一个家庭记账管理系统(Java)
  8. C# 创建 Word 并另存为PDF格式
  9. vue-cropper裁剪个人图像
  10. 天津智慧路灯+“新基建”示范区建设启动、沪苏通长江公铁大桥