USB通讯基础入门概述
USB系统组成
USB系统主要包括USB主机和USB设备两种设备。
USB主机:提供USB接口和接口管理功能的硬件、软件、固件的复合体。PC机或OTG设备,一个USB系统只能有一个主机.USB主机提的硬件主要包括USB主控制器和USB根集线器。
USB设备:1.集线器HUB:扩展主机接口,设备可以通过其接入主机 2.功能设备,如U盘,USB摄像头,HID键盘鼠标等。
物理连接:即USB电缆,USB使用差分信号传输数据,USB全速/高速模式电缆必须外层屏蔽铜质传输线,且差分数据线双绞。一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+、D-是差分输入线,使用的是3.3V电压,而电源线与地线可向设备提供5V电压,最大电流500mA。
USB拓扑结构
USB的物理拓扑结构是一种叫做菊花链的方式。
每个USB系统只允许有一个HOST(主机)。允许的最大层数为7层(包含主机);每层的电缆最大长度为5米,电缆总长度为30米;每层最大允许接5个DEVICE(设备);
这里的每个系统是一根USB主控制器,也是一个USB根集线器,即一条USB总线。PC中可以有多块USB主控制器,所以也会有多根USB总本。
USB系统程序
- 应用程序:应用程序运行与USB设备所连接的主机上。部分应用程序会由操作系统的主机提供,大部分应用程序由USB设备供应商提供。
- 驱动程序:驱动程序服务于特定的操作系统,为USB设备提供支持。驱动程序通常由操作系统提供,独立于特定的应用程序和USB设备。
- 主机端控制程序:包括硬件和软件,使USB设备能够被主机识别。
USB速度选择
这里主要介绍USB2.0的速度选择。
USB全速模式
USB全速模式是在D+线上上拉1.5K的电阻。
USB低速模式
USB低速模式是在D-线上上拉1.5K的电阻。
USB信号描述
差分信号:
1: D+ > Voh(2.8V) and D- < Vol(0.3V)
0:D- > Voh and D+ < Vol
J状态:
Low Speed :Differential(差分信号) 0
Full Speed :Differential(差分信号) 1
K状态:
Low Speed :Differential(差分信号) 1
Full Speed :Differential(差分信号) 0
USB协议分层
USB在逻辑上被分为三层:信号层、协议层、数据传输层。
设备速度的检测
USB信号的编码
USB中的数据采用反向不归零编码方式(NRZI:none-return to zero inverted),并对D+和D-线所处的不同状态定义成J和K两种状态。
数据状态 | D+ | D- |
---|---|---|
低速J状态 | 0 | 1 |
低速K状态 | 1 | 0 |
数据的编码/解码(反向不归零码)
说明:遇到0的边沿进行状态改变,如果是1保持原有状态
注:在数据进行NRZI编码前,每6个连续的1信号之后都会插入一个0信号,以免丢失同步。
USB 协议层
包是USB系统中信息传输的基本单位,所有的数据都是经过打包后再总线上传输的。
每个包由6部分组成:同步字段(SYNC)、包标识符(PID)、地址字段(ADDR)、数据字段(DATA,包括帧号)、检验字段(CRC)、包结束(EOP)。