微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA与88E1111千兆以太网实现—ARP包

FPGA与88E1111千兆以太网实现—ARP包

时间:10-02 整理:3721RD 点击:
ARP包包含两个部分,一个接受ARP请求,另一个是发送ARP回应;那么它具有什么样的作用呢?
在实际应用过程,并不是像我之前介绍的一样,将固定的信息全部都能定义到板子内部,而是根据网络或是网卡的特点一样,每个网卡都具有自己的一个物理地址,同样在以太网板子上也需要定义一个MAC地址,并在此指定IP地址,那么任何计算机或是能够发送ARP请求包的板子都可以通过这个IP寻找板子的物理地址,并为以后的数据传送到哪留下地址。
ARP请求:
是指计算机像板子发送请求,通过指定IP地址寻求板子的物理地址,那么针对与以太网板子而然,就是接收数据,进而对照之前所说的一样,就是当有rxen信号时,判断rxdata的数据,同样数据是啥是根据arp包结构而定,不同时期发过来的数据代表不同的意义,在此我不做介绍,但在下面可以推荐一种测试收到数据的方法。
利用signaltap完成数据监控,设置时钟为rxclk,监测信号为rxen、rxdata,捕获时间选取rxen上升沿时刻,如果硬件、软件设计都正确,你将会发现首先接到的数据为55 55……d5,还记得这个数据吧,前导数据呀,接下来是ff ff……共计6个字节,说明ARP请求包是以广播的形式发送的,剩下的数据自己找arp数据包结构自己分析吧!
ARP响应:
它是相对与请求后的回应,告诉对方我的信息,及记录对方的信息,这些信息其实就是之前提到的IP、MAC地址,说白了还是一串数据,既然是回应,那么相对于板子就是像主机发送数据,自然就会利用到txclk、txen、txdata这三个信号,就像发送UDP协议数据一样,与ARP请求是个反过程,但是需要注意的是发送完所有协议数据之后,不能直接将txen信号直接拉低,而是需要发送一些数据,保证一包数据的最小容量,这些数据一般都是00。
总结:
要想完成ARP包,必须弄通两件事,一是arp数据包的请求、回应结构,二是根据以前介绍的内容通过FPGA完成信号与时钟的匹配,在合适发送或是接收那些指定的数据,这些数据代表的意义也就为结构中的内容,如果能够明白其中的意义,实现ARP其实不难,甚至来说比UDP要省事的多,至少它不需要穿过那么多层就可以完成。

你好,问一下,你是在xilinx的芯片上做的开发呢还是altera啊?



    altera上,是啥无所谓,都是基本的IO,没有特殊应用

请教小编,PC端是用哪个软件发送arp包的?新手一枚,没找到什么好的软件来发送包



    只要PC端没有记录,无论发什么都会有ARP请求的,不需要什么特殊的软件

您好!我现在正在弄这个开发板,不知道Mac帧中的源地址和目的地址怎么设置?目的地址是不是就是设置上位机的IP地址,源地址是不是就是88E1111的物理地址,那这个物理地址怎么找啊?不懂啊,菜鸟请高手赐教!

MAC地址就像每个网卡上都有唯一物理地址,可以任意匹配IP地址,也就是MAC地址是一个固定值,那么这个值由控制端决定,当与网卡通讯时,网卡自然也有一个固定MAC值。

挺好的

硬件电路怎么连有源程序吗



    sorry,不能给的,只提供技术支持,看来在这领域你应该是新手吧,记住不要直接要代码,几乎不会有人给的,给你的都是网上泛滥的

能留个qq么?或者加826120889?求助

小编,菜鸟一枚,请教一下,FPGA端的IP地址是怎么确定?也就是如何知道或者设置目的IP,实在是没啥概念对这个东西



    自己确定的,不是设定的,而是代码中要写入的,确定方式要根PC端一致,保证在一个段上好调试的



   那我不用mac核的话可以直接发包测试吗小编?或者加您qq问几个小白问题吧,我现在只需要测试物理上通不通,我的qq965404806



    可以直接抓取的,你要是应用根我一样的片子,你可按照前面的方式操作,另外已加你好友



   最近在调试千兆网,用的FPGA内部的10/100/1000 Ethernet MAC核加外部PHY芯片实现的,UDP协议,调试板子是骏龙科技自己做的网卡,上面的PHY芯片使用的是RGMII接口,LOOPBACK模式下GMII接口通,RGMII接口的TX_CONTROL和RGMII_OUT[3:0]就是没有信号,不知道是为什么,骏龙科技那边也没找到原因,想在网上买块88E1111芯片的开发板,但是有点小贵没舍得,评估板没找到,还望小编明示



    你这么说问题估计出现在模式配置上,但是感觉你能做出来GMII模式,你应该不会配置错的,但你还需要看看寄存器的细节配置做回环测试


你用的是RGMII还是GMII?



    gmii

感谢小编分享,准备学习中



    GMII比RGMII好弄一点吧!



    自我感觉是这样的,并行理解,会好理解些,懂存储器就更好理解了


请教一个问题,那个fpga对以太网芯片发送数据前,是不是要检测连接状态的,是通过什么方法检测的呢,因为我写了一个发送的,在电脑上抓包的数据不对,谢谢


再请教一个问题,我用的芯片是LXT972,按原理来说,phy芯片都是类似的,连接的指示灯link up不亮的原因是什么呢,就是,我把两块开发板用网线连起来,那个link up的指示灯不亮,是不是要进行什么操作才能连接上,另外你用什么软件来抓包的,可否加个q呢?qq:2259964043



    我所有的芯片是没有检测的,但不知道你用的芯片有没有,还有发送程序写了,会有多种原因导致数据发不出,需要根据测试结果分析原因



    首先你的片子我没有用过,其次问题描述就说link不上,没发分析,多种问题都会导致的,最后已加你好友

根据网络或是网卡的特点一样,每个网卡都具有自己的一个物理地址,同样在以太网板子上也需要定义一个MAC地址,并在此指定IP地址
----请问小编这样要怎么做呀



   sorry,问题应该解决了吧,好久没上来看了,为后人不了解的做个参考吧,这个是定义协议时指定的,看协议,ARP、ICMP、UDP、TCP等都有体现



   sorry,问题应该解决了吧,好久没上来看了,为后人不了解的做个参考吧,这个是定义协议时指定的,看协议,ARP、ICMP、UDP、TCP等都有体现



   求助 591531463 88E1111

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top