"\u003Cdiv\u003E\u003Ch1\u003E\u003Cstrong\u003E1、简介\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Ch1\u003EMII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。“媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。\u003C\u002Fh1\u003E\u003Cp\u003EMII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII,下面对它们进行一一介绍。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cstrong\u003E2、MII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F262d4e9cb45a4fb7ab34a9d388a998a4\" img_width=\"434\" img_height=\"316\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003ETX_ER(Transmit Error):发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的数据无效。对于10Mbps速率下,TX_ER不起作用; \u003C\u002Fp\u003E\u003Cp\u003E RX_ER(Receive Error): 接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用; \u003C\u002Fp\u003E\u003Cp\u003E TX_EN(Transmit Enable): 发送使能信号,只有在TX_EN有效期内传的数据才有效; \u003C\u002Fp\u003E\u003Cp\u003ERX_DV(Reveive Data Valid): 接收数据有效信号,作用类型于发送通道的TX_EN; \u003C\u002Fp\u003E\u003Cp\u003ETX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。注意,TX_CLK时钟的方向是从PHY侧指向MAC侧的,因此此时钟是由PHY提供的。 \u003C\u002Fp\u003E\u003Cp\u003E RX_CLK:接收数据参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。RX_CLK也是由PHY侧提供的。 \u003C\u002Fp\u003E\u003Cp\u003ECRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS就有效,另外,CRS只有PHY在半双工模式下有效; \u003C\u002Fp\u003E\u003Cp\u003ECOL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只有PHY在半双工模式下有效。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cbr\u003E\u003C\u002Fh1\u003E\u003Ch1\u003E\u003Cstrong\u003E3、RMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp9.pstatp.com\u002Flarge\u002Fpgc-image\u002Fe0d1305b78ee4d52968eaf8fb475eb36\" img_width=\"574\" img_height=\"338\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E RMII即Reduced MII,是MII的简化板,连线数量由MII的16根减少为8根。 \u003C\u002Fp\u003E\u003Cp\u003E TXD[1:0]:数据发送信号线,数据位宽为2,是MII接口的一半; \u003C\u002Fp\u003E\u003Cp\u003E RXD[1:0]:数据接收信号线,数据位宽为2,是MII接口的一半; \u003C\u002Fp\u003E\u003Cp\u003E TX_EN(Transmit Enable):数据发送使能信号,与MII接口中的该信号线功能一样; \u003C\u002Fp\u003E\u003Cp\u003E RX_ER(Receive Error):数据接收错误提示信号,与MII接口中的该信号线功能一样; \u003C\u002Fp\u003E\u003Cp\u003ECLK_REF:是由外部时钟源提供的50MHz参考时钟,与MII接口不同,MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。这里需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。 \u003C\u002Fp\u003E\u003Cp\u003ECRS_DV:此信号是由MII接口中的RX_DV和CRS两个信号合并而成。当介质不空闲时,CRS_DV和RE_CLK相异步的方式给出。当CRS比RX_DV早结束时(即载波消失而队列中还有数据要传输时),就会出现CRS_DV在半位元组的边界以25MHz\u002F2.5MHz的频率在0、1之间的来回切换。因此,MAC能够从 CRS_DV中精确的恢复出RX_DV和CRS。 \u003C\u002Fp\u003E\u003Cp\u003E在100Mbps速率时,TX\u002FRX每个时钟周期采样一个数据;在10Mbps速率时,TX\u002FRX每隔10个周期采样一个数据,因而TX\u002FRX数据需要在数据线上保留10个周期,相当于一个数据发送10次。 \u003C\u002Fp\u003E\u003Cp\u003E当PHY层芯片收到有效的载波信号后,CRS_DV信号变为有效,此时如果FIFO中还没有数据,则它会发送出全0的数据给MAC,然后当FIFO中填入有效的数据帧,数据帧的开头是“101010—”交叉的前导码,当数据中出现“01”的比特时,代表正式数据传输开始,MAC芯片检测到这一变化,从而开始接收数据。 \u003C\u002Fp\u003E\u003Cp\u003E当外部载波信号消失后,CRS_DV会变为无效,但如果FIFO中还有数据要发送时,CRS_DV在下一周期又会变为有效,然后再无效再有效,直到FIFO中数据发送完为止。在接收过程中如果出现无效的载波信号或者无效的数据编码,则RX_ER会变为有效,表示物理层芯片接收出错。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cbr\u003E\u003C\u002Fh1\u003E\u003Ch1\u003E\u003Cstrong\u003E4、SMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp9.pstatp.com\u002Flarge\u002Fpgc-image\u002Fd2d69d791762408886435a92a2e110e8\" img_width=\"467\" img_height=\"255\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003ESMII即Serial MII,串行MII的意思,跟RMII相比,连线进一步减少到4根。 \u003C\u002Fp\u003E\u003Cp\u003ETXD:发送数据信号,位宽为1; \u003C\u002Fp\u003E\u003Cp\u003ERXD:接收数据信号,位宽为1; \u003C\u002Fp\u003E\u003Cp\u003ESYNC:收发数据同步信号,每10个时钟周期置1次高电平,指示同步。 \u003C\u002Fp\u003E\u003Cp\u003ECLK_REF:所有端口共用的一个参考时钟,频率为125MHz,为什么100Mbps速率要用125MHz时钟?因为在每8位数据中会插入2位控制信号,请看下面介绍。 \u003C\u002Fp\u003E\u003Cp\u003ETXD\u002FRXD以10比特为一组,以SYNC为高电平来指示一组数据的开始,在SYNC变高后的10个时钟周期内,TXD上依次输出的数据是:TXD[7:0]、TX_EN、TX_ER,控制信号的含义与MII接口中的相同;RXD上依次输出的数据是:RXD[7:0]、RX_DV、CRS,RXD[7:0]的含义与RX_DV有关,当RX_DV为有效时(高电平),RXD[7:0]上传输的是物理层接收的数据。当RX_DV为无效时(低电平),RXD[7:0]上传输的是物理层的状态信息数据。见下表: \u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002Fc4c2cfeb6d7c4ae58d3cfef24a705425\" img_width=\"558\" img_height=\"143\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E当速率为10Mbps时,每一组数据要重复10次,MAC\u002FPHY芯片每10个周期采样一次。MAC\u002FPHY芯片在接收到数据后会进行串\u002F并转换。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cbr\u003E\u003C\u002Fh1\u003E\u003Ch1\u003E\u003Cstrong\u003E5、SSMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F8fc85a12bec14b798e758240ff96021b\" img_width=\"463\" img_height=\"264\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003ESSMII即Serial Sync MII,叫串行同步接口,跟SMII接口很类似,只是收发使用独立的参考时钟和同步时钟,不再像SMII那样收发共用参考时钟和同步时钟,传输距离比SMII更远。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cbr\u003E\u003C\u002Fh1\u003E\u003Ch1\u003E\u003Cstrong\u003E6、SSSMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002Fc8cdfcbff44a42d4aef6205f1fbb7f9d\" img_width=\"320\" img_height=\"193\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003ESSSMII即Source Sync Serial MII,叫源同步串行MII接口,SSSMII与SSMII的区别在于参考时钟和同步时钟的方向,SSMII的TX\u002FRX参考时钟和同步时钟都是由PHY芯片提供的,而SSSMII的TX参考时钟和同步时钟是由MAC芯片提供的,RX参考时钟和同步时钟是由PHY芯片提供的,所以顾名思义叫源同步串行。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cbr\u003E\u003C\u002Fh1\u003E\u003Ch1\u003E\u003Cstrong\u003E7、GMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F39b60a7ea5914707a6d3fe7647b3c810\" img_width=\"511\" img_height=\"356\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E与MII接口相比,GMII的数据宽度由4位变为8位,GMII接口中的控制信号如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同MII接口中的一样,发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为125MHz(1000Mbps\u002F8=125MHz)。 \u003C\u002Fp\u003E\u003Cp\u003E在这里有一点需要特别说明下,那就是发送参考时钟GTX_CLK,它和MII接口中的TX_CLK是不同的,MII接口中的TX_CLK是由PHY芯片提供给MAC芯片的,而GMII接口中的GTX_CLK是由MAC芯片提供给PHY芯片的。两者方向不一样。 \u003C\u002Fp\u003E\u003Cp\u003E在实际应用中,绝大多数GMII接口都是兼容MII接口的,所以,一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK(两者的方向是不一样的,前面已经说过了),在用作MII模式时,使用TX_CLK和8根数据线中的4根。\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cstrong\u003E8、RGMII接口介绍\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F97220aa8ce3b4c8ba5c525a615538c6b\" img_width=\"469\" img_height=\"308\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003ERGMII即Reduced GMII,是RGMII的简化版本,将接口信号线数量从24根减少到14根(COL\u002FCRS端口状态指示信号,这里没有画出),时钟频率仍旧为125MHz,TX\u002FRX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送GMII接口中的TXD[3:0]\u002FRXD[3:0],在参考时钟的下降沿发送GMII接口中的TXD[7:4]\u002FRXD[7:4]。RGMI同时也兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。 \u003C\u002Fp\u003E\u003Cp\u003ETX_EN信号线上传送TX_EN和TX_ER两种信息,在TX_CLK的上升沿发送TX_EN,下降沿发送TX_ER;同样的,RX_DV信号线上也传送RX_DV和RX_ER两种信息,在RX_CLK的上升沿发送RX_DV,下降沿发送RX_ER。 \u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002F11004c44d826414b8c840d368f08f8bb\" img_width=\"544\" img_height=\"323\" alt=\"MII(Media Independent Interface)接口解密\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"
文章来源: https://www.toutiao.com/group/6716051681752121870/