USB协议入门

本文介绍了USB协议的基本概念、USB-OTG、特点、拓扑结构、电气特性、插入检测机制、描述符、枚举过程以及传输类型。USB简化了设备连接,支持即插即用和热拔插,其四种传输类型包括批量传输、同步传输、中断传输和控制传输,适用于不同场景。此外,还详细阐述了USB的包结构和传输过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

USB是什么

  • 说法一:you sb,你是沙雕
  • 说法二:美国USA的弟弟USB
  • 说法三:通用串行总线(universal serial bus)

USB解决什么问题

简化PC与外围设备的连接,增加易用性

因为外围设备是各种各样的,所以的PC有很多种接口,比如早期键盘鼠标的PS/2,9针串口,23针并口,DVI,VGA,RJ45,RJ11,HDMI,SATA,PCIE等等,很多接口还是不支持热拔插的

在比较老的PC中,连接外围设备时,要断电,甚至要打开机箱,而且因为接口的不同,想要支持这些外围设备,主板就得做各种接口出来,非常的麻烦

如果能够实现一种统一的接口,主板上不需要做N种接口就能接入任何外围设备,而且支持热拔插,传输速度也很快,那无疑是帮大忙了

USB是基于此而实现,支持即插即用(plug and play),并且支持热拔插(hot plug)

USB-OTG

由于USB是主从模式,只能由主机发起通信,从机响应,因而两个主机或者两个从机是无法通信的,因此提出了OTG(on to go),同一个设备,在不同场合下,可以在主从之间切换

USB的特点

  • USB1.0和USB1.1版本中,支持低速(1.5Mbps)和全速(12Mbps)
  • USB2.0加入高速模式(480Mbps),高速模式是可选的,不一定所有USB芯片都支持
  • USB3.0(5.0Gbps)

注:bps是每秒多少位

USB的拓扑结构

USB是主从机构,主机叫host,从机叫device
一个主机具有一个或者多个USB主控制器(host controller)和根集线器(root hub)
主控制器负责数据处理,根集线器提供一个连接主控制器与设备的接口和通路
USB集线器(usb hub)对原有的USB口在数量上扩展,但是并不增加带宽,每一个usb集线器下,又可以接入新的USB集线器,因此可以层层拓展,但是总数是有限制的

通常情况下,一个PC具有多个主控制器,每个主控制器下面有一个根集线器,根集线器下通常具有1-N个USB口,如果希望插入的几个USB设备具有较大的传输速度,可以考虑连接到不同的USB主控上

USB的电气特性

标准USB是四线:5V电源VCC,地GND,差分数据线正D+,差分数据线D-
OTG中多一根线(ID),用于身份识别,判断是主还是从

USB2.0的三种传输速度:低速(1.5Mpbs)、全速(12Mpbs)、高速(480Mpbs)

USB数据的编码:NRZI,数据为0时,电平翻转;数据为1时,电平不翻转

位填充:根据上述,可能存在长时间电平不变化的情况,因此数据出现连续6个1时,强制插入一个0后编码发送,在接收端,需要检测并去掉这个0,才能恢复数据

USB的插入检测机制

主机端:D+和D-分别接15K电阻下地,当悬空时保持为低电平
从机端:D+或D-接1.5K电阻上拉,具体接到D+还是D-,由速度决定

全速&高速:D+
低速:D-

因此从机接入到主机后,主机端的集线器能检测到D+或D-的电平出现变化,随后报告给USB主控制器

USB描述符

USB主机如何知道一个设备的功能、行为呢,需要通过描述符实现,描述符中记录了设备的类型、厂商ID、产品ID、端点情况、版本号等众多信息

qualifier descriptor 和 other speed configuration descriptor 以及一些特殊的描述符不做介绍

如果有特殊描述符,它跟在相应接口描述符之后

  • 设备描述符:Device descriptor
    一个USB设备只有一个设备描述符,设备描述符里决定了该设备有多少在种配置,每种配置都对应一个配置描述符
    设备描述符主要记录信息:USB协议版本号、设备类型、端点0的最大包大小、厂商ID、产品ID、设备版本号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值