当前位置: 首页 > news >正文

USB通信协议基础概念

文章目录

  • 一、什么是USB
      • 1. **标准化接口**
      • 2. **热插拔**
      • 3. **即插即用**
      • 4. **电源供给**
      • 5. **数据传输速度**
      • 6. **连接类型**
      • 7. **协议和功能**
  • 二、USB的三个部分
      • 1. **USB Host(主机)**
      • 2. **USB Device(设备)**
      • 3. **USB Hub(集线器)**
      • 工作流程
  • 三、USB的拓扑结构
  • 四、USB的地址
      • USB地址的组成和功能
      • 总结


一、什么是USB

USB(Universal Serial Bus,通用串行总线)是一种广泛使用的计算机总线标准,用于连接计算机与外部设备。它定义了一种硬件接口和通信协议,使得设备之间的数据传输和电源供给变得简单和标准化。以下是USB的一些主要特点和功能:

1. 标准化接口

USB提供了一种标准化的接口,可以连接各种设备,如键盘、鼠标、打印机、存储设备(如U盘和外置硬盘)、手机等。

2. 热插拔

USB设备支持热插拔,即在计算机运行时可以随时连接或断开设备,而不需要重新启动计算机。

3. 即插即用

USB设备能够被自动识别和配置,用户只需将设备插入USB端口,操作系统会自动安装所需的驱动程序,并使设备可以使用。

4. 电源供给

USB接口可以为设备提供电源。例如,许多小型设备(如鼠标和键盘)可以直接通过USB接口获得电力。

5. 数据传输速度

USB有不同的版本,每个版本支持不同的数据传输速度:

  • USB 1.1:最高传输速度为12 Mbps(全速)。
  • USB 2.0:最高传输速度为480 Mbps(高速)。
  • USB 3.0:最高传输速度为5 Gbps(超高速)。
  • USB 3.1/3.2:最高传输速度为10/20 Gbps(超高速+)。
  • USB4:支持高达40 Gbps的数据传输速度,并兼容Thunderbolt 3。

6. 连接类型

USB接口有不同的物理形状和类型,包括:

  • USB-A:最常见的矩形接口,通常用于计算机主机。
  • USB-B:通常用于打印机和其他外部设备。
  • USB-C:新型的可逆接口,支持更高的数据传输速率和充电功率。
  • Micro-USBMini-USB:主要用于移动设备和旧款设备。

7. 协议和功能

USB协议包括各种功能和传输模式,如控制传输、批量传输、等时传输和中断传输。它支持各种设备类型,从简单的输入设备到复杂的存储设备和网络设备。

USB的普及和标准化使得计算机与外部设备之间的连接变得更加便捷和高效。

二、USB的三个部分

USB系统通常由三个主要组件组成:USB Host(主机)、USB Device(设备)和USB Hub(集线器)。它们各自扮演着不同的角色,并一起协作实现USB的功能。

1. USB Host(主机)

定义: USB Host 是管理USB总线并控制USB设备的组件。它通常是计算机或其他主控设备,负责与USB设备进行通信和数据交换。

功能:

  • 设备管理: 负责检测、识别和配置连接到USB端口的设备。
  • 电源供给: 向USB设备提供电源。
  • 数据传输: 负责管理数据传输,包括数据请求和响应。
  • 控制协议: 主机使用USB协议来控制数据传输的过程。

示例: 个人电脑、笔记本电脑、智能手机、游戏主机等。

2. USB Device(设备)

定义: USB Device 是连接到USB总线的外部硬件设备。它可以是各种类型的外设,如存储设备、输入设备、打印机等。

功能:

  • 提供功能: 执行具体的功能,如存储数据、输入数据或进行输出。
  • 响应请求: 根据主机的请求进行数据传输或执行操作。
  • 电源接收: 从USB主机接收电源供电(如果设备设计为通过USB供电)。

示例: U盘、鼠标、键盘、打印机、相机等。

3. USB Hub(集线器)

定义: USB Hub 是一种用于扩展USB接口的设备。它允许多个USB设备通过一个USB端口连接到USB主机。USB Hub可以是内置的(如电脑内部)或外置的(如独立的集线器设备)。

功能:

  • 接口扩展: 增加更多的USB端口,允许多个设备同时连接到主机。
  • 信号中继: 转发主机和连接设备之间的信号。
  • 电源分配: 向连接的设备提供电源(有些集线器具有外部电源适配器来支持更多的设备)。

类型:

  • 主动集线器: 带有外部电源适配器,可以提供更多的电流。
  • 被动集线器: 仅通过USB主机供电,不支持高功耗设备。

示例: 独立USB集线器、计算机内部的USB扩展卡等。

工作流程

  1. 连接: USB设备通过USB端口连接到USB主机或USB Hub。
  2. 识别: USB主机检测到设备的连接,进行识别和配置。
  3. 通信: 主机和设备通过USB协议进行数据交换。USB Hub在多个设备之间分配信号和电源。
  4. 数据传输: 数据通过USB总线从设备传输到主机,或从主机传输到设备。

USB的这三个部分协同工作,使得设备之间的数据交换和电力供应变得高效和可靠。

三、USB的拓扑结构

USB的拓扑结构是通过层次化的设计来组织和管理USB设备。USB系统的拓扑结构由多个层次组成,从主机到设备,确保数据和电源能够有效地传输。

USB拓扑结构:

以 HOST-ROOT HUB为 起 点 , 最 多 支 持 7 层(Tier),也就是说任何一个
USB 系统中最多可以允许 5个 USB HUB 级联。一个复合设备(Compound Device)将同时占据两层或更多的层。
在这里插入图片描述
2. Root Hub(根集线器)
定义: Root Hub 是USB Host Controller的一部分,通常是计算机内部的一个组件。它是USB总线的根节点,为USB主机提供连接端口。

功能:

端口管理: Root Hub 提供多个物理USB端口,用于连接USB设备和其他集线器。它是USB总线的起点,连接所有直接或间接连接的设备。
电源分配: Root Hub 向连接的设备提供电源。每个USB端口能够为设备提供电力,通常是5V直流电。
信号传递: Root Hub 将主机发出的数据和控制信号传递给连接的USB设备,也将设备的响应信号传递回主机。
位置:

内部集成: 在计算机主板上,Root Hub 是Host Controller的一部分,直接集成在主板上的USB控制器中。
独立设备: 在某些外部USB集线器中,Root Hub 也可能作为集线器的一部分,提供多个USB端口。

四、USB的地址

在USB系统中,每个USB设备都有一个唯一的地址,用于在总线上标识和区分不同的设备。USB地址的分配和管理是USB通信中的关键部分。以下是关于USB地址的详细讲解:

USB地址的组成和功能

  1. USB设备地址(Device Address)

    定义: 每个USB设备在连接到USB总线时,都会被分配一个唯一的地址,称为设备地址。这个地址用于在总线上标识和识别设备。

    功能:

    • 唯一性: 设备地址确保每个USB设备在总线上具有唯一标识,从而避免冲突。
    • 数据传输: 主机使用设备地址来指定数据传输的目标设备。
    • 通信管理: 设备地址使主机能够与多个设备进行有效的通信,进行设备枚举和配置。

    地址分配过程:

    • 初始连接: 当一个USB设备首次连接到总线时,它还没有被分配设备地址。此时,设备被称为“默认地址”。
    • 设备枚举: 主机通过发送控制传输请求(如SET_ADDRESS请求)来分配一个唯一的设备地址给设备。设备在分配地址后会开始使用这个地址进行数据通信。
    • 地址范围: USB设备地址是7位的(从0到127),但地址0通常保留给根集线器和设备枚举过程使用。实际可用的设备地址范围是1到127。
  2. USB端口地址(Port Address)

    定义: 每个USB设备连接到主机的端口也有一个唯一的地址,称为端口地址。端口地址用于标识连接设备的具体端口。

    功能:

    • 设备管理: 主机使用端口地址来管理和控制连接设备的端口。
    • 电源管理: 主机可以通过端口地址控制设备的电源状态,例如开启或关闭供电。
    • 设备重置: 主机可以通过端口地址向设备发送复位信号,重新初始化设备。
  3. USB端点地址(Endpoint Address)

    定义: 每个USB设备不仅有一个唯一的设备地址,还有多个端点,每个端点有一个唯一的端点地址。端点是USB设备内部的逻辑实体,用于实现不同类型的数据传输。

    功能:

    • 数据传输: 端点地址用于标识设备内部的特定端点,以进行数据的发送和接收。
    • 传输类型: 端点地址与传输类型(控制、批量、中断、等时)相关联。每个端点可以用于不同的数据传输模式。
    • 地址范围: 端点地址是4位的(从0到15),每个设备的端点地址范围是0到15。

总结

  • USB设备地址 是一个唯一的标识符,用于在USB总线上识别和管理设备。设备地址在设备连接时分配,并用于数据传输和通信管理。
  • USB端口地址 标识连接设备的具体端口,用于设备管理、电源控制和复位。
  • USB端点地址 用于标识设备内部的特定端点,每个端点有其唯一的地址,并用于不同的数据传输类型。

这些地址系统确保了USB设备能够被准确识别、管理和通信,从而实现稳定和高效的数据交换。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ROADM(可重构光分插复用器)-介绍
  • YOLOv5: 从0开始搭建环境进行模型训练
  • 传统CV算法——基于Opencv的多目标追踪算法
  • 【盖世汽车-注册安全分析报告】
  • 亿发:中小型制造企业数字化转型典型场景、痛点、解决方案
  • 2024 数学建模高教社杯 国赛(A题)| “板凳龙”舞龙队 | 建模秘籍文章代码思路大全
  • 理解Sigmoid激活函数原理和实现
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十六)
  • Kafka Broker处于高负载状态(例如消息处理量大或系统资源不足),无法及时响应消费者的请求
  • 【C++高阶】深入理解C++智能指针:掌握RAII与内存安全的利器
  • 个股场外期权怎么交易?场外期权交易流程是怎样的?
  • 【秋招笔试】9.05小米秋招改编题(算法岗)-三语言题解
  • 【Unity小技巧】URP管线遮挡高亮效果
  • 局域网一套键鼠控制两台电脑(台式机和笔记本)
  • pikachu文件包含漏洞靶场攻略
  • 「面试题」如何实现一个圣杯布局?
  • 345-反转字符串中的元音字母
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • exports和module.exports
  • Mybatis初体验
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Mysql5.6主从复制
  • pdf文件如何在线转换为jpg图片
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Web设计流程优化:网页效果图设计新思路
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 从零搭建Koa2 Server
  • 构建工具 - 收藏集 - 掘金
  • 关于 Cirru Editor 存储格式
  • 汉诺塔算法
  • 面试总结JavaScript篇
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 入手阿里云新服务器的部署NODE
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 王永庆:技术创新改变教育未来
  • 微信小程序--------语音识别(前端自己也能玩)
  •  一套莫尔斯电报听写、翻译系统
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 2017年360最后一道编程题
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #数学建模# 线性规划问题的Matlab求解
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (web自动化测试+python)1
  • (附源码)ssm失物招领系统 毕业设计 182317