USB2.0之描述符(Descriptors)

news2025/1/5 9:03:11

文章目录

  • 描述符(Descriptors)
    • 设备描述符(Device Descriptors)
    • 配置描述符(Configuration Descriptors)
    • 接口描述符(Interface Descriptors)
    • 端点描述符(Endpoint Descriptors)
    • 字符串描述符(String Descriptors)
  • 参考资料

描述符(Descriptors)

  描述符是设备本身各项信息的集合,主机通过获取描述符的内容得知设备的情况,从而知道如何与设备通信(加载对应的驱动程序)。描述符包括设备描述符(Device Descriptors)、配置描述符(Configuration Descriptors)、接口描述符(Interface Descriptors)、端点描述符(Endpoint Descriptors),字符串描述符(String Descriptors),其中的层级(包含)关系如下图所示。

各类描述符关系

描述符层级关系
反过来看,若干端点构成一个接口,若干接口构成一个配置,若干配置构成设备。

设备描述符(Device Descriptors)

一个USB设备只有一个设备描述符。主要记录的信息有:所使用的USB协议版本号、设备类型、端点0的最大包大小、厂商ID(VID)、产品ID(PID)、设备版本号、厂商字符串索引、产品字符串索引、设备序列号索引、可能的配置数等等。
设备描述符(Device Descriptors)

配置描述符(Configuration Descriptors)

一个设备可以有多个配置。一个配置对应一个配置描述符,配置描述符的内容有:该配置包含的接口数、该配置的编号、供电方式、是否支持远程唤醒、电流需求量等。
配置描述符(Configuration Descriptors)

接口描述符(Interface Descriptors)

接口描述符主要记录的信息有:该接口的编号、该接口的端点数、接口所使用的类、子类、协议等
接口描述符(Interface Descriptors)

端点描述符(Endpoint Descriptors)

端点描述符主要记录的信息有:该端点的端点号及方向、端点的传输类型、最大包长度、查询时间间隔等。
端点描述符(Endpoint Descriptors)

字符串描述符(String Descriptors)

字符串描述符主要记录一些语言字符
字符串描述符(String Descriptors)

参考资料

  • Universal Serial Bus Specification Revision 2.0 ,April 27, 2000
  • USB in a Nutshell
  • 《圈圈教你玩USB》 刘荣编著 2009.1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2269768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从授权校验看SpringBoot自动装配

背景 最近需要实现一个对于系统的授权检测功能,即当SpringBoot应用被启动时,需要当前设备是否具有有效的的授权许可信息,若无则直接退出应用。具体的实现方案请继续看下文。 环境 Ruoyi-Vue SpringBoot3 RuoYi-Vue: 🎉 基于Spr…

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…

SpringCloud源码-Ribbon

一、Spring定制化RestTemplate,预留出RestTemplate定制化扩展点 org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration 二、Ribbon定义RestTemplate Ribbon扩展点功能 org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguratio…

目标检测,语义分割标注工具--labelimg labelme

1 labelimg labelimg可以用来标注目标检测的数据集, 提供多种格式的输出, 如Pascal Voc, YOLO等。 1.1 安装 pip install labelimg1.2 使用 命令行直接输入labelimg即可打开软件主界面进行操作。 使用非常简单, 不做过细的介绍&#xff0…

pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】

文章目录 效果图一、下载软件二、安装运行⚠️注意事项:1、前往 系统设置–> 隐私与安全性 –> 完整磁盘访问权限,中允许终端:2、安装运行【ParallelsDesktop-20.1.2-55742.dmg】,运行【安装.app】3、将【Patch】文件夹拖到…

windows11安装软件时选择文件路径只有桌面及子文件夹怎么解决方法

现象:当桌面文件夹、文件总数超过一定数量时(具体个数不详,个人猜测可能跟系统架构或内存有关)点击应用程序中“浏览”按钮时,只能看到桌面文件夹,其他盘符看不到。一个巨硬愚蠢的bug。定期清理下桌面吧,习惯下载到桌面…

SpringCloud源码-openFeign

LoadBalancer默认只有nacos服务发现器 openFeign与springcloud loadbalancer的结合点 openFeign通过spring cloud loadbalancer进行负载均衡,spring cloud loadbalancer通过discovery client获取nacos的机器列表,然后底层进行负载均衡。

开源架构中的数据库选择优化版

上一篇文章推荐: 开源架构学习指南:文档与资源的智慧锦囊(New) 我管理的社区推荐:【青云交社区】和【架构师社区】 推荐技术圈福利社群:点击快速加入 开源架构中的数据库选择优化版 一、引言二、关系型开源…

Listwise 排序之 LambdaRank:最大化 NDCG 的秘诀

Listwise系列相关文章(置顶) 1.Listwise 模型时间线梳理 2.Listwise 排序之 LambdaRank:最大化 NDCG 的秘诀 引言 LambdaRank 是一种用于排序学习(Learning to Rank, LTR)的模型,特别适用于推荐系统和信息…

汉化SecureCRT9.1

我个人觉得,SecureCRT是最好用的ssh远程工具软件,但是这个软件没有中文版本,我这种英文水平糟糕的人用起来,略有不便,因为一直没有在网上找到合适的汉化版本,于是有自己做一个汉化版本的计划。 前几日&…

我在广州学 Mysql 系列——插入、更新与删除数据详解以及实例

ℹ️大家好,我是练小杰,今天是2024年12月30号,明天就是2024最后一天了!! 本文将讲述MYSQL数据库的插入,更新以及删除数据~~ 复习:👉【有关Mysql数据库的单表,多表查询的练…

HarmonyOS Next ArkUI ListListItem笔记

学习目标: List和ListItem的使用 学习内容: import { NewsInfo, newsInfoList } from ../viewmodel/NewsInfoclass DividerTmp {strokeWidth: Length 1startMargin: Length 60endMargin: Length 10color: ResourceColor #ffe9f0f0constructor(str…

机器人C++开源库The Robotics Library (RL)使用手册(四)

建立自己的机器人3D模型和运动学模型 这里以国产机器人天机TR8为例,使用最普遍的DH运动学模型,结合RL所需的描述文件,进行生成。 最终,需要的有两个文件,一个是.wrl三维模型描述文件;一个是.xml运动学模型描述文件。 1、通过STEP/STP三维文件生成wrl三维文件 机器人的…

游戏引擎学习第70天

这一节没讲什么主要是关于接下来要干的任务 开发过程概览 我们正在进行最后的总结,并计划接下来的步骤。目前的目标是创建一个包含所有必要组件的游戏引擎原型版本,目的是让这些部分能够协同工作并展现预期效果。通过这一过程,可以实验和探…

Android笔试面试题AI答之Android基础(8)

Android入门请看《Android应用开发项目式教程》,视频、源码、答疑,手把手教 文章目录 1.Android新建工程需要注意的地方有哪些?**1. 选择合适的项目模板****2. 配置项目基本信息****3. 选择最低 SDK 版本****4. 配置构建工具****5. 选择编程…

传统听写与大模型听写比对

在快节奏的现代生活中,听写技能仍然是学习语言和提升认知能力的重要环节。然而,传统的听写练习往往枯燥乏味,且效率不高。现在,随着人工智能技术的发展,大模型听写工具的问世,为传统听写带来了革命性的变革…

赛博周刊·2024年度工具精选(画板二维码类)

一、画板类 1、Excalidraw 一款好用的手绘工具,无需注册,支持多人协作。GitHub项目地址:https://github.com/excalidraw/excalidraw。 2、 Floating Whiteboard 一个在线的网页白板工具。 3、BoardOS:在线实时白板协作系统 一…

论文研读:Text2Video-Zero 无需微调,仅改动<文生图模型>推理函数实现文生视频(Arxiv 2023-03-23)

论文名:Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators 1. 摘要 1.1 方法总结 通过潜空间插值, 实现动作连续帧。 以第一帧为锚定,替换原模型的self-attention,改为cross-attention 实现 保证图片整体场…

Spring自动化创建脚本-解放繁琐的初始化配置!!!(自动化SSM整合)

一、实现功能(原创,转载请告知) 1.自动配置pom配置文件 2.自动识别数据库及数据表,创建Entity、Dao、Service、Controller等 3.自动创建database.properties、mybatis-config.xml等数据库文件 4.自动创建spring-dao.xml spring-mvc.xml …

Unity3D仿星露谷物语开发12之创建道具列表

1、目标 道具是游戏的核心部分,道具包括你可以拾取的东西,你可以使用的工具和你能种的东西等。 本节就是创建道具的信息类。同时了解ScriptableObject类的使用。 2、创建道具枚举类 修改Assets -> Scripts -> Enums.cs脚本, 新增如…