USB | USB设备状态
当USB设备插上主机时,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这些态如下:
1、接入态(Attached):设备接入主机后,主机通过检测信号线上的电平变化来发现设备的接入;
2、供电态(Powered):就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中要求的最大值,可通过编程设置);
3、缺省态(Default):USB在被配置之前,通过缺省地址0与主机进行通信;
4、地址态(Address):经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态;
5、配置态(Configured):通过各种标准的USB请求命令来获取设备的各种信息,并对设备的某此信息进行改变或设置;
6、挂起态(Suspended):USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA。
下表汇集这些外置设备状态之间的转化关系:
连接 |
加电 |
缺省 |
编址 |
配置 |
挂起 |
说 明 |
不 |
__ __ |
__ __ |
__ __ |
__ __ |
__ __ |
设备尚未连接至接口.其他特性无关 |
是 |
不 |
__ __ |
__ __ |
__ __ |
__ __ |
设备已连接至接口,但未加电. 其他特性无关. |
是 |
是 |
不 |
__ __ |
__ __ |
__ __ |
设备已连接至接口,并且已加电.但尚未被复位. |
是 |
是 |
是 |
不 |
__ __ |
__ __ |
设备已连接至接口,已加电. 并被复位. 但尚未分配地址.设备在缺省地址处可寻址. |
是 |
是 |
是 |
是 |
不 |
__ __ |
设备已连接至接口,已加电. 并被复位.且分配了唯一地址. 尚未被配置. |
是 |
是 |
是 |
是 |
是 |
不 |
设备已连接至接口,已加电. 并被复位.且分配了唯一地址,并被配置. 设备功能可被使用. |
是 |
是 |
__ __ |
__ __ |
__ __ |
是 |
设备在至少3毫秒以内探测不到总线活动,自动进如挂起. 设备功能不可用. |
下图为设备状态转化图:
USB | USB设备状态相关推荐
- Linux那些事儿 之 戏说USB(15)设备
struct usb_device结构冗长而又杂乱 include/linux/usb.h struct usb_device {int devnum;char devpath[16];u32 rou ...
- 计算机怎样发现路由器上u盘,360 P2 无线路由器通过电脑终端查看路由USB存储设备操作流程 路由器...
首先,将您的U盘 或 插入存储卡的读卡器 或 移动硬盘(以下称为USB存储设备),插入5G路由后面的USB接口上,如下图 插入USB存储设备后,5G路由面板上的USB指示灯(左数第三个)和后面USB卸 ...
- USB gadget设备驱动解析
利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1.一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC:设别,从而非常方便的完成 ...
- 【STM32学习】基于STM32F411CEU6的USB储存设备
1. 实现动机 最近打算做一下lvgl在stm32上的移植,考虑到lvgl可能会用到一些图片资源, 这样一来文件系统就很有必要了,于是想在手头的一块小板子上实现一下FatFs和USB Mass Sto ...
- usb audio设备驱动
本文引用自ls.cq<usb audio设备驱动> http://bbs.driverdevelop.com/read.php?tid-118579-page-1.html 已基本完成wa ...
- 用 C# 编写 USB 存储设备使用痕迹检测和删除工具
编写 USB 存储设备使用痕迹检测和删除工具 (C# Windows Form 编程练习) [版权所有 邱秋 2014 metaphysis@yeah.net, 转载请注明出处] 第一节 准备知识 之 ...
- 多个USB转串口设备区分方法
概述 当计算机或者其他USB主机上使用多个USB转串口设备时,会遇到多个串口无法与具体的串口设备对应起来的问题,包括更换不同USB端口串口序号发生改变,多个设备USB插拔顺序不同导致串口序号改变等问题 ...
- USB大容量存储设备Bulk Only传输过程
1.根据Universal Serial BusMass Storage ClassBulk-Only Transport数据手册中可以得知usb大容量存储设备的传输过程如下如所示: CBW(Comm ...
- 掀开USB存储设备自动运行的面纱(精简版)
前前言2:为什么有精简版? 考虑原文(http://blog.sina.com.cn/u/56b798f8010007ht)太长而且比较罗嗦,部分新手会失去耐心看完,因此特地修改原文推出精简版.精简版 ...
最新文章
- 谷歌称居家办公影响工作效率!2021 年将回归线下办公
- python3语法错误-python-使用Python 3打印时出现语法错误
- 设计模式学习笔记(十六:桥接模式)
- 吴恩达 coursera ML 第二课总结+作业答案
- MongoDB 3.X 用户权限控制
- php 删除上传文件,php实现文件上传、下载和删除的方法
- 组网胖模式_胖AP和瘦AP的区别,组网优缺点分析
- CentOS7网络快速解决
- 关于python字符串format的一些花式用法
- 华为自带时钟天气下载_华为天气时钟农历插件,求华为自带的天气时钟
- 领域驱动(自己理解)
- 用收敛标准计算神经网络迭代次数
- 基于python的opencv计算机视觉基础知识及例程代码【视觉入门看这一篇就够了】
- 打气球游戏——Burst Balloons
- redis主从,哨兵模式配置
- 【DSP】EPWM寄存器
- 微信小程序 实现报表(表格)双指缩放功能
- 卡片的sak为不支持的类型_Python 植物大战僵尸代码实现(2):植物卡片选择和种植...
- python echarts城市热力图_ECharts-热力图实例
- 特征选择与稀疏学习详解
热门文章
- 史上最硬核全套Java视频教程(学习路线+视频+配套资料)
- SpringBoot应用WebSocket实现在线聊天
- 制作秒表——AT24C02储存芯片与用定时器代替Delay函数
- nvidia jetson nano 操作指南
- xlsx如何查找替换_Excel表格中查找替换的功能
- 关于MPU6050学习的一些总结之三MPU6050程序解读
- 解决办法:Call stored procedure using ExecuteSqlCommand (expects parameters which was not supplied)
- 云计算实验室建设方案分享
- Emacs User's Guide
- 通讯录联系人姓名排序