emac接口与phy交互

nuc970的emac接口

nuc970的EMAC以太网接口与PHY芯片之间的数据交换是通过MII(Media Independent Interface)或RMII(Reduced Media Independent Interface)接口实现的。

在MII接口中,EMAC和PHY之间通过4对数据线(TXD0–TXD3和RXD0–RXD3)、两条时钟线(TX_CLK和RX_CLK)、一个数据同步线(TX_EN和RX_EN)以及一个管理线(MDC)进行数据传输。

在RMII接口中,EMAC和PHY之间只需要通过2对数据线(TXD0和RXD0)、两条时钟线(REF_CLK和TX_EN/RX_EN)以及一个管理线(MDIO)进行数据传输。具体的数据传输流程可以参考MII或RMII协议的规定。

RMII通信大致过程

在NUC这样的mpu上用得多的还是,RMII通信协议,而RMII(Reduced Media Independent Interface)是一种简化版的MII(Media Independent Interface)协议,用于连接MAC(Media Access Control)和PHY(Physical Layer)之间的通信。相比于MII,RMII只需要使用2对差分信号线(TXD0/RXD0和TXD1/RXD1)和2条时钟信号线(REF_CLK和TX_EN/RX_EN),可以减少芯片的引脚数量和板子的复杂度。RMII协议的通信过程如下:

  1. PHY通过MDIO(Management Data Input/Output)接口向MAC发送PHY的ID,以便MAC能够识别PHY的类型。

  2. MAC通过MDIO接口向PHY发送配置信息,例如速度、双工模式、自动协商等。

  3. 当MAC需要发送数据时,它将数据放入TXD0和TXD1差分信号线中,并在TX_EN信号线上发送一个高电平的脉冲,表示数据已经准备好发送。

  4. PHY接收到TX_EN信号后,会将数据从TXD0和TXD1差分信号线中读取出来,并将数据发送到物理介质上进行传输。

  5. 当PHY接收到数据时,它将数据放入RXD0和RXD1差分信号线中,并在RX_EN信号线上发送一个高电平的脉冲,表示数据已经准备好接收。

  6. MAC接收到RX_EN信号后,会将数据从RXD0和RXD1差分信号线中读取出来,并进行后续处理,例如检查CRC校验和、解析数据包等。

如上就是RMII协议的大致通信,当然了具体实现可能会因为芯片设计的不同而有所差异。

RMII与MII的对比

  1. 引脚数量:MII需要使用4对差分信号线(TXD0~TXD3和RXD0~RXD3)、2条时钟信号线(TX_CLK和RX_CLK)、一个数据同步线(TX_EN和RX_EN)以及一个管理线(MDC),总共需要14根信号线。而RMII只需要使用2对差分信号线(TXD0/RXD0和TXD1/RXD1)和2条时钟信号线(REF_CLK和TX_EN/RX_EN),总共需要6根信号线。

  2. 速率:MII的最大速率为100Mbps,而RMII的最大速率为100Mbps或10Mbps。

  3. 管理接口:MII使用MDC(Management Data Clock)和MDIO(Management Data Input/Output)两个信号线,用于MAC和PHY之间的管理通信。而RMII只使用MDIO信号线,且其通信速率为MII的一半。

  4. 帧同步:在MII中,TX_EN和RX_EN信号线用于帧同步,而在RMII中,REF_CLK信号线用于帧同步。

总的来说,RMII相对于MII来说,具有引脚数量少、速率较快、协议简单等优势,因此在一些资源受限的应用场景中,RMII被广泛应用。

【最后一个bug】多平台都有更新和发布,大家可以一键三连,关注+星标,不错过精彩内容~~
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值