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

USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式

连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。

文章目录

  • 1 接口类型和标准规范
  • 2 引脚分布
  • 3 USB体系架构和工作原理
  • 4 USB时序
  • 5 USB数据格式

1 接口类型和标准规范

USB接口有不同的形状和设计,最初只有两种USB类型:USB-A和USB-B。现在,又衍生出了更多地接口类型,包括USB-C、USB Micro、USB Mini和Lightning Cable,如下图所示:
在这里插入图片描述
(1)USB-A:最常见的USB类型,主要应用于有线鼠标、键盘和U盘。它的线缆端较宽,由于该连接器没有旋转对称性,两端不同,对应不同类型的端口。

(2)USB-B:中间为小矩形孔形状。它通常不用于现代计算机,但在打印机、路由器和扫描仪上常见。

(3)USB-C:有一个更扁平、更小的公口,中间的孔是扁平的椭圆形,适合小型连接器针脚插入。它是取代USB-A和USB-B的新标准,更适用于较薄的设备,如MacBook和手机。

(4)USB Micro:USB-A和USB-B都有Micro大小的版本。Micro USB是如今许多智能手机中非常常见的USB连接器。然而,随着USB Type C的出现,Micro USB正在慢慢被淘汰,不再用于新款高端智能手机。但Micro USB仍然广泛应用于全球的廉价智能手机和其他电子设备中。

(5)USB Mini:同样有两种分为USB Mini A和USB Mini B。它们是Type A和Type B USB连接器的缩小版,一般用于便携式相机、游戏控制器和一些老款移动电话中。

(6)Lightning Cable:主要用于iPhone和iPad,采用完全不同类型的USB连接器,即Lightning cable。这种线缆的一端有一个薄的矩形连接器,另一端是Type C连接器。Lightning cables没有正反面的区分,不用担心插入的正反。


USB支持三种速度:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。
(1)USB 2.0标准:高速USB,最大数据传输速度为480Mbps,支持所有类型的连接器,最大电缆长度为5米,最大充电功率为15瓦。

(2)USB 3.2标准(第一代):超高速USB,最大数据传输速度为5Gbps,支持USB-A 3.0、USB-B 3.0和USB-C等不同连接器,最大电缆长度为3米,最大充电功率为15瓦。

(3)USB 3.2标准(第二代):同样是超高速USB,最大数据传输速度为10Gbps,最大电缆长度为1米,支持不同类型的连接器,最大充电功率为100瓦。

(4)USB 3.2标准(第2×2代):超高速USB,最大数据传输速度为20Gbps,最大电缆长度为1米,支持USB连接器,最大充电功率为100瓦。

(5)Thunderbolt 3标准:最大数据传输速度高达40Gbps,最大电缆长度为2米(主动电缆,即包括放大和补偿信号的芯片转换的电缆)和0.8米(被动电缆),支持USB连接器,最大充电功率为100瓦。

(6)USB 4标准:也称为Thunderbolt 4,最大数据传输速度高达40 Gbps,最大电缆长度为2米(主动电缆)和0.8米(被动电缆),支持USB连接器,最大充电功率为100瓦。

  • USB 4的标准和Thunderbolt 3几乎一样,因为Thunderbolt 3由Intel开发,通常受特定的厂商支持,而USB4则是一个开房标准,不受制造商限制,任何厂商都可以实现USB 4,而不需要特定的许可

2 引脚分布

USB2.0共4条线,其中数据通过D+D-连接器传输,而VbusGND为USB设备供电。下图为USB-A和USB-B的引脚图:
在这里插入图片描述
将USB-A的线剪开,如下图所示:
在这里插入图片描述

USB3.0的引脚如下:
在这里插入图片描述
可以看到USB3.0多了5个引脚:两根高速发送引脚、两根高速接收引脚和参考地。之所以预留原来的4个引脚是为了兼容USB2.0。

3 USB体系架构和工作原理

下图是USB协议结构的概述,一旦各种I/O设备通过USB连接到计算机,它们就会构成一个树状结构。在这种USB结构中,每个I/O设备都会进行点对点连接,通过串行传输格式来传输数据。

在这种架构中,I/O设备通过USB连接到计算机,USB也被称为集线器。架构中的集线器是I/O设备与计算机之间的连接点。该架构中的根集线器用于将整个结构连接到主机计算机。
在这里插入图片描述
USB协议的工作基于轮询机制,CPU会持续检查输入/输出设备是否准备好传输数据。因此,I/O设备无需向处理器更新它们的状况。每当新的设备连接到集线器时,它会被分配一个地址,第一个设备的地址为0。正常情况下,主机会对集线器进行轮询以获取其状况,从而使主机知道系统中的I/O设备是连接还是断开的。

一旦主机响应新设备,它通过读取设备的USB接口的特定内存中的可用数据来了解设备的容量。然后,主机使用适当的驱动程序与设备通信。接着,主机分配一个地址给新设备,该地址写入设备寄存器。通过这个功能,USB提供了即插即用的功能,允许主机自动识别新的可用I/O设备。

USB协议的另一个特点是“热插拔”,这意味着可以在不关闭或重启的情况下连接或断开I/O设备,因此当I/O设备连接或断开时,系统可以持续运行。

USB协议还可以支持等时传输,即数据在预定的时间间隔内传输。相比同步和异步数据传输,等时数据传输的传输速度非常快。为了保持等时的传输,根集线器通过USB发送一系列位,这些位指定了等时数据的开始,实际的数据可以在这一系列位之后传输。

4 USB时序

对于USB来说,它的数据传输仅依靠一对差分的D+和D-,而没有时钟线,那么它是怎么实现时间的同步的呢?USB采用反向不归零编码(NRZI)来传输数据:当下一个电平为0时,电平反转;当下一个电平为1时,电平不变。
在这里插入图片描述

每个USB数据包,最开始都有一个同步域(SYNC),接受者通过此包来计算出发送者的USB数据的频率。同时由于遇到逻辑0时比特位会翻转,接收者也一直在根据这个特性在调整USB的同步频率。但还是有一个问题,就是计算出来的频率不准确或自身的采样时钟无法完全与发送者的完全一致,所以如果连续出现多个逻辑1的话,很有可能造成数据传输的不一致。所以如果数据出现6个逻辑1,则会在这后面填充一个逻辑0,如上图所示中的Suffered Bit。接收端采样数据时只需要把这个填充位去掉即可。

5 USB数据格式

主设备之间进行有效通信非常重要。一旦外设通过USB连接到计算机,计算机会识别它是什么类型的设备,并自动加载允许设备正常工作的驱动程序。在这两个设备之间传输的少量数据称为数据包,每个数据包传输一个数字信息单元。USB协议中常见的4种数据包如下图所示:
在这里插入图片描述
(1)SYNC(Syncronize,同步字段):USB协议中,每个USB数据包都以SYNC字段开始,通常用于确保发送者和接收者保持时钟同步。在低速或全速USB系统中,SYNC字段为10101011。在高速USB系统中,SYNC字段为10101010 10101010 10101010 10101011。最后2位固定为11,用于指示PID字段的起始位置。

(2)PID字段(Packet Identifier,包标识符字段):用于识别正在传输的数据包类型以及数据包数据格式。该字段长8位,其中前4位识别数据包类型,后4位是前4位的按位补码。
在这里插入图片描述

(3)Address(地址字段):指示数据包主要用于哪个设备。这个7位长的字段允许最多支持127个设备。地址为零的设备是无效的,因为尚未分配地址的任何设备都应该对零地址的传输数据包做出响应。

(4)Endpoint(端点字段):端点字段长4位,允许更灵活地进行寻址。通常,这些字段用于指示数据是输入还是输出。端点’0’是一个特殊情况,被称为控制端点,每个设备都包括一个端点0。

(4)Data(数据字段):数据字段的长度不是固定的,可以从0到8192bit,但必须以字节为单位。

(5)CRC字段(Cyclic Redundancy Checks):CRC是在数据包有效负载中的数据上执行的,所有令牌数据包(用来启动一次USB传输)和帧起始数据包使用5位CRC,而数据数据包使用16位CRC。

(6)EOP字段(End of the Packet,数据包结束字段):每个数据包都以EOP字段结束。

相关文章:

USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式

连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …...

less和scss语法详解

比较好的博客文章:Less使用语法(详细):https://blog.csdn.net/weixin_44646763/article/details/114193426 SCSS基本语法:https://www.jianshu.com/p/4efaac23cdb6 总结:我理解的点: 1、符号声…...

【计算机网络笔记】TCP/IP参考模型基本概念,包括五层参考模型

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...

RSA加密与签名的区别

文章目录 一、签名验签原理二 RSAUtils 工具类三、通过x509Certificate来获取CA证书的基本信息四、 通过公钥获取公钥长度 一、签名验签原理 签名的本质其实就是加密,但是由于签名无需还原成明文,因此可以在加密前进行哈希处理。所以签名其实就是哈希加…...

arcgis js api 4.x通过TileLayer类加载arcgis server10.2发布的切片服务跨域问题的解决办法

1.错误复现 2.解决办法 2.1去https://github.com/Esri/resource-proxy 网站下载代理配置文件,我下载的是最新的1.1.2版本,这里根据后台服务器配置情况不同有三种配置文件,此次我用到的是DotNet和Java. 2.2 DotNet配置 2.2.1 对proxy文件增加…...

如何让chatGPT给出高质量的回答?

如何让chatGPT给出高质量的回答? ChatGPT从入门到进阶教程合集_哔哩哔哩_bilibili 公式 【指令词】【背景】【输入】【输出要求】 1. 指令词 ——精准任务or命令 如:简述、解释、翻译、总结、润色 2. 背景 ——补充信息 如:简述一篇讲解…...

Java后端开发(八)-- idea(2022版)将commit(未push)的 本地仓库 的 单条commit记录 进行撤销

目录 1.修改Test01类后,提交到本地仓库 。 2.commit成功后,在Git =》Log中会显示,commit记录...

Mysql架构解析,InnoDB架构概述。

MySQL架构解析 Mysql整体架构 MySQL整体架构如下图所示: MySQL逻辑系统架构分为4层: 应用层MySQL服务层存储引擎层系统文件层 下面将对各层的功能和组件进行介绍,并探讨一条语句的执行过程。 应用层 应用层是MySQL体系架构的最上层,它…...

jmeter如何测试websocket接口?

jmeter做接口测试,很多人都是做http协议的接口,就有很多人问websocket的接口怎么测试啊? 首先,我们要明白,websocket接口是什么接口。 然后,我们怎么用jmeter测试? jmeter要测试websocket接口…...

15 Transformer 框架概述

整体框架 机器翻译流程(Transformer) 通过机器翻译来做解释 给一个输入,给出一个输出(输出是输入的翻译的结果) “我是一个学生” --》(通过 Transformer) I am a student 流程 1 编码器和解…...

[架构之路-241]:目标系统 - 纵向分层 - 企业信息化与企业信息系统(多台企业应用单机组成的企业信息网络)

目录 前言: 一、什么是信息系统:计算机软件硬件系统 1.1 什么是信息 1.2 什么是信息系统 1.3 什么是信息技术 1.4 什么是信息化与信息化转型 1.5 什么是数字化与数字化转型(信息化的前提) 1.6 数字化与信息化的比较 1.7 …...

flink中使用异步函数的几个注意事项

背景 在flink系统中,我们为了补充某个流事件成一个完整的记录,经常需要调用外部接口获取一些配置数据,流事件结合这些配置数据就可以组合成一条完整的记录,然而如果同步调用外部系统接口来实现,那么会有很大的性能瓶颈…...

QML之Repeater 控件使用

Repeater 控件是 重复作用 根据 model中的index 数量进行重复 废话不说 直接看如何用 当model 为数字时 Rectangle{height: 1200width: 500visible: trueanchors.fill: parentColumn{spacing: 20Repeater{model: 10delegate: Rectangle{width: 60height: 20color: index%2 …...

哈希树讲解

哈希树(HashTree)是哈希(Hash)算法的一种延续。传统数据结构中对如何避免哈希冲突都有一定的描述和解释,但是这些描述和解释都是泛泛而谈,并没有提出比较好的解决方案。这里所提到的哈希树(HashTree)算法就是要提供一种在理论上和实际应用中均能有效地处…...

vue 项目启动后一直不断的刷新停不下来

新建的vue 项目,配置了代理后项目一直刷新,停不下来,各种查找最后发现是vue.config.js 中的热更新配置项目开启的原因 const {defineConfig } require(vue/cli-service) const AutoImport require(unplugin-auto-import/webpack) const Co…...

makesense在线yolov5标注

文章目录 一、创建图片文件夹和label.txt二、在线标注数据 参考文章博主:风吹落叶花飘荡 一、创建图片文件夹和label.txt 创建一个放置图片的文件夹images,存放需要标注的图片(图片最好重命名为1,2,3…避免后面混淆) 创建label.t…...

python 之 矩阵相关操作

文章目录 1. **创建矩阵**:2. **矩阵加法**:3. **矩阵乘法**:4. **矩阵转置**:5. **元素级操作**:6. **汇总统计**:7. **逻辑操作**: 理解你的需求,我将为每个功能写一个单独的代码块…...

敢问路在何方

从2022年进入软件行业到现在,二十二年眨眼之间过去了,依然奋斗在编码第一线,挣扎在第一线,借此程序员佳节之际回顾一下这许多年的历程。 由于本人混得实在不好,工作过的地方都用某单位某公司来代替实际的,到…...

复习mysql中的事务

一个事务的开始和结尾必须是 start transaction | commit; rollback 事务特性 1.原子性:多个操作打包成一个整体,要么全部执行,要么一个都不执行。 不过这里的“一个都不执行”并不是真正的全不执行,只是看起来与没执行一样。…...

力扣刷题 day52:10-22

1.数组拆分 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 方法一:排序 #方法一:排序 def arrayPai…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...