1. 概述
Usb = Universal Serial Bus全称通用串行总线,是一种支持热插拔的高速串行传输总线,使用差分信号来传输数据。
USB设备可以直接和host通信,或者通过hub和host通信。一个USB系统中仅有一个USB主机,设备包括功能设备和hub,最多支持127个设备。
由于USB是主从模式的结构,设备与设备之间、主机与主机之间不能互连,为解决这个问题,扩大USB的应用范围,出现了USB OTG,全拼 ON The Go。USB OTG 同一个设备,在不同的场合下可行在主机和从机之间切换。
USB协议版本有USB1.0、USB1.1、USB2.0、USB3.1等。
速度模式:
USB1.0低速模式:1 .5Mb/s
USB1.1全速模式:12Mb/s
USB2.0 高速模式:480Mb/s 500mA
USB3.0 超高速模式: 5.0Gb/s 实际3.2Gb/s 900mA
USB3.1 超超高速模式:10Gb/s实际7.2Gb/s 20V/2A-仅限于Type-A/B 12V/3A-Type-C
USB1.1 OTG USB2.0 OTG:作为相应的补充,支持点对点通信。
供电模式:
自供电:设备从外部电源获取工作电压。
总线供电:设备从VBUS(5V) 取电,最多500mA电流,本身容值不超过10uF;
低功耗USB设备:最大功耗不超过100mA;
高功耗USB设备:枚举时最大功耗不超过100mA,枚举完成配置结束后功耗不超过500mA。
(枚举过程中,通过设备的配置描述向主机报告它的供电模式和功耗要求)
优点:传输速度快,支持热插拔,系统总线供电,支持设备种类多,扩展容易;
缺点:传输距离短,供电能力有限。
2. 硬件结构
USB使用的是差分传输模式,两个数据线D+和D-;他们使用的是3.3V电压(与CMOS的5V电压不同)而电源线和地线可以向设备提供最大电流500mA(可以编程设置)
差分信号1:D+ > VOH(min) (2.8V) 且D- < VOL(max)(0.3V)
差分信号0:D- > VOH and D+ < VOL
USB2.0与USB3.0差别:
USB2.0速度没USB3.0快;
USB2.0通常是白色或黑色,USB3.0为蓝色;
USB2.0是500mA,USB3.0为900mA;USB3.1为20V/5A;
J状态(高电平):D+ 高,D- 低
K状态(低电平):D+低,D- 高
SEO状态:D+ 低,D- 高
Reset信号:D+ and D- < VOL for >= 10ms
主机在要和设备通信之前会发送Reset信号来把设备设置到默认的未配置状态。即主机拉低两根信号线(SE0状态)并保持10ms
Idle状态:J状态数据发、送前后总线的状态
Suspend状态:3ms以上的J状态
3. 传输结构
集合关系:传输类型 -> 事务 -> 包 -> 域
传输类型: 控制、中断、同步、批量
事务: IN、OUT、SETUP
包: 令牌包、数据包、握手包
域: 同步序列域、包标识域、地址域、端点域、帧号域、数据域、CRC校验域
注意:
USB的基本数据结构是包;
USB总线发送是LSB在前,MSB在后。
4. 拓扑结构
Usb主控制器:对丛机设备的控制和数据处理
Usb根集线器:是特殊的usb集线器,集成在主机控制器中,不占用地址;
Usb集线器:可以扩展出更多的USB口。
一个主控制器对应一个根集线器,而一个根集线器通常对应一个或者几个USB口,比如电脑主机上有7个主控制器和7个根集线器,
5. 速度检测
- 全速和低速的识别
主机的hub端的D+和D-上分别接了15k的下拉电阻到地,当主机hub悬空时,主机hub端均为低电平;
usb设备端的D+或者D-上接有1.5k上拉电阻,低速设备的上拉电阻接到D-上,高速和全速设备的上拉电阻接到D+上,当设备插入主机时,根据数据线的电平高低识别速度。
- 高速设备识别
usb高速设备的D+上接有1.5k的上拉电阻,当设备插入主机时,首先被识别为全速设备。之后,hub和设备需要通过“Chirp序列”的总线握手机制来识别高速和全速设备。整个过程中,高速的hub需要检测插入的设备是高速、全速还是低速,高速的设备需要检测所连接上的hub是都支持高速模式,如果双方都确认成功,就进行以系列的动作,设备从全速切换到高速模式,高速模式下,采用电流传输模式,设备需要将上拉电阻断开。否则,设备以全速模式工作;
6. HSIC
HSIC—USB High Speed Inter-Chip
是一个两线源同步的串行接口,使用240MHz双倍数据速率产生480MHz的高速速率,和传统的USB电缆连接拓扑结构的主机完全兼容。不支持中速和低速USB转换。
480MHz高速数据速率;
源同步串行接口,不传输时不耗电;
不支持热插拔,线路长度10cm;
信号驱动在1.2V标准LVCMOS水平;
不支持高速线性调频协议,HSIC只能工作在高速状态;
HSIC可以替换IIC;
常用于3G和4G模块中。
7. Type-C
- 接口特点
支持正反插;
支持最高20V5A的电源能力,支持快充;
支持USB3.0 USB3.1协议,同时向下兼容USB2.0协议;
多功能:传输电源和数据外,还可以传输音视频;
- 管脚定义
插座(front view)
插头(front view)
VBUS:电源
TXn+/TXn-/RXn+/RXn-:USB3.0/3.1高速数据线;
D+/D-:USB2.0数据线;
CC:逻辑功能识别及配置管脚,用来检测正反插以及充电功率控制。
Type-C作为DFP模式时(类似HOST或适配器)VBUS输出默认是没有电压的,只通过CC线的上拉电流大小来通知外设默认支持电流大小(5V:900mA,1.5A,3A),当接上外设后(UFP)CC线会被外设的5.1K电阻接地,VBUS就会输出5V。此后双方可以通过CC线进行数据通信,并协商到更高的充电电压(PD功能)。
VCONN:如果使用Active Cable(譬如DP功能),VCONN用来给Cable的芯片供电(共用CC管脚);
SBU1/2:辅助信号,DP模式下的AUX协议信号;
备注:
DFP:Downstream Facing Port 下行端口可理解为Host,提供VBUS,也可提供数据。
UFP:Upstream Facing Port 上行端口可理解为Device,从VBUS中取电,并可提供数据。
DRP:Dual Role port双角色端口既可做DFP(Host),也可做UFP(Device),也可在DFP与UFP间动态切换。
8. USB芯片种类
接口芯片:通用USB接口芯片 Usb interface chip
USB 主控制器:USB HOST功能芯片 Usb host chip
USB微控制器:带USB接口MCU usb with mcu
并口桥:USB转并口芯片 Usb to parallel bridge 8bit 16bit 32bit
串口桥:USB转串口芯片 Usb to serial bridge IIC、SPI或者UART
音频控制器: Usb Audio Controller IIS接口
HUB控制器:USB HUB USB HUB Controller
USB-USB桥:通过USB实现PC互连USB to USB bridge
闪盘控制器:Usb flash controller
读卡器:智能卡设备类 Usb smart card