在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 41285|回复: 93

FPGA与88E1111千兆以太网实现—软件1(收发无协议数据)

[复制链接]
发表于 2014-11-25 09:46:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
    本部分介绍利用Verilog语言实现无协议数据的收发,这个是用硬件直接调试,啊,啊,哦,等等之后会给出UDP协议传输的;
1、做个实验:在不需要懂网络协议做个实验吧,通过PC机利用以太网测试软件或测试程序向88E1111实验板发送一组数据,例如01 02 03……,只要是已知数据就好,最好能发无任何协议的数据,要是带UDP协议的那就是后面一段才是自己定义的数据;
2、读信号:通过SignalTap抓波形,抓那些数据呢?那就要看硬件了,我介绍《FPGA88E1111千兆以太网实现硬件》第3步,打开手册一看根读数据相关的有RX_CLKRX_ERRX_DVRXD[7:0],一看太好了都是输出不需要控制时序(这就是为啥要做读数据实验),看下说明4个标志依次代表读时钟、读数据错误、读数据有效、读数据,到现在应该知道通过SignalTap抓什么了吧,快点搭建SignalTap抓数据吧;
3、抓取数据:PC向板子发送的数据都为预先设定好的,即为已知数据(数据要是少系统后面会自动补数据8’h00),多发送几次变化的数据,看看抓到什么时序,都会出现前面8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’hd5+数据+4字节变化的数,对这就是88E1111的格式,如果通过PC用抓包软件只能看到‘数据+4字节变化的数’做下对比吧!在此把88E1111发送的数据流比喻成针线,8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’hd5这就是针,数据就是线,4字节变化的数这个是啥呢,如果针带着线一直穿是不行的,因为停不下来需要打个节,嗯,这样就会停下来了,知道这‘4字节变化的数’是啥了吧;
4、数据结构:上一步说了那么多就是为了理解,简单从网络传输理解就是发送的数据前面要有前导,后面要有校验,前导都是固定的数据了,很好,只要是这组数据就行,那么校验是怎么做的呢,也是比较简单的,就是通过CRC校验和完成的,至于用查表还是16位数相加求反复习一下吧,温馨提示前导不计算在校验和内;
5、写信号:知道数据读取咋回事了吧,至于说不加协议怎么用,那接下来就是应用的事了,下面接着说发送数据吧,嗯,有了读数据,写数据就是一个反过程,从硬件角度讲,所有有关读引脚变写引脚,那也就意味着都是输入脚了,好吧,需要应用FPGA控制输出时序状态了,其实也是很容易的,看看有那些引脚GTX_CLKTX_ERTX_ENTXD[7:0],不用多说手册明确说明依次为写时钟、写数据错误、写使能、写数据,为了能发出数据一定保证数据的正确性,所以只要用到GTX_CLKTX_ENTXD[7:0]这三个就可以了,时钟为125MHzTX_EN信号置1TXD[7:0]就为有效数据了,一个时钟一个字节数据;
6、发送数据:TX_EN有效后,对应读数据结构应该知道发送什么数据吧,那个‘针’,有前导才可以畅通无阻的,乖乖的一个时钟一个时钟的发8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’hd5这一串数吧,发完了接着来,别停,发你自己的数据喽,千万别忘了,还要做校验和呀,数据完事了,也别停,快把校验和发出去,嗯,可以歇歇了,一个数据包就这么发出去了,好吧,通过PC机用抓包软件看看数据能不能抓到、数据对不对;
7、发送注意:前导根校验和有一个错误,数据都是发送不出去的,就是没有‘针’‘节’网络传输是不识别的,这个其实还根硬件电路板布局布线有关系的,但要简单几十个数一般问题不大的,要是加上协议,好吧,需要约束的~~~

PS怎么日志中只能加URL的图片,怎样可以加个截图,可以给出实验截图,这样说真是不好理解,我这个小学语文是数学老师教的,文字功底太差了!
发表于 2017-5-15 16:17:59 | 显示全部楼层
这个怎么用啊
发表于 2017-3-4 14:02:58 | 显示全部楼层
谢谢!!!
 楼主| 发表于 2017-2-6 09:07:38 | 显示全部楼层
回复 91# jingxian69


    LINK不上是不能传输不到PC数据的,88E1111发送端是由CPU控制的,要想数据有传输,那么二者必须都满足
发表于 2017-1-20 16:59:47 | 显示全部楼层
请问楼主:如果不板子不连接PC,88E1111的发送数据端有信号输出吗?也就是芯片是否需要确认LINK_UP后才能发送数据?
 楼主| 发表于 2016-12-9 15:08:45 | 显示全部楼层
回复 89# yyb941018


    抓不到包有很多原因,得看你具体状态来分析,百兆可以通讯注意看下配置部分,是否千兆部分没有配置
发表于 2016-12-5 17:23:16 | 显示全部楼层
楼主好,我最近在做这个,用的是88e1111,tx灯会亮,rgmii接口有数据,用wireshark就是抓不到包,之前测试过100M的成功了,请问这个1000M的还需要注意什么,可能有什么问题,能加QQ聊一下就最好了,QQ466903307 谢谢!
 楼主| 发表于 2016-9-20 08:33:47 | 显示全部楼层
回复 87# icbchang


    看下回环测试是什么回环,回环测试只能保证回环部分的硬件通畅,并不一定保证你代码编写的正确,还是需要校验测试的;保证硬件好用的情况下,你可以接着测试单方向的,PC发芯片监测,再反之,都成功后在将两部分程序合到一起
发表于 2016-9-17 19:06:50 | 显示全部楼层
回复 1# topggmq 楼主求加qq:409957803 请教
最近在做fpga的以太网通信.板子用的是kc705,我使用vivado自带的tri-mode mac etnernet ip核例程,里面实现的是回还测验。在pc端用发包软件发包,然后用wareshark查包,发现可以抓到发出去的包,并且抓到从板子上回的包,同时在板子以太网的接受和发送的灯都是亮的,按理说应该没有问题了,但是我用chipscope查rx的信号却显示的只有一个数,且不变。但是我用例子里从板子发送的数据,用wreshark可以查的到,chipscope查tx的信号也能看到。这是哪里有问题,求解救!!!
 楼主| 发表于 2016-9-9 15:01:36 | 显示全部楼层
非常抱歉,上段时间比较忙,没有看帖子,我已将上段时间没有回复的一一回复,也许对他们没有什么作用,希望对遇到同样问题的有所帮助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-2 20:35 , Processed in 0.034792 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表