Embeded Linux 之 PHY

Posted 扑克face

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Embeded Linux 之 PHY相关的知识,希望对你有一定的参考价值。

一、介绍

PHY是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU)通过SMI(Serial Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的。PHY寄存器的地址空间为5位,从0到31最多可以定义32个寄存器(随着芯片功能不断增加,很多PHY芯片采用分页技术来扩展地址空间以定义更多的寄存器,使用细节后面描述),IEEE802.3定义了地址为0-15这16个寄存器的功能,地址16-31的寄存器留给芯片制造商自由定义。

二、PHY一般具备两种接口:

1.数据接口:千兆RGMII、百兆或十兆RMII\\MII

  用来传输网络数据。

  TXC由MAC产生,RXC由PHY产生。

  TXC与RXC在千兆网络为125MHz,TXC与RXC在百兆网络为25MHz,TXC与RXC在十兆网络为2.5MHz。

   TXD[3:0] 和RXD[3:0] 数据传输时在时钟的边沿进行采样。

2.管理接口:数据MDIO和时钟MDC

  用来访问PHY寄存器。

举例读写时序图(RTL8211F):  

 三、访问寄存器:

  PHY寄存器一般分为标准寄存器和厂商扩展寄存器。

  标准寄存器:

  厂商扩展寄存器:

  一般使用分页操作,比如RTL8211F增加三个LED指示灯,位于Page 0xd04,addr 16寄存器。

  

  

  

  比如LED0为RJ45 link灯 LED1为RJ45 active灯,则可以通过MDIO设置:

  mdio_write (mii_name, phy_addr, 0x1f, 0xd04);//页选择
  mdio_write (mii_name, phy_addr, 0x10, 0x36b);//灯选择

以上是关于Embeded Linux 之 PHY的主要内容,如果未能解决你的问题,请参考以下文章

Embeded linux之调试内核

Embeded linux之probe

Embeded linux之地址映射

Embeded linux之内核编译错误警告汇总

Embeded linux之Uboot参数与内核

Embeded linux之移植dropbear