USB协议介绍

article/2025/9/21 8:12:24

目录

前言

1、概述

1.1 USB协议

1.2 USB充电协议

1.3 USB接口

1.3.1 type-a

1.3.2 Type-C

1.3.3 USB2.0/3.0/3.1/3.2速率

1.3.4 ULPI/UTMI


前言

开始整理USB相关基础概念,仅用于基础介绍、USB概念入门。更深入的内容请参考USB协议手册。部分图文来自参考文章,链接附录在文后。

USB官网:Front Page | USB-IFhttps://usb.org/

USB中文网:USB中文网 - USB技术开发交流 (usbzh.com)https://usbzh.com/

USB协议详解_一个早起的程序员的博客-CSDN博客https://blog.csdn.net/weiaipan1314/category_10697813.html

1、概述

USB,Universal Serial Bus(通用串行总线),是一种计算机与外围设备进行数据交互的通信协议。

1.1 USB协议

USB2.0 或 USB3.1, 指的是传输标准; 而USB Type-C 或 USB Type-A, 指的是物理接口

1.2 USB充电协议

1.3 USB接口

1.3.1 Type-A

(1)标准的USB2.0协议传输结构是这样子的(设备端):

USB2.0 type-a接口

 (2)USB3.0

USB3.0 Type-a接口

  • USB协议采用的是差分传输模式,因而有两条数据线D+和D-。
  • 在低速和全速模式下,采用电压传输模式,在高速下,采用电流传输模式。
  • 传输结构之所以采用两长两短的方式,是为了支持热拔插:
  • 当USB设备接入主机时,VCC和GND优先被接通;拔掉设备时,D-和D+数据线优先断电。

1.3.2 Type-C

Type-C相对于其它接口的优势:

  • 它无需区分正反
  • 最高可以支持5A大电流,
  • 在USB4标准支持下,最高可传输速率可达40Gbps。
  • 正确插入后发出声音。
  • 通过USB Power Delivery技术,可用于3C产品(如笔记本电脑、智能手机)的充电。
  • 增进的电磁干扰(EMI) 与射频干扰(RFI mitigation)特性。
  • 可选集成DisplayPort、HDMI、MHL[5][6]。
  • 可选集成Thunderbolt。
  • 可选集成USB4。

TYPE-C的高速应用,Type-C可用于:

  • USB1.1/2.0/3.0/3.1
  • HDMI
  • 以太网络
  • DisplayPort的
  • 功率
  • 音频
  • 有更多的千兆位通道。

1.3.3 USB2.0/3.0/3.1/3.2速率

  1. Gen1和Gen2指代编码方式和Lanes内的速度,Gen1绑定了8b/10b和单lane内5 Gbit/s,Gen2绑定128b/130b与单lane内10G bits/s。
  2. 1个lane即2组差分对,一组差分对负责一个方向的传输。所以表里的带宽都是同时刻双向的带宽(当然实际中达不到)。
  3. x1和x2指代有几个lane,真正的USB3.2 x2只能通过Type C接口达成,同时线材也必须支持USB3.2内所需的4个差分对。

(1)USB2.0

 (2) USB3.0 (USB3.2 Gen1)

USB3.0为了提高传输速率,在不同形状的物理接口上都增加了新的针脚。为了保证向下兼容性,也保留了USB2.0原有的针脚;由于USB3.0发表时只有常见的Type-A与Type-B构型,并没有Type-C可选.

 USB3.0新增了两组差分对,分别是SSTX与SSRX。每组差分对的速度都被提升到了5Gbit/s,编码方式为8b/10b,计算纠错/控制损耗,实际效率为80%。从针脚名称中的T与R便可以知道USB3.0可以同时发送与接收数据,是全双工接口

(3) USB3.1  (USB3.2 Gen2)

USB3.1相较于USB3.0,大致做了以下改进:

  1. 仍然是两个差分对,全双工,但每个差分对速度被提升到10Gbps。
  2. 编码从8b/10b更改为128b/130b,实际可用带宽更大,损耗从USB3.0的20%降到3%。
  3. 引入了新的USB PD协议,供电能力大幅度提高。

下面是USB3.1的工作示意图,在Type-A与Type-B接口下,相较于USB3.0只是把差分对的速度提高了。

 而在Type-C接口下,USB3.1工作示意图是这样的

 (4) USB3.2 Gen1x2

  (4) USB3.2 Gen2x2

1.3.4 ULPI/UTMI

ULPI协议的全称是UTMI+Low Pin Interface。从名字上就可以看出ULPI是UTMI的Low Pin版本。UTMI(USB2.0 Transceiver Macrocell Interface,USB2.0收发器宏单元接口)是一种用于USB controller和USB PHY通信的协议。相对于ULPI,UTMI有更多的控制信号,支持8bit/16bit 数据接口。前者PIN少,后者PIN多,所以如果用ULPI,PHY一般外部另接;用UTMI,PIN多,一般内置。

  • UTMI 接口信号

  • ULPI 接口信号

 

为什么要用NRZI?  (1)没有归0步骤,节省了大量的数据带宽;(2)没有负电平,表示起来方便

如何自同步? NRZ编码本身并不带自同步功能,USB在协议中加入了同步头(SYNC),对于每一个USB Packet,都有一个同步域固定为0000_0001,这个域翻译成NRZI编码就是01010100,接收者通过这个同步头可以算出发送者的频率。

为什么需要Bit-Stuffing?  SYNC可以解决同步的问题,但是如果发送端一直发1,那由NRZI编码后的电平会一直保持不变,从SYNC计算出来的频率只要有一点点偏差,累积后都会造成较大的误差,所以USB协议中采取了bit stuffing的机制来避免出现长时间的1。简单说,每6个连续的1之后,会强制插入一个0,使得发送信号强制出现翻转,接收方在收到翻转信号时可以调整频率,从而实现时钟同步。

作者博文
USB协议详解
USB协议简介
USB的控制传输详解.pdf全文-大学课件-在线文档 (book118.com)
USB协议传输结构_大头BB的博客-CSDN博客
USB协议看这一篇就够了
USB接口详细读解, USB3.2/USB4标准与Gen2和Gen1的区别
常见USB引脚定义一览
USB 2.0 协议规范(中文版)
一文解释 USB数据及供电协议
USB 知识知多少?你想知道的都在这里!(USB 2/3/4、Type-C、PD 快充)
科学的认知USB3.x
涨知识!USB3.0对比USB2.0,提升了哪些?有什么区别?
USB协议详解
USB HOST与 USB OTG的区别及工作原理


http://chatgpt.dhexx.cn/article/gCkjEPFV.shtml

相关文章

usb 传输协议

USB,是英文Universal Serial Bus(通用串行总线)、支持设备的即插即用和热插拔功能。在1994年底由英特尔、IBM、Microsoft等公司联合提出的,在此之前PC的接口杂乱,扩展能力差,热拔插不支持等。USB正是为了解…

USB协议(1)USB基础知识

USB(Universal Serial Bus)是通用串行总线的缩写,它是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数…

linux免费的内网穿透

参考:https://www.cpolar.com/blog/how-to-install-cpolar-under-android-termux-hyper-terminal 下载包:https://www.cpolar.com/download 由于我的linux版本是装在安卓手机上的Alpine linux,所以下载的是如下图版本 下载后使用xftp工具上传到服务器&…

钉钉内网穿透 免费内网穿透工具 让你的电脑成为web服务器

什么是内网穿透? 就是让你个人电脑内建立的网站,在外网可以访问,例如你的手机,其他电脑等。 例如你在电脑部署了一个web服务器,你在浏览器访问127.0.0.1可以打开这个网站,但是你用手机访问127.0.0.1却打不…

免费的内网穿透(钉钉)

1.简介 阿里钉钉提供的免费内网穿透,是基于ngrok 的,可以实现 Http 穿透,可以将我们本地服务暴露给外部访问,可以用作我们调试一些回调接口,或者共享一些文件。 优点:网速快,估计是台带宽为100…

免费 内网穿透工具 实测好用

花生壳:已卸载 免费的版本根本不支持http协议,只支持TCP。 星空内网穿透:已卸载 需要注册账号 需要加入QQ群 需要实名认证,填写身份证号 钉钉内网穿透: 没试验,只记录在此 Utools中的内网穿透&#x…

推荐一款真正永久免费的内网穿透

神卓互联内网穿透,是一款真正的永久免费的内网穿透,每月不限流量、访问地址固定不变。 目录 1. 安装神卓互联内网穿透工具 神卓互联内网穿透客户端 控制台-界面清洁-一目了然 2.添加本地web项目-创建映射规则 3.神卓互联-增加通道检测功能&#xff0…

(不打广告)推荐这款永久免费内网穿透软件-神卓互联

内网穿透是一种将内部网络中的应用程序公开到公共网络上的技术。在许多情况下,由于网络安全限制或配置问题,内部网络中的应用程序可能无法通过公共网络访问。这时,内网穿透技术就可以解决这个问题,使得我们可以在没有公共 IP 地址…

内网穿透工具(全免费)

文章目录 前言一、NATAPP是什么?二、使用步骤1.访问官网注册2.客户端下载3 登录,配置参数1 登录,购买免费隧道2 配置参数3 根据authtoken 运行 natapp.exe 4 试试效果 总结 前言 平时开发微信公众号,小程序, 或者给他人演示项目等,难免会遇到需要开通外网的情况,作…

无需设置路由器,无需公网ip 实现永久免费内网穿透

用网云穿在 N1 盒子上实现 Openwrt 的内网穿透 软路由器情况 N1(已经刷入 Armbian) 中使用 docker 创建 Openwrt 容器作为旁路由。 我的内网 ip 信息 内网 IP 因人而异,以下是我自己的设置 Armbian:192.168.123.2 Openwrt:192.168.123.10 思路 N1 的 Armbian 中部…

如何免费使用内网穿透

背景: 疫情期间公司不能上班,工作又不能落下,所以只能选择在家办公~;公司的部分网站是内网的,所以得想办法内网穿透。经过众多对比后选择了小蝴蝶内网穿透! 网址: www.npsvip.com 准备工作&…

永久免费的内网穿透

名称:DPFRP内网穿透 注册赠送30000GB流量,流量用完还可以用! 官网:frpc.cc 官网:fwqcz.com 1.打开官方网,注册账号 2.登录账号 3.个人中心 4.创建隧道 5.下载客户端 6.修改frpc.ini文件 在配置文件页面选择你刚才创建的服务器隧道,复制配…

钉钉免费实现内网穿透

场景: 有时候开发者想把私有电脑作为服务器,需要把开发机电脑上的项目暴露到公网,方便远程访问和调试,这时候就需要使用内网穿透,这里介绍一下阿里巴巴旗下钉钉内网穿透工具的使用 一、下载钉钉穿透工具,官…

【免费内网穿透】公网环境下,Windows系统远程桌面控制树莓派

系列文章 【免费内网穿透】公网环境下,Windows系统远程桌面控制树莓派【无需公网IP】为远程桌面树莓派配置固定的公网TCP端口地址 远程桌面控制树莓派,我们可以用xrdp协议来实现,它内部使用的是windows远程桌面的协议。我们只需要在树莓派上…

【群晖NAS】真·免费内网穿透方案 及踩坑合集

一.介绍 一篇科普贴,帮助那些刚入门NAS的朋友尽量避免踩坑。因为本人实践了其中几种穿透方案,也积攒了一些经验,跟大家分享一下。 在这里想说一句,现在网上充斥着各种《内网穿透方案对比》,可以负责任地说一下&#xf…

永久免费内网穿透不限制速度

市面上的免费内网穿透大都有格式各样的限制,什么限制流量啊,每个月要签到打卡啊,还有更改域名地址等,只有神卓互联内网穿透是永久免费没有限制的,白嫖也可以。 这篇文章分享了3个方案,按照性能和综合指标排…

简单免费内网穿透教程,利用树莓派实现低成本建站 无需公网

很多人都想试试自己建站玩一玩 (比如博客、自建网盘、远程下载等),但家里宽带没公网 IP,特意买台服务器又显得浪费。那么有没成本小、可玩性高、又能长期稳定使用的方案呢? 其实,免费的内网穿透工具 (如网云穿) 树莓派&#xff…

免费内网穿透工具之HTTP穿透

内网穿透工具之HTTP穿透 免费的内网穿透工具 首先在GitHub上面将 项目拉取到本地 git clone https://github.com/open-dingtalk/pierced.git可以看到提供了三种环境下的内网穿透 启动工具,执行命令“./ding -config./ding.cfg -subdomain域名前缀 端口”&#xf…

Ngrok免费实现内网穿透

1、使用场景 让本地局域网的跑的应用可以被外网访问 2、常用内网穿透工具 能实现内网穿透的工具也挺多,下面列出了几个 Ngrok 一个通过任何NAT或防火墙为您的本地主机服务器提供即时访问、安全的URL的命令。类似花生壳,分为服务端和客户端&#xff0…

分享一个免费内网穿透工具

首先,进到首页https://natapp.cn/,点击免费注册 然后,进行登录,是这个页面 点击,购买隧道,选择免费型,直接点击免费购买 然后点击我的隧道,点击配置 填写以下信息,其它不…