通信人家园
标题:
百兆以太网MII接口类型
[查看完整版帖子]
[打印本页]
时间:
2010-8-22 20:36
作者:
h99110501
标题:
百兆以太网MII接口类型
MII
是
Medium Independent Interface
的缩写,中文意思是“介质独立接口”,该接口一般应用于以太网硬件平台的
MAC
层和
PHY
层之间,
MII
接口的类型有很多,常用的有
MII
、
RMII
、
SMII
、
SSMII
、
SSSMII
、
GMII
、
RGMII
、
SGMII
、
TBI
、
RTBI
、
XGMII
、
XAUI
、
XLAUI
等。本文只介绍百兆以太网的MII、RMII、SMII、SSMII、SSSMII五种接口,其它千兆、万兆以太网接口另行介绍。
MII
接口(下图):
TXD[3:0]
:数据发送信号,共
4
根信号线;
RXD[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
只在半双工模式下有效;
COL
:
Collision Detectd
,冲突检测信号,不需要同步于参考时钟,只在半双工模式下有效。
MII
接口一共有
16
根线
(TX_CLK, RX_CLK
未记入
)
。
RMII
接口(下图):
RMII
即
Reduced MII
,是
MII
的简化版,信号线数量由
MII
的
14
根减少为
7
根
(CLK_REF
为外部时钟源
)
。
TXD[1:0]
:数据发送信号线,数据位宽为
2
,是
MII
接口的一半;
RXD[1:0]
:数据接收信号线,数据位宽为
2
,是
MII
接口的一半;
TX_EN(Transmit Enable)
:数据发送使能信号,与
MII
接口中的该信号线功能一样;
RX_ER(Receive Error)
:数据接收错误提示信号,与
MII
接口中的该信号线功能一样;
CLK_REF
:是由外部时钟源提供的
50MHz
参考时钟,收发共用,与
MII
接口不同(
MII
接口中的接收时钟和发送时钟是分开的,而且都是由
PHY
芯片提供给
MAC
芯片的)。这里需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取,所以在
PHY
层芯片内的数据接收部分需要设计一个
FIFO
,用来协调两个不同的时钟。
CRS_DV
:此信号是由
MII
接口中的
RX_DV
和
CRS
两个信号合并而成。当介质不空闲时,
CRS_DV
和
RE_CLK
相异步的方式给出。当
CRS
比
RX_DV
早结束时
(
即载波消失而队列中还有数据要传输时
)
,就会出现
CRS_DV
在半位元组的边界
25MHz/2.5MHz
的频率在
0
、
1
之间的来回切换。因此,
MAC
能够从
CRS_DV
中精确的恢复出
RX_DV
和
CRS
。
在
100Mbps
速率时,
TX/RX
每个时钟周期采样一个数据;在
10Mbps
速率时,
TX/RX
每隔
10
个周期采样一个数据,因而
TX/RX
数据需要在数据线上保留
10
个周期,相当于一个数据发送
10
次。
当
PHY
层芯片收到有效的载波信号后,
CRS_DV
信号变为有效,此时如果
FIFO
中还没有数据,则它会发送出全
0
的数据给
MAC
,然后当
FIFO
中填入有效的数据帧,数据帧的开头是“
101010---
”交叉的前导码,当数据中出现“
01
”
的比特时,代表正式数据传输开始,
MAC
芯片检测到这一变化,从而开始接收数据。
当外部载波信号消失后,
CRS_DV
会变为无效,但如果
FIFO
中还有数据要发送时,
CRS_DV
在下一周期又会变为有效,然后再无效再有效,知道
FIFO
中数据发送完为止。
SMII
接口(下图):
SMII
即
Serial MII
,串行
MII
的意思,跟
RMII
相比,信号线数据进一步减少到
3
根;
TXD
:发送数据信号,位宽为
1
;
RXD
:接收数据信号,位宽为
1
;
SYNC
:收发数据同步信号,每
10
个时钟周期置
1
次高电平,指示同步。
CLK_REF
:所有端口共用的一个参考时钟,频率为
125MHz
,为什么
100Mbps
速率要用
125MHz
时钟?因为在每
8
位数据中会插入
2
位控制信号,请看下面介绍。
TXD/RXD
以
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]
上传输的是物理层的状态信息数据。见下表:
当速率为
10Mbps
时,每一组数据要重复
10
次,
MAC/PHY
芯片每
10
个周期采样一次。
MAC/PHY
芯片在接收到数据后会进行串
/
并转换。
SSMII
接口(见下图):
SSMII
即
Serial Sync MII
,叫串行同步接口,跟
SMII
接口很类似,只是收发使用独立的参考时钟和同步时钟,不再像
SMII
那样收发共用参考时钟和同步时钟,传输距离比
SMII
更远。
SSSMII
接口(见下图):
SSSMII
即
Source Sync Serial MII
,叫源同步串行
MII
接口,
SSSMII
与
SSMII
的区别在于参考时钟和同步时钟的方向,
SSMII
的
TX/RX
参考时钟和同步时钟都是由
PHY
芯片提供的,而
SSSMII
的
TX
参考时钟和同步时钟是由
MAC
芯片提供的,
RX
参考时钟和同步时钟是由
PHY
芯片提供的,所以顾名思义叫源同步串行。
附件:
时间:
2010-8-24 17:02
作者:
xiaoluo8805
附件怎么看不到的呢?
时间:
2010-8-25 09:34
作者:
songdalong
学习并收藏了,谢谢
时间:
2010-8-25 10:14
作者:
smalldreamway
不错
时间:
2010-9-13 10:56
作者:
yicao_huang
不错,可是附件呢
通信人家园 (https://www.txrjy.com/)
Powered by C114