欢迎光临散文网 会员登陆 & 注册

硬件设计之MAC接口-MII/RMII

2023-02-26 02:46 作者:ecircuitlab  | 我要投稿

本文内容的相关资料可在公众号“ecircuitlab”后台回复:   

以太网标准 获取

前面的文章“硬件电路设计-百兆网篇”的设计详解里,我一上来就直接说MII/RMII信号线的接法,但是没有细节去解释什么是MII,什么是RMII。相信很多读者看完MII/RMII接口设计小节后,可能知道怎么搞定电路设计了,但什么是MII和RMII估计还是一脸懵,所以今天我先把这俩东西给大家解释清楚先。

在解释什么是MII和RMII前,我想先给大家说下什么是MAC接口,可能有的人对MAC接口也是一脸懵。MAC是media access control的缩写,是以太网标准里定义的一个Control,通常集成在芯片里,挂载在CPU的数据总线上,它主要的功能是打包CPU发送的数据给PHY,或者解包从PHY收到的数据给CPU,MAC对外通信的接口叫做MAC接口。对于MAC的内部工作原理,我贴个从IEEE Standard for Ethernet摘图给大家看看,如下,大家大概知道怎么回事就行,不是搞芯片IP设计的,不必要去深究,不过如果感兴趣的话可以从本公众号后台回复“以太网标准”获取标准文档去研究,从标准的第114页往后看。

图片

图1. MAC内部工作原理

OK,现在知道什么是MAC了,我们来看MII和RMII。先看MII的概念,MII是Media Independent Interface 的缩写。通常翻译为媒体独立接口或介质无关接口。怎么理解呢?我们看下从标准里摘的一张图如下,看图中红圈圈出的两个地方,可以看到它就是一个交互接口。在10Mb/s时叫MII,速率≥100Mb/s时叫xMII,这个x表示自定义加的前缀。比如速率是Gb/s时叫GMII,速率是10Gb/s时叫XGMII,速率100Mb/s时还叫MII。我这样描述,感觉应该就好理解了,它真的就是一个介质无关的接口,目的就是用来交互传输数据,不管你接口速率是多少,如果速率不同,自己感觉不好区分的话就自己加前缀区分。

图片

图2. MII是一个介质无关的交互接口图示

理清MII的概念后,我们上面讲了以太网的速率在100Mb/s时,MAC和PHY的交互接口就直接叫MII。对于MAC发送数据的MII,主要由TX_CLK、TXD[3:0]、TX_EN这几个信号线组成,它发送数据时的波形如下。数据信号TXD[3:0]、TX_EN在时钟下降沿变化,在时钟的上升沿时被PHY芯片有效读取。

图片

图3. MII发送数据时,数据和控制信号在时钟下降沿变化,上升沿被PHY有效读取

MAC接收数据的MII也跟发送的一样,只不过方向反了过来。MAC接收数据的MII主要由RX_CLK、RXD[3:0]、RX_DV、RX_ER这几个信号构成。数据是由PHY发送出来,RX_CLK下降沿时信号RX_CLK、RXD[3:0]、RX_DV、RX_ER变化,RX_CLK上升沿时MAC有效接收到数据。

图片

图4. MII接收数据时,数据和控制信号在时钟下降沿变化,上升沿被MAC有效读取

现在我们知道MII是在以太网速率为100Mb/s时的一种叫法,也知道它发送和接收数据时的波形,那RMII又是什么东西?我们先来看看RMII发送数据的波形如下。可以看到MAC发送的数据和控制信号在时钟的高低电平中心变化,在时钟上升、下降沿被PHY有效读取。而且数据线跟MII相比,还少了一半,变成了TXD[1:0]。

图片

图5. RMII发送数据时,数据和控制信号在时钟高低电平的中心变化,在时钟上升、下降沿被PHY有效读取

再来看RMII接收数据时的波形图如下,可以看到,跟RMII发送数据一样,RMII接收数据时,PHY发送过来的数据和控制信号也是在时钟的高低电平中心变化,在时钟的上升、下降沿被MAC有效读取。同样数据线跟MII相比,也少了一半,变成了RXD[1:0]。

图片

图6. RMII接收数据时,数据和控制信号在时钟高低电平的中心变化,在时钟上升、下降沿被MAC有效读取

所以了解完了RMII的数据收发波形,我们得到的总结就是,跟MII相比,RMII的数据线少了一半,数据和控制信号在时钟的高低电平中心变化,在时钟的上升、下降沿被有效读取。然后现在我们来看RMII的全称,RMII的全称是Reduced Media Independent Interface。Reduced......,是不是很有意思,通过把数据和控制信号压缩在一个时钟内传2次,数据线减一半,然后把Reduced的R加在MII前面,最后叫RMII。真佩服这群人,真会玩,真的把xMII用得淋漓尽致,不过确实也说明了MII真的是介质无关,只代表数据交互。

现在我们把MII和RMII都理清楚了,我们最后来总结下MII和RMII的一些优缺点,如下。

a. MII数据一个时钟内传输一次数据,对于Layout来说时间裕量更好,RMII因为一个时钟传2次数据,相当于时钟翻倍,对于Layout来说时间裕量变少,Layout时等长要求度更高。

b. RMII相对MII数据线少了一半,对于PCB走线空间要求低,MII则相反。

对于百兆网设计中该用MII还是RMII接口,还是跟前面文章描述一样,MAC支持RMII就优先选RMII,不支持就只能选MII。


硬件设计之MAC接口-MII/RMII的评论 (共 条)

分享到微博请遵守国家法律