3.3 MII和RMII接口
MII用于理解MAC控制器和PHY芯片,提供数据传输路径。RMII接口是MII接口的简化版本,MII需要16根通信线,RMII只需要7根通信线,在功能上二者是相同的。图3-4所示为MII接口连接示意图,图3-5所示为RMII接口连接示意图。
图3-4 MII接口连接示意图
图3-5 RMII接口连接示意图
● TX_CLK :数据发送时钟线。标称速率为10Mbit/s时为2.5MHz;速率为100Mbit/s时为25MHz。RMII接口没有该线。
● RX_CLK :数据接收时钟线。标称速率为10Mbit/s时为2.5MHz;速率为100Mbit/s时为25MHz。RMII接口没有该线。
● TX_EN:启用数据发送。在整个数据发送过程中保存有效电平。
● TXD[3:0]或TXD[1:0]:数据发送数据线。对于MII有4位,RMII只有2位。只有在TX_EN处于有效电平时数据线才有效。
● CRS :载波侦听信号,由PHY芯片负责驱动,当发送或接收介质处于非空闲状态时启用该信号。在全双工模式下该信号线无效。
● COL :冲突检测信号,由PHY芯片负责驱动,检测到介质上存在冲突后,该线被启用,并且保持至冲突解除。在全双工模式该信号线无效。
● RXD[3:0]或RXD[1:0]:数据接收数据线,由PHY芯片负责驱动。对于MII有4位,RMII只有2位。在MII模式下,当禁用RX_DV、启用RX_ER时,特定的RXD[3:0]值用于传输来自PHY的特定信息。
● RX_DV :接收数据有效信号,功能类似TX_EN,只不过用于数据接收,由PHY芯片负责驱动。对于RMII接口,是把CRS和RX_DV整合成CRS_DV信号线,当介质处于不同状态时会自切换该信号状态。
● RX_ER :接收错误信号线,由PHY驱动,向MAC控制器报告在帧某处检测到错误。
● REF_CLK:仅用于RMII接口,由外部时钟源提供50MHz参考时钟。因为要达到100Mbit/s的传输速度,MII和RMII数据线的数量不同,使用MII和RMII在时钟线的设计方面是完全不同的。对于MII接口,一般是由外部为PHY提供25MHz时钟源,再由PHY提供TX_CLK和RX_CLK时钟。对于RMII接口,一般需要外部直接提供50MHz时钟源,同时接入MAC和PHY。
开发板板载的PHY芯片型号为LAN8720A,该芯片只支持RMII接口,设计电路时可参考图3-6。
图3-6 ETH复用引脚
①PPS_OUT是IEEE 1588定义的一个时钟同步机制。