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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2543|回复: 6

[求助] 求如何实现调用百兆mac内核的收发功能

[复制链接]
发表于 2012-2-20 12:49:38 | 显示全部楼层 |阅读模式

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

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

x
知道内核里面的工作原理,每个信号的定义,
主要是调用mac内核,与ram存储内核,还有之间会使用一些控制指令,或许fifo。
在加上物理层与mac之间的mii接口。
这些都ok,主要是思路不清晰。每个细节清晰了,代码就出来了。(给个代码更好
请问哪位牛人能讲述一下 !谢谢!
本人刚进fpga岗位,老大要求我去实现这个功能!
发表于 2012-2-20 15:37:07 | 显示全部楼层
你要先了解清楚MAC层需要做一些什么工作
收方向有去掉前导码,FCS
发方向有插入FCS和前导码,包括调整包间隔
还有一些计数的功能
transciver是在mac模块之前的,这个不用你自己亲手写,但是得会调用,多看看文档了。
发表于 2012-2-20 19:24:14 | 显示全部楼层
MAC内核通常把CRC校验,间隔调整都加进去了。xilinx的MAC核输出接口格式是固定的,用RAM或者FIFO这些都是基本的,了解了原理没有什么。MII接口和PHY芯片直接连接就行了,注意下端口时序
 楼主| 发表于 2012-2-21 09:01:53 | 显示全部楼层
回复 2# buley


    你好,十分感谢你!你的意思是只要把数据帧的前导,fcs,和其它长度/类型,sa/da去掉;留下数据输入到ram里面,这就是解码。然后还要计算下数据地址,因为我要使用的内核Memory Generator v4.3,有没有好一些的存储内核呢。
还有的话,控制帧的控制流量功能是不是在mac内核里就实现了。那就不用写了。
发表于 2012-2-27 21:07:19 | 显示全部楼层
流量控制是在MAC实现的,不是在PHY,这个需要搞清楚,你可以看下altera的文档,讲的还行,但是不太细,容易懂,
发表于 2012-2-28 16:02:02 | 显示全部楼层
看MAC core 接收或者发送数据的时序。根据控制信号将数据放在FPGA内部缓存中
发表于 2012-3-1 14:19:50 | 显示全部楼层
流控帧是在生成IP CORE里面自己选的,如果需要就enable。

你写的这个东东我写过,写完你就会觉得很简单的。检测先收到包的DMAC,看跟你本地配置的是不是一样的,不一样就把包扔了不要。防止收到网上的广播包等杂包,会悲剧的。然后根据你用的是裸MAC协议还是带IP头或者带UDP头的包,把PAYLOAD,就是包的数据提出来。CRC 就是FCS 要不要检测随便你,嫌麻烦就偷懒不要吧。

然后你看下后级处理的需要,数据位宽是多少,转换一下,以便适配。记得输出要给一个data_valid信号给别人,不要别人要骂娘的。

至于用RAM还是FIFO,接收端看你自己心情了,都可以,没有好坏之分。发送端,如果你要发送数据出去的话,比较麻烦一点,最好用RAM。我当时用的是RAM控制的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 15:38 , Processed in 0.026439 second(s), 9 queries , Gzip On, Redis On.

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