MII 接口类型
MII 接口一共有 16 根线。
RMII 接口:
RMII 即 Reduced MII,是 MII 的简化板,连线数量由 MII 的 16 根减少为 8 根。
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,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。
PHY 层芯片的发送部分则不需要 FIFO,它直接将接收到的数据发送到 MAC 就可以了。
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 中数据发送完为止。在接收过程
中如果出现无效的载波信号或者无效的数据编码,则 RX_ER 会变为有效,表示物理层芯片
接收出错。
评论0
最新资源