USB介绍
通用串行总线(Universal Serial BUS ,USB)是一种外部总线接口标准,用于规范系统与外部设备的连接与通信,是嵌入式应用领域最常用的总线接口之一。 USB总线接口支持设备的即插即用和热插拔功能。
USB总线通信采用主从方式,它有一个主机,负责管理所有USB设备的连接与删除,发起与USB设备的通信等。
一般情况下嵌入式系统或者PC为USB主机,U盘,照相机等为USB设备,它们在主机控制之下完成基于USB总线的数据传输操作。而USB OTG的作用是可以摆脱主机,直接在具有OTG的USB总线上完成点对点通信,实现在没有主机的控制的情况下从设备之间直接进行数据传输。
USB的主要特点
- 使用方便:一个端口可以连接多个不同的设备,支持热拔插。
- 速度快:
USB | 速度 |
---|---|
USB2.0 | 480Mb/s |
USB3.0 | 5Gb/s 即640Mb/s |
- 连接灵活:连接方式既可以使用串行连接,也可以使用USB集线器把多个USB设备连接在一起;理论上可以连接127个USB设备。每个外设线缆长度可以达5m。USB能智能识别USB链上外围设备的接入或拆卸。
- 独立供电:USB接口提供了内置电源。USB电源能向低压设备提供5V的电源,提供500mA(USB3.0提供900mA)电流。
USB硬软件组成
硬件
USB硬件中的USB主控制器包括一个根集线器,它提供一个或者多个USB下行端口,每个端口可以连接一个USB集线器或者一个USB设备。使一个USB端口可以扩展为多个端口。最多支持127个端口。
软件
USB软件主要是相关的驱动程序,包括USB设备驱动程序,USB驱动程序以及USB主控制器程序。
USB设备驱动程序通过1/0请求包(IRPs) 将请求发送给USB设备。这些IRPs初的机个给定的传输,这个传输或者来自于一个USB设备,或者是发送到USB设备。
USB驱动程序在设备设置时读取描述器以获取USB设备的特征,并根据这此特征在请求发生时组织数据传输。根据操作系统环境的不同,USB 驱动程序可以捆绑在操作系统中也可以以可安装的设备驱动程序形式加人到操作系统中。
主控制器驱动程序完成对USB交换的调度,并通过根Hob或其他Hub完成对交换的初始化
USB信号编码方式
USB采用翻转不归零制编码方式对数据进行编码。
电平保持时传送逻辑1,电平翻转时传送逻辑0
USB总线的接口信号
标准USB引脚
1脚 | 2脚 | 3脚 | 4脚 |
---|---|---|---|
VBUS | D- | D+ | GND |
5V电源 | 数据- | 数据+ | 地 |
MiniUSB引脚
1脚 | 2脚 | 3脚 | 4脚 | 5脚 |
---|---|---|---|---|
VBUS | D- | D+ | ID | GND |
5V电源 | 数据- | 数据+ | 标识 | 地 |