USB2.0 Spec 中文篇

体系简介

线缆

USB 是一种支持热拔插的高速串行传输总线,使用一对(两根)差分信号来传输数据,半双工。要求使用屏蔽双绞线。

供电

USB 支持 “总线供电” 和 “自供电” 两种供电模式。在总线供电方式下,设备最多可以获得 500mA 的电流。

兼容

向下兼容 USB1.0(低速),USB1.1(全速)

速度

低速 1.5Mbps,全速12Mbps,高速 480Mbps

USB 体系组成

USB 体系包括 “主机”、“设备”、“物理连接” 三个部分。
主机是一个提供 USB 接口及接口管理能力的硬件、软件及固件的复合体,可以是 PC,也可以是 OTG 设备,一个 USB 系统中仅有 1 个USB 主机。
USB 设备包括 USB 功能设备和 USB HUB,最多支持 127 个设备。
物理连接指 USB 传输线。

地址

一个 USB HOST 支持 128 个地址,地址 0 作为默认地址,只在设备枚举期间临时使用,而不能被分配给任何一个设备。因此,一个 USB HOST 最多可以支持 127 个设备。
但是,如果要连接 127 个设备,必须要用到 USB HUB,USB HUB 也是占用地址的,所以,实际支持的 USB 设备数量小于 127。

拓扑

USB 体系采用分层的星型拓扑来连接所有 USB 设备,以 HOST-ROOT HUB 为起点,最多支持 7 层,也就是说,最多允许 5 个 USB HUB 级联。
在这里插入图片描述

ROOT HUB

ROOT HUB 是一个特殊的 USB HUB,它集成在主机控制器里,不占用地址。

复合设备

复合设备可以占用多个地址。所谓复合设备其实就是把多个功能设备通过内置的 USB HUB 组合而成的设备,比如带麦克风的 USB 摄像头。

轮询广播

USB 采用轮询的广播机制传输数据,所有的传输都由主机发起,任何时刻整个 USB 体系内仅允许一个数据包进行传输,所有设备看到的数据包都是被同一广播的数据包。

数据包

USB 采用 “令牌包” - “数据包” - “握手包” 的传输机制,在令牌包中指定数据包去向或来源的设备地址和端点(Endpoint),从而保证了只有一个设备,对被广播的数据包/令牌包 做出响应,握手包表示了传输的成功与否。
“数据包” 是 USB 总线上数据传输的最小单位,包括 SYNC、数据和 EOP 三部分。其中,数据以 8 位的 PID 开始,PID 指定了数据包的类型(共 16 种)。令牌包即 PID 为 IN/OUT/SETUP 的包。

端点

端点(Endpoint)是 USB 设备中可以进行数据收发的最小单元,支持单向或双向的数据传输。
设备支持端点的数量是有限制的,除默认端点外,低速设备最多支持 2 组端点(2 输入,2 输出),高速和全速设备最多支持 15 组端点。

管道

管道(Pipe)是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的流管道(Stream Pipe)、有格式的信息管道(Message Pipe)。
任何一个 USB 设备一旦上电,就存在一个信息管道,即默认的控制管道,USB HOST 通过该管道来获取设备的描述、配置、状态,并对设备进行配置。

接口

一个设备可能有一个或多个接口。(复合设备具有多个接口,驱动中,是只认接口,不认设备的,一个驱动程序对应一个接口。一个包含两个接口的复合设备,如电子琴,包含键盘接口和扬声器接口,那么就会有两个驱动与该设备对应,即键盘驱动和扬声器驱动)
一个接口可能有一个或多个端点

枚举

USB 设备连接到 HOST 时,HOST 必须通过默认的控制管道对其进行枚举,完成获得设备描述、进行地址分配、获得配置描述、进行配置等操作后,方可正常使用。USB 的即插即用特性依赖于此。
枚举是 USB 体系中一个很重要的活动,由一系列标准请求组成,若设备属于某个子类,还包含该子类定义的特殊请求
通过枚举,HOST 可以获得设备的基本描述信息,如 USB 版本,PID、VID、设备分类(Class)、供电方式、最大消耗电流、配置数量、各种类型端点数量、传输能力、最大包长度。HOST 根据 PID 和 VID 加载设备驱动程序,并对设备进行合适的配置。
只有经过枚举的设备才能正常使用。
对于总线供电的设备,在枚举完成前,最多可从总线获取 100mA 的电流。

标准请求

USB 设备通过管道和 HOST 通信,在默认控制管道上接受并处理以下 3 种类型的请求:

  1. 标准请求:一共有 11 个标准请求,如得到设备描述、设置地址等。所有 USB 设备必须支持这些请求。HOST 通过标准请求来识别和配置设备。
  2. 类(Class)请求:USB 还定义了若干个子类,如 HUB 类、大容量存储器类等。不同的类又定义了若干类请求,该类设备应该支持这些类请求。设备所属类在设备描述符中得到。
  3. 厂商请求:这部分请求并不是 USB 规范定义的,而是设备生产商为了实现一定的功能而自己定义的请求。

HUB PORT

HUB 的上行 PORT 面向 HOST,下行 PORT 面向设备。
在下行 PORT 上,提供了设备连接检测移除检测的能力,并给各下行 PORT 供电。
HUB 可以单独使能各下行 PORT,不同 PORT 可以工作在不同的速度等级。

HUB 的组成

HUB 由重发器(Repeater)、转发器(Transaction Translator)以及控制器(Controller)三部分组成。
重发器是上行 PORT 和下行 PORT 之间的一个协议控制的开关,负责数据包的重生与分发。
控制器负责和 HOST 通信,HOST 通过 HUB 类请求和 HUB 控制器通信,获得关于 HUB 本身和下行 PORT 的 HUB 描述符,进行 HUB 和下行 PORT 的监控和管理。
转发器提供了从高速和全速/低速通信的转换。

分发

HUB 从上行 PORT 接收到的数据包需要向所有使能的下行 PORT 发送,即广播。

通信

宏观上看,是在 HOST 和 USB 功能设备之间进行;
微观上看,是在应用软件的 Buffer 和 USB 设备端点的 Buffer 之间进行。

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

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

相关文章

Tofu目标识别跟踪模块

Tofu3 是多波段视频物体识别跟踪模块,支持可见光视频与红外视频的输入,支持激光补光变焦自适应控制,支持视频下的多类型物体检测、识别、跟踪等功能。 产品支持视频编码、设备管理、目标检测、深度学习识别、跟踪等功能,提供多机…

智慧灯杆技术应用分析

智慧灯杆是指在传统灯杆的基础上,通过集成多种先进技术实现城市智能化管理的灯杆。智慧灯杆技术应用的分析如下: 照明功能:智慧灯杆可以实现智能调光、时段控制等功能,根据不同的需求自动调节照明亮度,提高照明效果&am…

利用Pytorch预训练模型进行图像分类

Use Pre-trained models for Image Classification. # This post is rectified on the base of https://learnopencv.com/pytorch-for-beginners-image-classification-using-pre-trained-models/# And we have re-orginaized the code script.预训练模型(Pre-trained models)…

大型科技公司与初创公司:选择哪一个?

你有没有想过,特别是在你职业生涯的开始,选择什么类型的公司?它应该是一家像谷歌、亚马逊、Meta 这样的大型科技公司,还是为一家小型初创公司工作。在本文中,我们将讨论实际差异是什么,并帮助你选择最适合你…

『OPEN3D』1.8.3 多份点云配准

多份点云配准是将多份点云数据在全局空间中对齐的过程。通常,输入是一组数据(例如点云或RGBD图像){Pi}。输出是一组刚性变换{Ti},使得经过变换的点云在全局空间中对齐。 NNNNNathan 本专栏地址: https://blog.csdn.net/qq_41366026/category_12186023.html 此处是…

DHCP—动态主机配置协议

动态主机配置协议DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是RFC 1541(已被RFC 2131取代)定义的标准协议,该协议允许服务器向客户端动态分配IP地址和配置信息。 DHCP协议支持C/S&#x…

RocketMQ 总体概括

目录 概述RocketMQ 领域模型MQ 解决的问题电商平台案例初步设计引入中间件设计 MQ 选型结束 概述 官网地址 RocketMQ 领域模型 官方领域模型概述 下面图,是在自己理解的基础上,对官方的模型图添加了一些。 Topic:主题,可以理解…

Java网络编程——基于UDP的数据报和套接字

java.net.ServerSocket与java.net.Socket建立在TCP的基础上。TCP是网络传输层的一种可靠的数据传输协议。如果数据在传输途中被丢失或损坏,那么TCP会保证再次发送数据;如果数据到达接收方的顺序被打乱,那么TCP会在接收方重新恢复数据的正确顺…

扬声器(喇叭)

扬声器(喇叭) 电子元器件百科 文章目录 扬声器(喇叭)前言一、扬声器(喇叭)是什么二、扬声器(喇叭)的类别三、扬声器(喇叭)的应用场景四、扬声器(喇叭)的作用原理总结前言 扬声器广泛应用于音响系统、公共广播系统、汽车音响、电视、电脑和移动设备等各种电子设备…

Linux基本开发工具

编译器和自动化构建工具 一、编译器——gcc、g1. 安装 gcc/g2. 使用3. 链接库4. 拓展命令:od/file/ldd/readelf 二、自动化构建项目——make、makefile1. 介绍2. 使用例子touch——change file timestampsstat——display file or file system status修改时间 .PHON…

Qt 文字描边(基础篇)

项目中有时需要文字描边的功能 1.基础的绘制文字 使用drawtext处理 void MainWindow::paintEvent(QPaintEvent *event) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);painter.setRenderHint(QPainter::SmoothPixmapTransform, true);painte…

ceph的osd盘删除操作和iscsi扩展

ceph的osd盘删除操作 拓展:osd磁盘的删除(这里以删除node1上的osd.0磁盘为例) 1, 查看osd磁盘状态 [rootnode1 ceph]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.00298 root default -3 0.00099 host node10 hdd 0.00…

【Vins轨迹】pose_graph位姿图加载EVO精度评定

1. Vins的位姿图加载功能 如果想要对slam运行后的位姿轨迹进行评定,需要将数据保存到output文件夹中。 其中pose_graph.txt含有的信息:关键帧id、时间戳、vio的xyz、优化后的xyz、vio的四元数、优化后的四元数、回环到的关键帧id、回环信息&#xff08…

【十】python复合模式

10.1 复合模式简介 在前面的栏目中我们了解了各种设计模式。正如我们所看到的,设计模式可分为三大类:结构型、创建型和行为型设计模式。同时,我们还给出了每种类型的相应示例。然而,在软件实现中,模式并是不孤立地工作的。对于所…

HPM5300系列--第一篇 命令行开发调试环境搭建

一、目的 在之前的博客中《HPM6750系列--第二篇 搭建Ubuntu开发环境》、 《HPM6750系列--第三篇 搭建MACOS编译和调试环境》我们介绍了HPM6750evkmini开发环境的搭建过程,由于HPM5300系列共用一套hpm-sdk,故HPM5300的开发调试环境的搭建过程基本和之前的…

智能故障诊断期刊推荐【中文期刊】

控制与决策 http://kzyjc.alljournals.cn/kzyjc/home 兵工学报 http://www.co-journal.com/CN/1000-1093/home.shtml 计算机集成制造系统 http://jsjjc.soripan.net/ 机械工程学报 http://www.cjmenet.com.cn/CN/0577-6686/home.shtml 太阳能学报 https://www.tynxb.org.c…

Visual Studio Code中的任务配置文件tasks.json中的可选任务组tasks详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 vscode是支持通过配置可以实现类似Visual C等IDE开发工具使用菜单和快捷键直接进行程序编译构建的,这样构建的任务可以结合后续的调试配置进行IDE环境的程序调试,不过在之前…

12. IO

1.File类 • File 类代表与平台无关的文件和目录。 • File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 1).File的常用方法 在这里插入图片描述 2).遍历给定目录所有文件 …

MySQL增删改查

查询数据 MySQL 数据库使用 SQL SELECT 语句来查询数据。以下为在 MySQL 数据库中查询数据通用的 SELECT 语法: SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M] 查询语句中你可以使用一个或者多个表,表之间使用…

联想笔记本如何安装Vmware ESXi

环境: Vmware ESXi 8.0 Vmware ESXi 6.7 联想E14笔记本 问题描述: 联想笔记本如何安装Vmware ESXi 解决方案: 1.官网下载镜像文件 https://customerconnect.vmware.com/en/downloads/search?queryesxi%208 下载 2.没有账户注册一个 …