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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10255|回复: 11

[求助] 关于ethernet mac ip核的问题

[复制链接]
发表于 2013-4-17 15:43:28 | 显示全部楼层 |阅读模式

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

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

x
最近在做一个以太网卡传输的项目过程中出现了一个很奇怪的问题,希望大家能给点意见哈。是这样的,我是在opencore上下载的ethernet mac ip核,然后写了一些其他的代码,连同这个ip核一起down到fpag后,通过配合单片机对其进行控制收发网络报文。
测试条件如下:
     该ethernet mac ip核一共有128个BD缓存区用来缓存发送和接受数据信息。我将前5个做为发送区,其余的全部作为接收区。
通过两台电脑和硬件板子进行调试。
    pc机A等间隔时间往板子的网卡芯片发送UDP报文,pc机B用于在线调试单片机,单片机不断的去读接收区BD状态,如果发现mac收到了有效的报文,就会通知MAC回应pc机A一个udp报文,这就是整个调试的情况。
   现在的问题是当pc机发送了十几万个报文后(数量是随机的,发送间隔时间越短,数量越小的概率越大)就会出现mac一直只是处于接受报文的情况,而不会发送任何的报文。
  当初担心是因为接收区溢出导致的,但是而我也看了下mac的设计文档,里面貌似写的是当接收区域满的情况下(不过貌似该设计文档与实际代码的版本不是很匹配),会丢弃再次接收到的报文,按道理说这个不会影响发送的。这个问题纠结了很长时间。
  想问下大家,这种情况下,是我硬件fpga里面除了ip核以外的代码有错误还是这个mac本身就有一个bug?还是说我单片机里面代码有误呢?但是,为什么这种情况会在发送大量的报文后才会出现呢?
希望大神能够指点指点哈。
发表于 2013-4-17 16:38:27 | 显示全部楼层
可能是单片机的报文处理效率问题,确定一下包间隔很小时,单片机能否给通知MAC回应pc机A一个udp报文,可以一开始PC机A就发送间隔短的报文,可以减小问题产生时间
 楼主| 发表于 2013-4-17 17:14:56 | 显示全部楼层
回复 2# xuy731


   这个我后来调试的时候看了下出问题的时候,发送BD的状态,全部是处于忙碌状态(也是就是发送状态),也就是说这个时候mac好像是一只处于发送的状态,但是就是没有发送报文。而且 ,当出现的问题的时候,我认为的把接受功能关掉了,以为自己会恢复到正常状态,可是还是一直是不发送的情况。
发表于 2013-9-26 09:20:44 | 显示全部楼层
能把源码发给我看一下吗
 楼主| 发表于 2013-11-27 23:46:08 | 显示全部楼层
回复 4# loganlogan


  哦,原码网上可以下的,opencore上就有
发表于 2014-3-21 12:15:14 | 显示全部楼层
楼主有几个问题请教一下,我最近也在拿这个ip做项目,请教一下,这个mac的ip的发送数据时数据包格式没有包含mac的源地址和目的地址和包长度是怎么回事。还有您用的是哪款PHY芯片。。望回复!感激不尽!
发表于 2014-8-2 17:45:30 | 显示全部楼层
phy也很重要
发表于 2014-11-13 20:51:46 | 显示全部楼层
哦,原码网上可以下的,opencore上就有
发表于 2015-6-30 10:16:51 | 显示全部楼层
楼主好像很厉害的样子。。。
发表于 2018-12-18 09:42:05 | 显示全部楼层
学习中。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 23:49 , Processed in 0.020809 second(s), 8 queries , Gzip On, Redis On.

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