首页 > 其他分享 >USB 端点与USB HUB的关系

USB 端点与USB HUB的关系

时间:2024-11-07 14:47:21浏览次数:1  
标签:USB Hub 主机 端口 端点 设备 HUB

USB Hub通过少量的端点实现与多个设备的数据传输,主要依赖于以下几个关键机制:

  1. 控制端点(端点0):

每个USB Hub都有一个控制端点(通常是端点0),用于接收来自主机的控制请求,例如获取设备描述符、配置Hub的端口状态等。

Hub通过控制端点接受主机的命令,并管理其下挂的所有端口。这包括初始化连接设备、断开设备以及向主机报告端口的连接状态

  1. 中断端点:

USB Hub还包含一个中断端点,用于向主机报告端口状态的变化。比如,当有设备插入、拔出或发生错误时,Hub会通过中断端点通知主机。这种设计使主机不需要轮询每个端口,从而节省带宽。

主机在收到中断请求后,再通过控制端点查询具体的端口状态,识别是哪一个设备产生了事件。

  1. 共享带宽和分时复用:

虽然Hub只使用少量的端点与主机通信,但它使用USB协议的分时复用机制来与多个下挂设备共享带宽。

主机会按顺序轮询每个端口的设备,按照轮询计划(Polling Schedule)分配时间片。这种方式使得多个设备的数据可以在同一条总线上传输。主机轮询时,如果某个端口有数据待传输,则主机会分配时间片处理该端口的数据。

  1. USB分层结构和树形拓扑:

Hub可以扩展多个端口,并形成一个树形拓扑结构。主机控制器作为树的根节点,而各Hub作为中间节点,不同的设备作为叶节点。

这种分层结构允许主机通过Hub逐层控制各个设备。主机会识别每一个设备的地址和端点,根据地址信息将数据包路由到对应的设备。

  1. 数据传输类型:

USB支持多种传输类型(控制传输、批量传输、中断传输和等时传输),每种类型有不同的优先级和带宽需求。Hub会根据主机控制器的调度策略,确保高优先级的中断和控制数据先被传输,而批量传输和等时传输则在带宽允许的情况下分配时间片。

总结

USB Hub通过少量端点与主机进行必要的控制和状态报告,再通过USB协议的分时复用机制实现多设备的连接和数据传输。Hub自身不直接处理下挂设备的数据,而是通过调度和路由机制,将数据在主机和各设备间传递,从而实现多设备共享传输通道的目的。

标签:USB,Hub,主机,端口,端点,设备,HUB
From: https://www.cnblogs.com/linhaostudy/p/18532243

相关文章

  • 释放你的设备潜力,尽在 USB Server!
          在数字化时代,连接设备的方式决定了我们的工作效率和生活便利性。USBServer让您轻松实现远程USB设备共享,无论是在办公室还是在家中,您都能随时随地访问USB设备。通过我们先进的USB服务器技术,您无需局限于物理连接,轻松管理和使用打印机、扫描仪、外置存储设......
  • Java(Spring Boot)项目通过 GitHub Actions 流水线实现自动化构建部署
    前两次分享了前端(Vue)项目的自动化构建和 Rust项目的自动化构建,本次就分享JavaSpringBoot项目的自动化构建并部署,部署时需要一台已安装JDK17及以上的Linux服务器。1.新建流水线构建文件在项目的根目录下新建.github/workflows文件夹并在文件夹下新建deploy.yml......
  • 【网络安全渗透测试零基础入门】Vulnhub靶机Kioptrix level-4 多种姿势渗透详解,收藏这
    前言这是阳哥给粉丝盆友们整理的网络安全渗透测试入门阶段Vulnhub靶场实战阶段教程喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。环境配置服务版本探测:sudonmap-sT-sV-sC-O-p22,80,139,44522端口ssh服务以及openssh版本其他无特别信息80端口......
  • 2024年11月 GitHub 十大热门项目排行榜
    欢迎来到2024年11月的GitHub热门项目前十排行榜!无论你是开发者、数据科学家,还是科技爱好者,这些项目在GitHub上都引起了广泛关注。让我们一起看看这些项目独特之处吧!Skyvern-AI/Skyvern......
  • 同三维T610UHK USB单路4K60采集卡
    USB单路4K60HDMI采集卡,支持1路4K60HDMI输入和1路4K60HDMI环出,1路MIC输入+1路LineIN音频输入和1路音频输出,录制支持4K60、1080P120,TYPE-C接口,环出支持1080P240HDR一、产品简介:同三维T610UHK是一款USB单路4K60HDMI采集卡,TYPE-C接口,采集预览/录制最高支持4K60Hz、1080P120......
  • USB 集线器HUB
    通过USB集线器,可以很简单的实现主机扩展USB设备的数量。在USB协议规范中,USB集线器作为了一种特殊的设备在存在,USB规范专门为其定义了一种设备类。USB集线器的结钩集线器由6个组件组成:上行端口:用于连接上层的USB集线器或者根集线器。下行端口:用于连接下层的USB功能设备或......
  • 强烈推荐一款查看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程序的基本步骤三......