以太网的学习中,不说十万个为什么,100个为什么还是有的。本文,针对PHY(Physical)的Link Up,分享一下个人理解。 提示:基于英飞凌TC3xx讨论。 PHY的主要作用是数/模信号转换,功能等同于其他总线的Transceiver。所以,uC如果想发送/接收以太网数据,就需要依赖PHY(确切说是PHY芯片)。如果想让PHY按照预期的状态工作,uC就需要通过接口告诉PHY如何工作,这个接口是指MAC(Media Access Control)/PHY 接口。MAC/PHY的接口关系如下所示: MAC通过接口可以访问PHY的内部寄存器,进而设置PHY的工作模式,以此实现PHY的Link Up。MAC访问PHY内部寄存器,主要通过MDC(Management Data Clock)和MDIO(Management Data Input Output)实现。手册中描述:PHY内部寄存器的访问,通过SMA(Station Management Agent)。而SMA中的操作信息来自MAC,所以,两种表达,本质是一个意思。 1、Clause 22/Clause 45 Clause 22或者Clause 45是什么呢?答:一种访问PHY内部寄存器的报文协议。既然是协议,就会有格式要求,Clause 22或者Clause 45格式的各个位域如下所示: 解释:
2、PHY Link状态的软件实现 在软件层面,程序初始化或者Reset以后,需要重新初始化PHY,通过读取PHY寄存器的Link位域确定PHY的Link状态,eg:RTL8211F(I) BMSR (Basic Mode Status Register, Address 0x01)寄存器,Bit2(Link Status)指示PHY的Link状态。代码实现示意所示:
|
|
来自: 开心果NeedCar > 《待分类》