电源管理
电源管理可以使得PHY有效的减少功耗。PHY必须满足PCIe SPEC关于时钟恢复和围绕各种电源状态进行链路训练规定的时序约束,除此之外,PHY还必须满足Tx和Rx所有的终端需求。
PHY中定义了四种电源状态,分别为P0,P0s,P1和P2。P0是PHY的正常工作状态,当PHY从P0状态切换到其他的低功耗状态,PHY会采取合适的方式来减少功耗。PHY同时也允许实现额外的L1子状态(关于L1子状态后面会有单独的文章进行说明)。
在P0,P0s和P1状态下,PCLK是可以正常工作的,对于这三个状态间的转换,PHY通过拉高PhyStatus信号一个周期来指示状态转换成功。当PHY处于P2状态时,此时PCLK是不可以正常工作的,是不可操作的,总之,对于所有电源状态间的转换,MAC在PHY没有给出转换完成的指示之前都是不能进行后续操作的。
PHY的电源状态可以同PCIe SPEC中的LTSSM状态进行对应,具体如下:
- P0状态下,PHY中所有的内部时钟都是可以正常工作的,PHY进行数据的发送和接收都是在P0状态下进行的,PHY的P0状态对应PCIe LTSSM中大多数的状态,除了以下的几个与低功耗相关的状态需要具体说明。
- P0s状态下,PCLK是可以正常工作的,当PHY的Tx通道处于Idle时,MAC可能将PHY切到P0s状态。(PCIe Tx的LTSSM处于Tx_l0s.Idle状态时,PHY的P0s状态可以被使用)
- P1状态下,PCLK是正常工作的,但是内部选定的的一些时钟可以被关掉。只有当Tx通道和Rx通道都处于空闲状态,MAC才会让PHY进入P1