解析开发以太网接口的总过程

可编程逻辑

1360人已加入

描述

在开发以太网接口的过程中经常看到 MII、RMII、GMII、RGMII 等英文缩写名称。在开发接口前,先将这些名词搞清楚。

硬件

1 MII

MII(Medium Independent Interface)的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的 MAC 层和 PHY 层之间,MII 接口的类型有很多,常用的有 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI 等。

MII 支持 10 兆和 100 兆的操作,一个接口由 14 根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多

硬件

RXD(Receive Data)[3:0]:数据接收信号,共 4 根信号线;

TX_ER(Transmit Error):发送数据错误提示信号,同步于 TX_CLK,高电平有效,表示 TX_ER 有效期内传输的数据无效。对于 10Mbps 速率下,TX_ER 不起作用;

RX_ER(Receive Error):接收数据错误提示信号,同步于 RX_CLK,高电平有效,表示 RX_ER 有效期内传输的数据无效。对于 10Mbps 速率下,RX_ER 不起作用;

TX_EN(Transmit Enable):发送使能信号,只有在 TX_EN 有效期内传的数据才有效;

RX_DV(Reveive Data Valid):接收数据有效信号,作用类型于发送通道的 TX_EN;

TX_CLK:发送参考时钟,100Mbps 速率下,时钟频率为 25MHz,10Mbps 速率下,时钟频率为 2.5MHz。注意,TX_CLK 时钟的方向是从 PHY 侧指向 MAC 侧的,因此此时钟是由 PHY 提供的。

RX_CLK:接收数据参考时钟,100Mbps 速率下,时钟频率为 25MHz,10Mbps 速率下,时钟频率为 2.5MHz。RX_CLK 也是由 PHY 侧提供的。

CRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS 就有效,另外,CRS 只有 PHY 在半双工模式下有效;

COL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只有 PHY 在半双工模式下有效。

MII 接口一共有 16 根线。

2 RMII

RMII 是简化的 MII 接口,在数据的收发上它比 MII 接口少了一倍的信号线,所以它一般要求是 50 兆的总线时钟,是 MII 接口时钟的两倍。

 

与 MII 接口相比,GMII 的数据宽度由 4 位变为 8 位,GMII 接口中的控制信号如 TX_ER、TX_EN、RX_ER、RX_DV、CRS 和 COL 的作用同 MII 接口中的一样,发送参考时钟 GTX_CLK 和接收参考时钟 RX_CLK 的频率均为 125MHz(1000Mbps/8=125MHz)。

在这里有一点需要特别说明下,那就是发送参考时钟 GTX_CLK,它和 MII 接口中的 TX_CLK 是不同的,MII 接口中的 TX_CLK 是由 PHY 芯片提供给 MAC 芯片的,而 GMII 接口中的 GTX_CLK 是由 MAC 芯片提供给 PHY 芯片的。两者方向不一样。

在实际应用中,绝大多数 GMII 接口都是兼容 MII 接口的,所以,一般的 GMII 接口都有两个发送参考时钟:TX_CLK 和 GTX_CLK(两者的方向是不一样的,前面已经说过了),在用作 MII 模式时,使用 TX_CLK 和 8 根数据线中的 4 根。

GMII 是千兆网的 MII 接口。GMII 采用 8 位接口数据,工作时钟 125MHz,因此传输速率可达 1000Mbps。同时兼容 MII 所规定的 10/100 Mbps 工作方式。

 

RGMII 接口表示简化了的 GMII 接口。RGMII 均采用 4 位数据接口,工作时钟 125MHz,并且在上升沿和下降沿同时传输数据,因此传输速率可达 1000Mbps。同时兼容 MII 所规定的 10/100 Mbps 工作方式,支持传输速率:10M/100M/1000Mb/s ,其对应 clk 信号分别为:2.5MHz/25MHz/125MHz。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分