以太网自动协商

[复制链接]
 楼主| omgaa 发表于 2018-7-23 20:53 | 显示全部楼层 |阅读模式
楼主最近在看以太网,之前一段时间粗略的看过,要做的东西没做出来,后来也没管,所以以太网很多东西都是一知半解。前几天又重新看,有一些疑问希望各位帮忙解答一哈,我会尽力把问题说清楚。

首先用到了rtl8201的以太网芯片,支持10/100M,利用FPGA写MAC层,MII接口,形成一个系统。最终把两个的系统(都是rtl8201+FPGA)相连,然后再自定义一些协议。
以太网芯片开启了自动协商,通过硬件设置默认工作在100M全双工的模式下。也就是10M/100M连接10M/100M,默认都是100M(SPEED拉高)。
我写了一个最简单的发送,tx_en一直拉高,txd[3...0]每个时钟转换一次电平。我以为这样算是一直在发送,时钟也应该一直是25M,可是实际用示波器测的时候,发现tx_clk在25M和2.5M之间来回切换。看了一下芯片手册,觉得可能是和自动协商有关,我没有开省电的模式,软件都是默认状态,还没用MDIO配置rtl8201的寄存器,看了自动协商的原理,还是不清楚为什么时钟一直在切换。
所以第一个疑问就是:为什么在100M自动协商工作模式下,保持发送的时候时钟会一直切换,而且2.5M的时钟和25M时钟持续时间差不多,这样的话实际带宽不久少了很多了吗。
第二个是MDC/MDIO的时钟,MDC是需要外部提供的吗?
linqing171 发表于 2018-7-23 21:18 | 显示全部楼层
自动协商不是和接收相关吗?
 楼主| omgaa 发表于 2018-7-23 21:19 | 显示全部楼层
 楼主| omgaa 发表于 2018-7-23 21:28 | 显示全部楼层
linqing171 发表于 2018-7-23 21:18
自动协商不是和接收相关吗?

为啥说是和接收有关,我看的是和双方都有关系,两边都是自动协商,100M模式下的
 楼主| omgaa 发表于 2018-7-24 16:37 | 显示全部楼层
本帖最后由 omgaa 于 2018-7-24 16:39 编辑

用软件把自动协商功能关了之后,时钟一直保持在25M,不会变化,至于开着自动协商为什么会变暂时还不是很清楚
ar_dong 发表于 2018-8-14 09:52 | 显示全部楼层
2.5M是十兆模式
25M是百兆模式
应该在进行速度的自动协商
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部