USB低功耗状态

本文范围:

本文旨在帮助USB初学者快速定性了解USB三个低功耗状态,通过阅读本文可以定性知道USB低功耗状态的主要特点以及进入方式,但本文不会详细描述低功耗的详细指标

USB 协议中规定了三个低功耗状态,分别是U1、U2和U3

这些状态主要用于在不同程度的空闲状态下降低设备的功耗,以下是这三个低功耗状态的特点:

1. U1: U1是最低级别的低功耗状态,主要用于在短暂的空闲时间内降低功耗。 - 在U1状态下,设备的PHY(物理层)和链路层仍然保持激活状态,但数据传输暂停。 - U1状态的恢复时间较短,因此在需要恢复数据传输时,设备可以快速从U1状态唤醒。 - 适用于短暂的空闲时间,例如在连续数据传输的间隙。

2. U2: U2是中等级别的低功耗状态,用于在较长的空闲时间内降低功耗。 - 在U2状态下,设备的链路层进入睡眠状态,但PHY仍然保持激活状态。 - 与U1相比,U2状态的恢复时间较长,但仍然比U3状态快。 - 适用于较长的空闲时间,例如在不同任务之间的等待时间。

3. U3: U3是最高级别的低功耗状态,用于在设备长时间空闲时最大限度地降低功耗。 - 在U3状态下,设备的链路层和PHY都进入睡眠状态,数据传输完全暂停。 - U3状态的恢复时间最长,因为设备需要重新激活链路层和PHY。 - 适用于长时间的空闲状态,例如在设备未使用时。

USB 3.2协议中的三个低功耗状态(U1、U2和U3)在不同程度的空闲状态下降低设备的功耗。U1适用于短暂的空闲时间,U2适用于较长的空闲时间,而U3适用于长时间的空闲状态。这些状态之间的主要区别在于恢复时间和功耗降低的程度。

如何进入各个低功耗状态:

当以下条件满足时,设备会进入U1低功耗状态:

1. 设备和主机都支持U1低功耗状态。

2. 设备和主机之间的数据传输已经完成,即没有正在进行的数据传输。

3. 设备和主机之间的空闲时间达到了设定的U1超时值(U1 Exit Latency)

4. 主机通过发送LPM(Link Power Management)LGO_U1事务包来请求设备进入U1状态,设备接受请求并确认。 在U1状态下,设备和主机的数据链路层(DLL)和物理链路层(PHY)会进入低功耗模式,以降低功耗。当有新的数据传输请求时,设备和主机会迅速从U1状态恢复到U0正常工作状态。

当以下条件满足时,设备会进入U2状态:

1. 当主机(Host)和设备(Device)之间的数据传输暂时停止或完成时,主机可以通过发送LGO_U2命令来请求设备进入U2状态。

2. 设备在收到LGO_U2命令后,如果同意进入U2状态,会发送ACK(确认)响应。然后,设备会在一定时间内完成所有挂起的事务并进入U2状态。

3. 如果设备不同意进入U2状态,它会发送NAK(拒绝)响应。这通常发生在设备仍有数据要传输或处理的情况下。

4. 当设备处于U2状态时,它会进入低功耗模式,以减少能耗。此时,设备的USB链路层会关闭,但设备仍然与主机保持连接。

5. 当主机需要与设备重新开始数据传输时,它会发送WAKE信号。设备在收到WAKE信号后,会从U2状态唤醒并恢复正常工作状态。

当满足以下条件时,设备会进入U3:

1. 当主机(Host)或设备(Device)请求进入U3状态时。这通常是由于设备长时间处于空闲状态,或者系统需要节省能源。

2. 当主机和设备之间的通信完成,且双方都确认可以进入低功耗状态时。

3. 当设备在U3状态下,主机可以随时唤醒设备恢复到正常工作状态。这通常是通过发送一个恢复信号(Resume Signaling)来实现的。

4. 在U3状态下,设备的所有功能都将被挂起,包括数据传输、时钟和电源。这有助于降低设备的功耗,提高系统的能源效率。

5. 设备在U3状态下,可以对其进行重新配置或者执行其他的维护操作。

如何退出各个低功耗状态 

退出U1:

1. 通过LFPS(低频电平信号)信号:当一个端口(主机或设备)想要离开U1状态时,它会发送一个LFPS信号。这个信号会被另一个端口检测到,然后双方都会离开U1状态并返回到U0状态(正常操作状态)。

2. 超时:在USB 3.2协议中,U1状态有一个超时计时器。当U1状态持续时间超过设定的超时时间时,端口会自动离开U1状态并返回到U0状态。

3. 通过软件控制:主机可以通过软件控制来强制设备离开U1状态。这通常是通过发送一个Set Feature命令来实现的,该命令会要求设备离开U1状态并返回到U0状态。 

退出U2:

 1. 首先,主机(Host)或设备(Device)需要发起U2退出请求。这是通过发送LFPS(Low-Frequency Periodic Signaling)信号来完成的。发送方会在一段时间内(最少2.5微秒)发送LFPS信号,以通知另一方请求退出U2状态。

2. 收到LFPS信号的一方(主机或设备)需要在规定的时间内(最多12微秒)对LFPS信号进行响应。响应方式是发送一个LFPS信号,表示已收到请求并准备好退出U2状态。

3. 在收到LFPS响应信号后,双方需要在一定时间内(最多12微秒)完成U2退出过程。这包括重新启动PHY(Physical Layer)和链路层(Link Layer)的相关功能,以便在U0状态下正常传输数据。

4. 在完成U2退出过程后,双方需要通过发送Polling.LFPS信号来确认链路已经恢复正常。这是通过在一段时间内(最少200纳秒)发送Polling.LFPS信号来完成的。收到Polling.LFPS信号的一方需要在规定的时间内(最多2微秒)对Polling.LFPS信号进行响应,表示链路已经恢复正常。

5. 在收到Polling.LFPS响应信号后,双方可以继续在U0状态下进行正常的数据传输。

退出U3 :

1. 首先,主机(Host)会向设备(Device)发送一个LFPS(Low-Frequency Periodic Signaling)信号,这是一种低频信号,用于唤醒设备。

2. 设备在检测到LFPS信号后,会回复一个LFPS信号,以确认收到了主机的唤醒请求。

3. 主机收到设备的LFPS回复后,会停止发送LFPS信号,并开始发送Training Sequence(训练序列)。这是一组特殊的信号,用于在主机和设备之间建立高速通信链路。

4. 设备在收到Training Sequence后,也会开始发送Training Sequence,以便与主机同步。

5. 当主机和设备成功同步后,它们会进入U0状态,即正常工作状态。在这个状态下,它们可以进行高速数据传输。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值