第二章 USB应用笔记之USB主设备和从设备
文章目录
- 第二章 USB应用笔记之USB主设备和从设备
- 1.连接 > 2.主机枚举USB设备 > 3.有效数据传输,功能控制
- 1.连接检测
- USB系统主要包括USB主机和USB设备两种设备。
- USB拓扑结构
- USB连接检测
- 全速D+上拉1.5K电阻(高速:D+上拉1.5K电阻,握手协议)
- 低速D-上拉1.5K电阻
- 高速:握手协议
- 集线器状态
- 2.枚举过程,枚举的作用
- 总体流程:
- 3.控制传输
- 控制传输的特点:
- 控制传输分为三个过程
- 总结
1.连接 > 2.主机枚举USB设备 > 3.有效数据传输,功能控制
1.连接检测
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。(USB1.1和USB2.0;USB3.0不同)
USB拓扑结构
每个USB系统只允许有一个HOST(主机)。允许的最大层数为7层(包含主机);每层的电缆最大长度为5米,电缆总长度为30米;每层最大允许接5个DEVICE(设备);
一个USB HOST最多可以同时支持128个地址,地址0作为默认地址,只在设备枚举期间临时使用,而不能被分配给任何一个设备,因此一个USB
HOST最多可以同时支持127个地址,如果一个设备只占用一个地址,那么可最多支持127个USB设备。在实际的USB体系中,如果要连接127个USB设备,必须要使用USB
HUB
USB连接检测
1.对于低速设备,在DM引脚上拉1.5K。
2.对于全速设备,在DP引脚上拉1.5K。
3.对于高速设备速度检测,则需要握手协议。
全速D+上拉1.5K电阻(高速:D+上拉1.5K电阻,握手协议)
低速D-上拉1.5K电阻
高速:握手协议
- USB主机检测到全速设备,即:DP引脚上拉1.5K。
- USB主机复位总线,即向总线发送SE0,此SE0持续时间不得小于2.5us。
高速设备检测到SE0持续时间不小于2.5us后,向总线发送Chirp K信号,此Chirp信号持续时间不小于1ms且不大于7ms。 - 总线回复到SE0状态。如果USB主机支持高速模式,则必须在Chipr K信号结束后100us内做出响应。
- USB主机在Chipr K信号结束后100us内做出响应,向总线发送连续的Chirp K/J对,每个Chirp K信号或Chirp
J信号的宽度不小于40us且不大于60us,每2个相邻的Chirp K和Chirp J信号之间的间隔不应大于2.5us。 - 高速设备在检测到连续的最少3对Chirp
K/J对后,在500us内必须断开DP上的上拉电阻,并连接D+和D-上的对地高速端接电阻,完成高速握手,进入高速传输模式。
集线器状态
集线器有一个状态改变端点,用于将它的下游端口的变化告诉主机。如果下在的任何状态改变,将设置一个端口中变化位:设备连接、端口使能、挂起、过流指示、复位和加电。
主机每255ms查询USB集线器让其报告其各个下游设备的状态,如果什么也没有尽管变,集线器简单返回NAK.
状态的改变包括:设备连接,端口使能,挂起,过流指示,复位,加电和拨出等。
2.枚举过程,枚举的作用
枚举的作用就是从设备是那个读取一些信息,知道设备是什么样的设备,然后通信,这样主机就可以根据这些信息安装合适的驱动程序。
总体流程:
USB协议定义了设备的6种状态,仅在枚举过程种,设备就经历了4个状态的迁移:上电状态(Powered),默认状态(Default),地址状态(Address)和配置状态(Configured)(其他两种是连接状态和挂起状态(Suspend))
USB设备枚举一般会经过插入、供电、初始化、分配地址,配置,获取设备描述符、获取配置描述符、获取字符串描述符和配置设备这么几个过程。
设备信息描述符以集合分方式发送(传输方式:控制传输)
设备描述符组成:
总结:
3.控制传输
控制传输的特点:
- 高速模式的最大包长固定为64个字节;
- 全速模式可在8、16、32、64字节中选择;
- 低速模式的最大包长固定为8个字节。
- 超高速USB3.0控制端点有固定的最大控制传输的数据有效载荷为 512 字节,最大突发大小为 1.
- 控制传输的应用场合:主要应用于设备的枚举过程(如读取设备描述符,设置地址,设置配置等)和对数据准确性要求较高的场合。
控制传输最大包长度:
控制传输分为三个过程
- 建立过程{ 令牌包}
- 数据过程(可选){数据包}
- 状态过程{ 握手包}
主机给设备把一推数据发送完毕了(OUT事务),主机肯定要请求一个IN事务;/ 同样的,设备把数据发送给主机(IN事务),主机肯定要发起一个OUT事务请求
USB中文网
《USB技术应用与开发》