首页 > 其他分享 >USB 集线器HUB

USB 集线器HUB

时间:2024-11-05 11:09:56浏览次数:1  
标签:USB HUB 集线器 端口 描述符 请求 设备

通过USB集线器,可以很简单的实现主机扩展USB设备的数量。

在USB协议规范中,USB集线器作为了一种特殊的设备在存在,USB规范专门为其定义了一种设备类。

USB集线器的结钩

集线器由6个组件组成:

  • 上行端口:用于连接上层的USB集线器或者根集线器。

  • 下行端口:用于连接下层的USB功能设备或扩展的USB集线器,是该接线器扩展出来的接口。

  • 中继器:负责完成上行端口和下行端口这间的数据传输。

  • 事务翻译器:用于对USB SPILT事务进行处理,主要是将低速和全速事务高速传输中分离出来,提高USB总线的执行效率。

  • 控制器:控制器是USB集线器的核心,用于状态控制和通讯控制。

  • 路由选择器:用于对不同的下行端口数据,分离进行控制。

USB集线器分类

USBIF为USB集线器专门分配了一处分类号0x09,并且并没有设备子类bDeviceSubClass和设备协议号bDeviceProtocl。

bDeviceSubClass和bDeviceProtocl必须为0。

USB集线器的描述符

USB集线器是一类特殊的USB设备,除了支持USB设备描述符外,还得支持一些USB集线器特有的USB标准请求。这些功能主要包括如下:

  • USB集线器设备描述符:USB集线器的设备描述符和USB设备的设备描述符类似,不过该描述符的子段主要定义了USB集线器的功率和分类等非常少的信息。
  • 接口和扩展端点:表示了USB集线器的接口和端点特性
  • USB集线器设备类请求:USB集线器除了支持常用的一些USB标准请求外,还得支持集线器特有的标准请求

标签:USB,HUB,集线器,端口,描述符,请求,设备
From: https://www.cnblogs.com/linhaostudy/p/18527484

相关文章

  • 强烈推荐一款查看Windows下设备信息的软件!USB/PCIE一览无余!
    在linux系统中,我们要查看硬件信息,通常通过lspci、lsusb、top、vmstat、free、iostat等命令,或者/proc/cpuinfo、/proc/net/dev等文件节点。《一键获取linux内存、cpu、磁盘IO等信息脚本编写,及其原理详解》那么在Windows系统中,要如何查看详细的设备信息呢?本文以SIV(SIV-System......
  • 开源的 API 学习平台「GitHub 热点速览」
    前有5万颗星标的开源项目HTTPie因误操作导致Star清零(2022年),上周知名开源项目Elasticsearch也经历了Star一夜清零的事件。这些事故的原因均是管理员误将开源项目从公开状态转为私有状态所导致。为避免类似事件再次发生,GitHub已在转为私有的功能处增加了两次确认步骤,并......
  • Narak靶机渗透 (Vulnhub内网渗透)
    一、渗透目标:DescriptionBacktotheTopNarakistheHinduequivalentofHell.YouareinthepitwiththeLordofHellhimself.CanyouuseyourhackingskillstogetoutoftheNarak?Burningwallsanddemonsarearoundeverycornerevenyourtrustytool......
  • 使用Markdown编写适用于GitHub的README.md文件的目录结构
    文章目录@[toc]顶部1.使用`[TOC]`自动生成2.VSCode中的插件3.手搓目录目录相关资料本文相关代码一、概述1.1基本概念1.2两种处理模型(1)微批处理(2)持续处理1.3StructuredStreaming和SparkSQL、SparkStreaming关系二、编写StructuredStreaming程序的基本步骤三......
  • PCI、USB、AGP、PCI-Express
    PCI、USB、AGP、PCI-Express都是重要的总线或接口标准,它们各自承担着不同的功能和角色。PCI(PeripheralComponentInterconnect,外设组件互连)定义与功能:PCI是一种同步且独立于CPU的32位或64位并行局部总线,工作频率为33MHz。它是连接各种高速PCI设备的总线,如显卡、网卡、声卡、......
  • 使用Markdown编写适用于GitHub的README.md文件的目录结构
    目录顶部1.使用[TOC]自动生成2.VSCode中的插件3.手搓目录目录相关资料本文相关代码一、概述1.1基本概念1.2两种处理模型(1)微批处理(2)持续处理1.3StructuredStreaming和SparkSQL、SparkStreaming关系二、编写StructuredStreaming程序的基本步骤三、输入源3.1File源(1)创建程......
  • GitHub Copilot: the perfect Code compLeeter?
    全文总结这篇论文评估了GitHubCopilot生成的代码质量,基于LeetCode问题集,使用了一个自定义的自动化框架。研究背景背景介绍: 这篇文章的研究背景是GitHubCopilot在2021年发布,作为一个“AI配对编程员”,可以根据一些上下文(如注释、函数名或周围的代码)生成不同语言的代码。然......
  • docker bulid tag push到自己的docker hub 仓库
      -t(或 --tag)参数:用于给构建的镜像指定标签(tag)。标签的格式通常是 [仓库名/][用户名/]镜像名:版本号-f(或 --file)参数: 指定构建镜像所使用的 Dockerfile 的路径。默认情况下,dockerbuild 会在当前目录下查找名为 Dockerfile 的文件,但通过这个参数可以指定其他位......
  • Me-and-My-Girlfriend-1靶机渗透 (Vulnhub内网渗透)
    一、Me-and-My-Girlfriend-1:1、渗透目标:Description:ThisVMtellsusthatthereareacoupleofloversnamelyAliceandBob,wherethecouplewasoriginallyveryromantic,butsinceAliceworkedataprivatecompany,"CebanCorp",somethinghaschan......
  • 项目发布GitHub完全指南 - 从本地到开源
    引言将项目发布到GitHub不仅能方便版本管理,还能与全球开发者分享你的代码。本文将详细介绍如何将一个完整项目发布到GitHub的全过程,包括前期准备、具体操作步骤以及最佳实践。一、前期准备工作1.1环境准备安装Git#Windows用户可以下载Git官方安装包#Mac用户可以使用ho......