以太网
以太网硬件一般分为:MAC和PHY。MAC一般时SOC内置,PHY是外部器件。也有外置芯片,MAC和PHY合起来的。
芯片的MAC和PHY连接,有两组信号,MDIO和MII。
MDIO接口有两条线,一根数据线MDIO,一根时钟线MDC。
MII
MII(Media Independent Interface)介质独立接口,由IEEE-802.3定义的以太网标准接口,用于以太网MAC连接PHY芯片。
MII 接口一共有 16 根信号线,含义如下:
TX_CLK:发送时钟,如果网速为 100M 的话时钟频率为 25MHz,10M 网速的话时钟频率为 2.5MHz,此时钟由 PHY 产生并发送给 MAC。
TX_EN:发送使能信号。
TX_ER:发送错误信号,高电平有效,表示 TX_ER 有效期内传输的数据无效。10Mpbs 网速下 TX_ER 不起作用。
TXD[3:0]:发送数据信号线,一共 4 根。
RXD[3:0]:接收数据信号线,一共 4 根。
RX_CLK:接收时钟信号,如果网速为 100M 的话时钟频率为 25MHz,10M 网速的话时钟频率为 2.5MHz,RX_CLK 也是由 PHY 产生的。
RX_ER:接收错误信号,高电平有效,表示 RX_ER 有效期内传输的数据无效。10Mpbs 网速下RX_ER 不起作用。
RX_DV:接收数据有效,作用类似 TX_EN。
CRS:载波侦听信号。
COL:冲突检测信号。
MII 接口的缺点就是所需信号线太多,这还没有算 MDIO 和 MDC 这两根管理接口的数据线,因此 MII 接口使用已经越来越少了。
RMII接口
RMII(Reduced Media Independent Interface)精简的介质独立接口,
TX_EN:发送使能信号。
TXD[1:0]:发送数据信号线,一共 2 根。
RXD[1:0]:接收数据信号线,一共 2 根。
CRS_DV:相当于 MII 接口中的 RX_DV 和 CRS 这两个信号的混合。
REF_CLK:参考时钟,由外部时钟源提供, 频率为 50MHz。这里与 MII 不同,MII 的接收和发送时钟是独立分开的,而且都是由 PHY 芯片提供的。
除了 MII 和 RMII 以外,还有其他接口,比如 GMII、RGMII、SMII、SMII 等,关于其他接口基本都是大同小异的。
MDIO接口
MDIO(Management Data Input/Output)管理数据输入输出接口,是一个串行接口,一个MDIO数据线,一根MDC时钟线。驱动程序可以通过MDIO接口访问PHY芯片的任意一个寄存器。MDIO接口最多支持32个PHY,同一时刻只能访问一个PHY,使用器件地址进行区分。
RJ45接口用于插入网线。RJ45座和PHY连接在一起,需要一个网络变压器,RJ45座子一般有两个灯,一个黄色,一个绿色,绿灯亮表示网络连接正常,黄灯闪烁表示正在进行网络通信,这两个灯由PHY芯片控制。内部MAC+外部PHY+RJ45座(内置网络变压器)组成了一个完整的嵌入式网络接口硬件。
最后编辑:SteveChen 更新时间:2025-06-19 15:22