0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的以太网ARP通信测试(二)

CHANBAEK 来源:FPGA Zone 作者:FPGA Zone 2023-11-06 18:26 次阅读

本文继续简单介绍一下基于FPGA以太网ARP通信,该项目主要用于实现FPGA端以太网接口上位机进行ARP请求和应答的功能。

RGMII接口

以太网的通信离不开物理层PHY芯片的支持,以太网MAC和PHY之间有一个接口,常用的接口有MII、RMII、GMII、RGMII等。

MII (媒体独立接口):MII支持10Mbps和100Mbps的操作,数据位宽为4位,在100Mbps传输速率下,时钟频率为25Mhz。

RMII (Reduced MII):RMII是MII的简化版,数据位宽为2位,在100Mbps传输速率下,时钟频率为50Mhz。

GMII (Gigabit MII):GMII接口向下兼容MII接口,支持10Mbps、100Mbps和1000Mbps的操作,数据位宽为8位,在1000Mbps传输速率下,时钟频率为125Mhz。

RGMII (Reduced GMII):RGMII是GMII的简化版,数据位宽为4位,在1000Mbps传输速率下,时钟频率为125Mhz,在时钟的上下沿同时采样数据。在100Mbps和10Mbps通信速率下,为单个时钟沿采样。

在千兆以太网中,常用的接口为RGMII和GMII接口。RGMII接口的优势是同时适用于10M/100M/1000Mbps通信速率,同时占用的引脚数较少。但RGMII接口也有其缺点,就是在PCB布线时需要尽可能对时钟、控制和数据线进行等长处理,且时序约束相对也更为严格。

图片

ETH_RXC :接收数据参考时钟,1000Mbps速率下,时钟频率为125MHz,时钟为上下沿同时采样;100Mbps速率下,时钟频率为25MHz;10Mbps速率下,时钟频率为2.5MHz,ETH_RXC由PHY侧提供。

ETH_RXCTL (ETH_RX_DV):接收数据控制信号

ETH_RXD :四位并行的接收数据线。

ETH_TXC :发送参考时钟,1000Mbps速率下,时钟频率为125MHz,时钟为上下沿同时采样;100Mbps速率下,时钟频率为25MHz;10Mbps速率下,时钟频率为2.5MHz,ETH_TXC由MAC侧提供。

ETH_TXCTL (ETH_TXEN):发送数据控制信号。

ETH_TXD :四位并行的发送数据线。

ETH_RESET_N :芯片复位信号,低电平有效。

ETH_MDC :数据管理时钟,该引脚对ETH_MDIO信号提供了一个同步的时钟。

ETH_MDIO :数据输入/输出管理,该引脚提供了一个双向信号用于传递管理信息

RGMII接口时序

PHY芯片的RGMII接口时序,其时钟、控制信号和数据的对齐方式,一般由MDIO接口或者硬件上的特殊引脚进行配置。

接收时序

图片

RXC的上下边沿与RXD和RX_CTL信号对齐,相位相同。

RGMII接收端口时钟和控制/数据信号增加延时的时序图如下:

图片

RXC的上下边沿与RXD和RX_CTL信号的中间位置对齐,RXC的时钟周期为8ns,单个高电平或者低电平为4ns,RXC相对于RXD和RX_CTL延时约2ns。

YT8511 RGMII接收端口的信号对齐模式由硬件上的特殊引脚外接上下拉电阻进行配置,如下图所示,当管脚LED_10_100接上拉电阻时,表示RXC时钟相对于RXD信号,会增加约2ns的延时。

图片

发送时序

图片

RGMII发送端口正常模式下,需要满足TXC的上下边沿与TXD和TX_CTL信号对齐,相位相同。YT8511在硬件上面没有做TX端的delay模式,可根据实际情况,选择是否在代码中进行延时(因为一般对端设备的接收端会有延时处理的功能,因此发送端也可以不延时),延时后的时序图如下所示:

图片

由RGMII的接口时序可知,RGMII发送端口在TXC时钟的上升沿传输TXD的低4位和TX_CTL的使能信号;下降沿传输TXD的高4位和TX_CTL的错误信号(实际上是使能信号和错误信号的异或值);RGMII接收端口在RXC时钟的上升沿传输RXD的低4位和RX_CTL的使能信号;下降沿传输RXD的高4位和RX_CTL的错误信号(实际上是使能信号和错误信号的异或值)。

实现功能

该项目采用FPGA端以太网接口,和上位机实现ARP请求和应答的功能。当上位机发送ARP请求时,FPGA返回ARP应答数据,当FPGA发送ARP请求时,上位机返回ARP应答数据。

功能测试

ARP接收

图片

ARP发送

图片

利用上位机端wireshark软件抓取FPGA端发来的ARP请求数据包,如下图所示:

图片

下图中下方红框为FPGA发送的16进制数据(去掉前导码、SFD和CRC值),可以看到,后面的18个0就是我们在发送时填充的18个字节数据。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21655

    浏览量

    601541
  • 以太网
    +关注

    关注

    40

    文章

    5367

    浏览量

    170982
  • 接口
    +关注

    关注

    33

    文章

    8479

    浏览量

    150784
  • 通信
    +关注

    关注

    18

    文章

    5967

    浏览量

    135825
  • ARP
    ARP
    +关注

    关注

    0

    文章

    50

    浏览量

    14732
收藏 人收藏

    评论

    相关推荐

    基于FPGA以太网ARP通信测试(一)

    主机与目的主机进行以太网通信,需要知道目的主机的MAC地址(物理地址),以太网ARP通信协议就是用来获取目的主机MAC地址的。
    的头像 发表于 11-06 18:20 1310次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>以太网</b><b class='flag-5'>ARP</b><b class='flag-5'>通信</b><b class='flag-5'>测试</b>(一)

    【小梅哥2017力作】详细的FPGA以太网设计教程,76页精华PDF

    ... 3第1章 基于RTL8201的以太网UDP通信测试... 4第2章 以太网MAC层基本原理... 12MII 接口介绍:... 12以太网
    发表于 07-29 23:20

    【AC620 FPGA试用体验】以太网ARP帧发包实例(手动CRC)

    基于AC620开发板上的以太网接口,设计一个能够发送ARP帧的FPGA系统。其中以太网包和ARP包采用分层组包的形式。即底层为
    发表于 08-26 12:56

    【正点原子FPGA连载】第二十五章以太网ARP测试实验-领航者ZYNQ之FPGA开发指南

    原子公众号,获取最新资料第二十五章以太网ARP测试实验在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的MAC地址(物理地址),
    发表于 09-29 18:15

    基于BL706 emac实现通过以太网发送一个ARP裸数据包的例程

    本 demo 基于 BL706 emac 实现通过以太网发送一个 ARP 裸数据包的例程,通过本例程可以确认 emac 以及 PHY 芯片的配置是否正确。以太网 PHY 芯片这里
    发表于 06-17 17:40

    基于以太网接口的TCP/IP 实验

    基于以太网接口的TCP/IP 实验 一. 实验目的进行一次TCP/IP 的通讯实验,使用户初步了解以太网、IP、ARP、ICMP 等协议。. 实验
    发表于 09-26 16:51 2041次阅读
    基于<b class='flag-5'>以太网</b>接口的TCP/IP 实验

    基于FPGA的万兆以太网接口的设计与实现

    基于FPGA的万兆以太网接口的设计与实现。
    发表于 05-11 09:46 39次下载

    以太网测试专题

    以太网测试专题
    发表于 01-21 12:07 14次下载

    基于FPGA的实时以太网(PowerLink)星载通信技术

    应用到航天器内部所碰到的实时性、确定性的瓶颈问题,本文对一种有潜力应用到卫星内部的实时以太网( Powerlink)进行研究。在FPGA内部实现Mircoblaze嵌入式系统,外接以太网PHY芯片实现协议栈物理层功能,
    发表于 01-09 14:20 6次下载
    基于<b class='flag-5'>FPGA</b>的实时<b class='flag-5'>以太网</b>(PowerLink)星载<b class='flag-5'>通信</b>技术

    在工业以太网领域采用FPGA的好处

    您的工厂或者工艺自动化系统需要采用多种工业以太网协议吗?请观看这一10分钟的视频,了解怎样采用FPGA来轻松开发工业以太网设计。您将能够:   观看在单片FPGA中集成电机控制和
    的头像 发表于 06-20 14:00 4443次阅读

    以太网 Ping的方式对 MAX10 FPGA 开发套件进行测试

    对MAX10 FPGA 开发套件进行以太网 Ping 测试
    的头像 发表于 06-20 01:00 4847次阅读
    用<b class='flag-5'>以太网</b> Ping的方式对  MAX10 <b class='flag-5'>FPGA</b> 开发套件进行<b class='flag-5'>测试</b>

    FPGA如何为以太网和千兆以太网解决低功耗问题

    探索新的中档 FPGA 如何为以太网和千兆以太网 (GbE) 链路执行桥接功能,同时解决低功耗问题。
    的头像 发表于 05-07 16:54 3977次阅读
    <b class='flag-5'>FPGA</b>如何为<b class='flag-5'>以太网</b>和千兆<b class='flag-5'>以太网</b>解决低功耗问题

    基于FPGA的千兆以太网ARP和UDP的实现

    其他协议报头的数据包(例如IP协议、ARP协议)。以太帧由一个32位冗余校验码结尾。它用于检验数据传输是否出现损坏。以太网帧格式如下图所示。 1.前导码和帧开始符是固定的,为7个0x55紧跟着1个0xd5 2.目的MAC地址指明
    的头像 发表于 02-16 16:35 2422次阅读

    基于FPGA的UDP千兆以太网通信

    本文介绍一个FPGA开源项目:UDP千兆以太网通信。利用SFP接口,可以通过使用SFP转RJ45模块或者直接使用光纤进行以太网通信
    的头像 发表于 08-31 11:26 4320次阅读
    基于<b class='flag-5'>FPGA</b>的UDP千兆<b class='flag-5'>以太网</b>光<b class='flag-5'>通信</b>

    基于FPGA的UDP RGMII千兆以太网通信方案

    本文介绍一个FPGA开源项目:UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、
    的头像 发表于 09-04 16:49 1500次阅读
    基于<b class='flag-5'>FPGA</b>的UDP RGMII千兆<b class='flag-5'>以太网通信</b>方案