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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 36360|回复: 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的图片,怎样可以加个截图,可以给出实验截图,这样说真是不好理解,我这个小学语文是数学老师教的,文字功底太差了!
发表于 2015-3-3 21:55:58 | 显示全部楼层
请问,我从电脑上给板子发送数据没有问题,但是板子给电脑发送数据,抓包软件就是收不到,请问该怎么整啊,我现在做的也是无协议传输
发表于 2015-3-3 23:43:51 | 显示全部楼层
楼主传输速率有测过吗,能达到多少
 楼主| 发表于 2015-3-5 08:05:02 | 显示全部楼层
回复 2# atom1108


    1、可能硬件问题,查看原理电路,保证硬件功能正确,可以做回环试验;
    2、记住‘针、结’一定要正确,要不抓包是抓不到的;
    3、可能时序问题,发送的信号不能根时钟配合好,这样就需要更改程序。
细心查找,一步一步确认!
 楼主| 发表于 2015-3-5 08:07:44 | 显示全部楼层
回复 3# 神一样的飞哥


    没有专业的软件测试,能够至少能够达到80%,这个是从底层硬件直接开发方式,要是应用IP核或是SOPC我听别人说过,做好能在50%多点,不好就是40%左右,但我没有做过这个试验。
发表于 2015-3-9 15:16:18 | 显示全部楼层
回复 4# topggmq
1,首先硬件应该没有问题,因为我用的是开发板!2,目前做到的程度是,利用回换测试了一下,能测到数据(感觉数据不太对,因为用signaltap抓信号,抓到的信号跟发送数据有点区别)!这个能不能说明PHY芯片收到数据了呢?
3,发送数据时,我用signaltap抓tx_en,tx_data,和Gtx_clk信号,“针”和“线”都有且校验和正确,但是电脑就是抓不到数据,这个情况是不是时序没有约束呢?目前测试的知识100M情况。
4,目前感觉是不是我的PHY的寄存器配置有问题呢?因为我只进行了第0个控制寄存器的配置,其余的没有管,这方面会不会有问题?
希望得您的解答,谢谢
发表于 2015-3-9 16:45:51 | 显示全部楼层
PC侧发送接收网络数据的测试软件用的什么呢?能推荐一下不?
 楼主| 发表于 2015-3-10 08:07:14 | 显示全部楼层
网络调试助手V3.7.zip (474.61 KB, 下载次数: 198 ) 回复 7# shanekong
上传个附件,不知道你能不能看到,这个是发送数据,就是网路调试助手,接受就找个抓包软件就行,我用的是Ethereal。
发表于 2015-3-11 14:29:59 | 显示全部楼层
回复 8# topggmq用这个软件,发送数据是有协议的吗?软件上有协议类型!能发出无协议的MAC帧
 楼主| 发表于 2015-3-12 08:14:18 | 显示全部楼层
回复 9# atom1108


   有协议的UDP或TCP,接收来说只要能有数据接到就问题不大,至于是什么在慢慢分析吧,主要应该在发送上,这个由你控制的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 16:03 , Processed in 0.028306 second(s), 10 queries , Gzip On, Redis On.

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