FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

这篇具有很好参考价值的文章主要介绍了FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  学习不能稀里糊涂,要学会多思考,发散式学习以及总结:
  FPGA作为一种器件,只是实现目的的一种方法,过度追求实现的技术细节(用hdl还是hls,用啥芯片,用啥接口)容易只见树木不见森林。工具软件的用法也好,器件的架构也好,语言孰优孰劣的争论也罢。工程应用里大概更多应该去考虑适合的实现方式,现在software define network/flash/xxx,已然大势所趋,算法是纲,纲举目张。是因为在实现上需要有流水线,多路并行,快速部署的目的所以考虑使用FPGA,而不是为了使用而使用。
  不管实现目的的方法是FPGA还是DSP甚至是GPU,这些都是工具,工程师的核心竞争力除了在于熟练地掌握开发的技巧。更重要的在于信号与系统、数字信号处理、图像处理之类的让你了解算法、优化算法的基石;以及数字电路、微机原理、处理器体系结构这些让你了解为什么这些工具要这样设计,要这样发展的课程(系统学习一点体系结构,那么这些数据级并行、指令级并行、线程级并行的处理器就不再陌生了)工程师应该顶天(了解应用,了解算法)也应该立地(了解工具,掌握技巧)。
                    ——引用某个大佬的话,作为学习共勉
  简单来说就是:FPGA是工具用来搬砖,更多的知识在FPGA之外

选择Ethernet下的“1G/2.5G Ethernet PCS/PMA or SGMII”IP核

IP核配置

一、传输速率

  1:IP核的名字;
  4:点击是否展开所有引脚(没必要点击);
  2、3:IP核提供了两种数据速率1GMbps和2.5Gmbps,选择1G;
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

二、网口标准选择

  该IP提供了用于生成1000BASE-X,2500BASE-X,1G SGMII和2.5G SGMII四种标准应用。关于选择BASEX还是SGMII我们需要根据我们实际应用的接口选择;在这里我们参考该IP核文档pg047中的介绍:
查找文档以及使用方法可以参考这篇文章:
vivado的DocNav学习;FPGA芯片外挂DDR个数_FPGA_青年的博客-CSDN博客
  1)、(figure1-1)设备专用GT收发器支持PMA连接到外部现成的千兆接口转换器 (GBIC) 或小型可插拔 (SFP) 光收发器,以完成以太网端口,BASEX只能连接这两种器件(本次设计使用GBIC )。这里可以理解为MAC层+PCS层+PMA层以串型的方式与PHY层的PMD相连,TX/RX分别为从PMA到PMD的串行传输的差分输出,从PMD到PMA的串行传输的差分输入。

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  2)、(figure1-2)设备专用GT收发器也支持1g或2.5G SGMII连接到外部现成以太网PHY设备(RJ-45电口)。它也能为1G提供三模式PHY芯片的10BASE-T, 100BASE-T, and 1000BASE-T。
  SGMII本质上并没有对以太网协议的分层做改动,还是MAC层,PCS层和PMA层。原来GMII模式下,MAC层一般做在FPGA侧,PHY层包括PCS+PMA做在另一个单独的芯片上。而SGMII的实施是将PCS层也同时放在了原来的MAC侧。这样FPGA芯片和PHY芯片各有一个PCS层。
  对于FPGA发送来说,数据包有MAC层过来,经过TX的PCS,从SGMII接口发送出去。在PHY芯片上,有一个RX的PCS先将SGMII的信号解出GMII信号,然后再经过传统的PHY层处理发送到介质上。对于FPGA接收来说,则反过来。
关于PHY层的知识,大家可以参考此文章。
以太网学习之MAC与PHY间通信_FPGA_青年的博客-CSDN博客
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  3)、(figure1-3)它也可以作为三速以太网(Tri Mode Ethernet MAC)IP核SGMII转换成GMII的桥梁。
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  1:1000BASEX:将生成IEE802.3 1000BASEX的标准,是千兆以太网光口的物理接口命名,属于物理层接口,可以称为物理相关接口,1000BASEX只支持1000速率,后缀BASE不持支自协商;采用光口(SFP)作为网络接口时使用( 本次设计我们选择1000BASEX );
  2:SGMII:将生成GMII到Serial-GMII(SGMII)桥;可以称为媒体独立接口,SGMII支持10/100/1000速率,可以根据实际进行自协商速率转换,采用电口(RJ45)或是需要转换成GMII等信号时使用;
  3:BOTH:在1000BASE-X和SGMIL标准之间进行动态切换,哪个稳定先与哪个建立连接;
  4:附加收发器控制和状态端口;(暂时没有用到附加端口,不选择)
补充:
  在编写代码的时候,是在用户端即上图中的User Logic处编写代码,中间为IP核内部逻辑不用管,右侧为外接接口,需要上板测试的时候需要分配此引脚(RX、TX等)。
  1000表示千兆速率,base表示基带传输,X表示采用了8B/10B分组码编码方式,详细介绍可以看上一篇文章的第三部分内容:
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(一)——知识补给_FPGA_青年的博客-CSDN博客。
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

  在下图中,左图是选择1000BASEX产生的外接接口SFP,中间图为选择SGMII产生的外接接口sgmii,最右边的是三速以太网IP(Tri Mode Ethernet MAC)的RGMII接口(还可以更换成GMII/MII/Internal),后边将会讲解三速以太网,到时候可以对比学习;
  我们可以看到1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核采用的是RXN,RXP,TXN,TXP差分串行数据接口,此IP核采用的是FPGA芯片的GT(Gigabit Transceiver )高速收发器作为千兆网通信对外的接口。(关于GT高速收发器的知识后续有时间整理)大家可以在此大佬的文章进行学习:
Xilinx FPGA平台GTX简易使用教程(汇总篇)_fpga gtx_子墨祭的博客-CSDN博客
  采用1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核时:
  1、 FPGA相当于MAC层+PCS层+PMA层(属于PHY层中的一部分,选择1000BASEX);
  2、 FPGA相当于MAC层+PCS层(属于PHY层的一部分,选择SGMII)。
   在这里我补充一下:我们的数据在数据链路层(MAC)进行数据组帧以后,都需要经过编码PCS层和串并转换PMA层,SGMII接口属于串型接口,因此它只需要经过PCS层。
  关于PHY芯片内部协议以及GT收发器的PCS和PMA可以参考这个文章:
FPGA平台以太网学习:MAC与PHY间通信_FPGA_青年的博客-CSDN博客
  采用Tri Mode Ethernet MAC以太网IP核时:
  1、 FPGA只是MAC层。
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  可以看下采用1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核实际用到的原理图接口,下图中共有4对高速接口port0-port3:
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
可以看下采用zynq系列时ps端进行千兆网通信的原理引脚图,Tri Mode Ethernet MAC IP核使用到的引脚同样如此。采用RGMII接口。
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

三、核功能选择

  1: 物理接口:设备专用收发器;物理接口将是设备特定的收发器即GT高速收发器,即上边原理图的RT与TX(此处只有一个选项默认);
  2:接收GMII时钟源:输入IP核内部的MMCM的时钟源选择为GT收发器输出的时钟TXOUTCLK(默认选项即可),该MMCM将产生我们所需要的接口时钟;
  3:管理选项:MDIO管理接口和自协商,这里提一下,采用SGMII外接PHY芯片时候,MDIO是为了配置PHY芯片用的,一般PHY默认配置就可以正常使用(暂时都用不到,不选);可以参考下官方的回答
以太网IP核1G/2.5G Ethernet PCS/PMA or SGMII的问题咨询 (xilinx.com)
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

四、共享逻辑

  1:核内共享逻辑:设计只采用一个该IP核的时候,就选择此项
  2:示例设计中包含共享逻辑:当设计中需要同时使用若干个此IP核,且所使用的GTX均位于同一个GTX BANK中,只需其中1个IP核内部的共享资源(MMCM、GTX PLL、GTX 参考时钟等)便可以满足所有IP核的需求,即选择将共享资源包含在IP核内部。通过共享逻辑可以较小硬件资源的消耗,并且各个接口输出时序是一致的。(暂时没有用到,不选)
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  在此IP核的配置就结束了,后边将讨论以太网应用中的设计方案
  再次强调下,FPGA是工具,要学会使用工具就要看配套资料,IP配置以及接口使用在文档中讲解的都很清楚,不过都是英文的,以下链接简单介绍如何查找文档
vivado的DocNav学习;FPGA芯片外挂DDR个数_FPGA_青年的博客-CSDN博客

五、总结(重点)

  关于网口选择部分,我写的挺多的,主要这里边涵盖的知识非常多。主要是想说的时,在做千兆网的时候,FPGA通常采用两种外界接口。
  1、一种就是普通接口MII/RMII/GMII/RGMII这些接口,RGMII是最常用的接口,这些接口都属于低速接口。例如上边介绍的ZYNQ的PS端以太网和三速以太网Tri Mode Ethernet MAC IP核这两种都是使用RGMII,与外部PHY芯片进行连接,然后再通过网口。即:FPGA=MAC<–>PHY<–>RG45。
  2、还有一种就是采用高速收发器即GT接口作为外接接口,外部接的是TXP/TXN和RXP/RXN这种串型接口,上边普通的采用的是并行接口。GT用于千兆以太网物理编码子层/物理介质连接子层 (Physical Coding Sublayer/Physical Media Dependent PCS/PMA)。
  例如本次使用的1G/2.5G Ethernet PCS/PMA or SGMII IP核。这个IP是将PHY芯片的的PMA层和PCS层集合到了FPGA中。即FPGA=MAC+ PCS / PMA。
  (1)当采用1000BASEX时候,IP核作为PCS层(编码)+PMA层(并转串),通过收发器向PMD发送,此时FPGA与外部千兆接口转换器 (GBIC) 或小型可插拔 (SFP) 光收发器进行连接。如下图所示:
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用
  (2)当采用SGMII时候,IP核作为PCS层,通过收发器向PHY芯片的PCS层发送,此时FPGA与现成以太网PHY设备(RJ-45电口)进行连接。如下图所示:
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

下一节,将会做接口与框架介绍。

记录美好学习,从总结开始;💪文章来源地址https://www.toymoban.com/news/detail-409701.html

到了这里,关于FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA之以太网详解

    以太网(Ethernet)是当今局域网采用的最通用的局域网标准。它规定了包括物理层的连线,电子信号和介质访问协议的内容。它具有成本低,通信速率快,抗干扰性强的特点。 以太网主要分为: 标准以太网:10Mbit/s 快速以太网:100Mbit/s 千兆以太网:1000Mbit/s 以太网的接口主要

    2024年02月09日
    浏览(17)
  • 在FPGA上快速搭建以太网

    在本文中,我们将介绍如何在FPGA上快速搭建以太网 (LWIP )。为此,我们将使用 MicroBlaze 作为主 CPU 运行其应用程序。 LWIP 是使用裸机设计以太网的良好起点,在此基础上我们可以轻松调整软件应用程序以提供更详细的应用程序。LWIP Echo 服务器的使用首先使我们能够确定底层

    2024年02月09日
    浏览(21)
  • FPGA - 以太网UDP通信(一)

    ​以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。 ​ 以太网是现实世界中最普遍的一种计算机网络。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用了一

    2024年04月18日
    浏览(22)
  • FPGA 以太网传输ov5640视频

    使用 DFZU4EV MPSoC 开发板及双目 OV5640 摄像头其中一个摄像头实现图像采集,并通过开发板上的以太网接口发送给上位机实时显示。 时钟模块用于为 I2C 驱动模块、以太网顶层模块和开始传输控制模块提供驱动时钟;I2C 驱动模块和 I2C 配置模块用于初始化 OV5640 图像传感器;摄像

    2024年04月10日
    浏览(23)
  • 基于FPGA的以太网相关文章导航

      首先需要了解以太网的一些接口协议标准,常见的MII、GMII、RGMII时序,便于后续开发。     【必读】从MII到RGMII,一文了解以太网PHY芯片不同传输接口信号时序!   介绍一款比较老的以太网PHY芯片88E1518,具有RGMII接口,分析该芯片的原理图和内部寄存器的配置方式

    2024年04月14日
    浏览(15)
  • 以太网——MDIO(SMI)接口的FPGA实现

      在 MAC 与 PHY 之间,有一个配置接口,即 MDIO(也称 SMI,Serial Management Interface),可以配置 PHY 的工作模式、获取 PHY 芯片的工作状态等。本文以 PHY 芯片 B50610 为例,实现 MDIO 接口,以实现对传输速度、接口类型的自协商。   MDIO 包含 2 根信号线: MDC,由 MAC 侧提供给

    2024年02月16日
    浏览(17)
  • 基于UDP协议的千兆以太网传输(FPGA)

    @[TOC]基于UDP协议的千兆以太网传输(FPGA) UDP协议是一种基于无连接协议,即发送端发送数据无需确认接收端是否存在;接收端收到数据后也无需给发送端反馈是否收到,所以UDP在数据发送过程中允许丢失一两包数据。用于对丢包不严格的场合,比如视频流,偶有一两帧的丢

    2024年02月12日
    浏览(36)
  • FPGA优质开源项目 - UDP RGMII千兆以太网

    本文介绍一个FPGA开源项目:UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、以太网IP核的使用以及Vivado工程源代码结构。 Vivado 的 Tri Mode Ethernet MAC IP核需要付费才能使用,因

    2024年02月14日
    浏览(19)
  • FPGA优质开源项目 – UDP万兆光纤以太网通信

    本文开源一个FPGA项目:UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似,只不过万兆以太网是调用了Xilinx的10G Ethernet Subsystem IP核实现。 下面围绕该IP核的使用、用户接口,以及数据传输方案展开介

    2024年02月10日
    浏览(16)
  • FPGA实现千兆/百兆自适应以太网UDP传输

    笔者最近在项目中需要使用到ZYNQ中PL端做以太网UDP传输并且需要支持100M/1000M自适应切换。使用的PHY型号为RTL8211。以下分享的主要为利用已有的1000M协议栈修改为100M并且实现二者自适应切换,IP核主要实现以下功能 1、实现100M/1000M自适应 2、回环测试 PS:完整的IP核文件下载地

    2024年01月21日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包