USB的u0、u1、u2和u3代表不同的电源状态或低功耗状态,主要用于USB 3.0及其更高版本,目的是在不活动时减少功耗,同时保证设备能够迅速恢复到工作状态。这些状态的具体作用如下:

  1. U0(Active State): 这是USB设备的正常工作状态,数据可以正常传输,设备完全活跃。

  2. U1(Low Power State 1): 这是低功耗状态1。在U1状态下,设备的功耗比U0更低,但可以迅速恢复到U0状态。U1适用于短暂的非活动时间,这样可以减少功耗,同时保证快速恢复的能力。

  3. U2(Low Power State 2): 这是低功耗状态2,功耗比U1更低,但恢复到U0状态的时间稍长。U2适用于更长时间的非活动状态,进一步减少功耗。

  4. U3(Suspend State): 这是USB的挂起状态,设备几乎完全停止活动,仅保留最低限度的电源消耗。恢复到U0的时间最长,通常用于较长时间的不活动。这是USB 3.0的完全低功耗状态。

这些状态设计的目的是平衡性能和功耗,确保设备在闲置时能够降低功耗,但又能在需要时迅速恢复到工作状态。

USB LPM状态的更多相关文章

  1. Android4.0.3 USB OTG底层插入上报过程分析(1)

    下面的两个宏是PM8058的MMP11(R15),MMP12(P15)管脚.#define EXT_CHG_VALID_MPP 10#define EXT_CHG_VALID_MPP_2 11 sta ...

  2. 25.usb固件深入

    dscr51里放的是USB描述符表,EZ-USB在重枚举阶段会读取或设置相应的描述符: db    DSCR_DEVICE_LEN          ;; Descriptor length db   ...

  3. DFU工作过程中USB机制

    在一级bootloader执行进入USB启动方式之后,设备进行枚举.枚举过程中会通过PC端发送命令对连接的USB设备进行枚举.当枚举成功之后,在PC端可以看到设备的盘符. 当设备能够被PC正确识别之后 ...

  4. USB设备架构

    USB设备,分为3层:1.底层为传送和接受数据的总线接口:2.中间层处理总线和不同端点的数据传输:3.最高层由串行总线设备提供.主要研究中间层. USB设备状态,主要研究外部可见状态. 1,连接态-- ...

  5. USB基础简介

    一.USB2.0 Universal Serial Bus (通用串行总线)  符合USB总线数据通信要求的通信协议 1.意义 1.易用(热插拔.即插即用) 2.易扩充(USBHub可同时操作127个 ...

  6. LPC1768的USB使用-枚举过程

    枚举过程如下 #ifndef __USBCORE_H__ #define __USBCORE_H__ /* USB端点0 发送数据结构体*/ typedef struct _USB_EP_DATA { ...

  7. Android USB Host框架

    Android 下的usb框架及功能点:https://blog.csdn.net/tianruxishui/article/details/379029591.Android framework中* ...

  8. 【转】Android Service创建USB HOST通信

    之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...

  9. 【转】Android实战技巧之四十九:Usb通信之USB Host

    零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头 ...

  10. USB线插拔检测使用UEventObserver检测uevent事件的分析

    说实话这玩样儿的代码量真的很少,大家如果能耐得住性子啃一会儿也就能撸懂了. 在这之前研究USB线插拔的时候就知道了有这么个东西,当时也就看了看,但没做什么笔记.最近想用起来,却发现就只有个名字在记忆中 ...

随机推荐

  1. .NET8 Blazor 从入门到精通:(一)关键概念

    目录 Blazor 的关键概念 项目模板 Razor 语法 依赖注入 注入配置 HeadOutlet 组件 @code 分离 Blazor 调试 CSS 隔离 调用JavaScript 最近在学习 B ...

  2. 【Project】原生JavaWeb工程 01 概述,搭建

    一.环境准备: 操作系统:Windows7 或者 Windows10 IDE集成环境:IDEA 2018版本或者更高 数据库:MySQL 5版本或者更高 服务器:Tomcat 8版本或者更高 二.数据 ...

  3. 【Mycat】01 概述

    什么是Mycat? 数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通. 例子:Tomcat,web中间件. 数据库中间件:连接java应用程序和数据库 为什么要用 ...

  4. ( Ubuntu系统下 ) vim插件安装 supertab 实现tab键的补全功能 (vim+python环境下)

    本文前提已经安装了  Vundle   : 下载  supertab : git clone https://github.com/ervandew/supertab ~/.vim/bundle/ 编 ...

  5. 为什么我要弃用华为的软件产品——mindspore从入门到放弃之感想

    从本博主前段时间的博文就可以看到博主写了好多关于华为软件mindspore的入门资料和编译方法以及一些bug的修复,但是无奈之下发现这些简单而且显而易见的bug不仅长期存在与软件中而且在提交PR后而一 ...

  6. 高阶函数之reduce

    let arrone = [1, 2, 3, 4] let arrtwo = [{ age: 1 }, { age: 2 }, { age: 3 }] let arrthree = [[1, 2, 3 ...

  7. spring手动事务控制

    在项目开发中需要用到手动事务进行控制.现说下遇到的问题以及解决方案: 如果程序需要使用嵌套事务,则需要在配置文件中添加一个配置属性,如下: <bean id="transactionM ...

  8. 关于EF延时加载的面试题

    public async Task<ActionResult> GetData() { var data = (from leftdata in GetLeft() join rightd ...

  9. php预定义变量~$_SERVER[‘QUERY_STRING‘]

    php $_SERVER['QUERY_STRING']函数 • 简介$_SERVER函数( 获取当前服务器信息) 预定义变量就是系统自己定义好的变量,直接使用就可以.预定义变量都是以数组的形式存在的 ...

  10. JAVA——拆分位数

    2024/07/09 题目: 解题: import java.util.Scanner; public class Main { public static void main(String[] ar ...