首先说10/100/1000M都是指的数据收发速率,单位是bps。所以这里要从mac以及phy的数据收发接口下手。
mac与phy主流数据接口有GMII MII RMII等。接口规范中定义了数据收发信号线个数。接口定义可以看这篇文章:根据这段描述看出,GMII接口模式支持1000M环境,但是在10/100M环境下phy完成自动协商确定为10/100BASE-TX后就切换为MII模式,GMII引脚都是与MII兼容的(MII下8根数据线有4根不用),GMII接口定义中有2个clk线,GTX_CLK TX_CLK(GMII/MII下rx clk由phy提供),GTX_CLK在GMII模式下提供125MHZ,TX_CLK在MII模式下提供2.5/25MHZ。下面给出一个mac与1000M phy硬件电路连接图。
综上,
对于100M phy,外部网络10/100M切换,仅需要改变mac提供的数据时钟即可,mac接口模式不变,因为MII兼容10/100M。
对于1000M phy,外部网络10/100/1000M切换,首先需要改变mac的接口模式(使用的数据线个数不同了),因为10/100M下phy会切换为MII模式,根据接口模式在改变其数据时钟。版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/skyflying2012/article/details/47132149