以下摘自维基百科:
USB在速度上远比并行端口(例如EPP、LPT)与串行接口(例如RS-232)等传统电脑用标准总线快上许多。USB 1.1的最大传输带宽为12Mbps,USB 2.0的最大传输带宽为480Mbps。USB 3.0为5Gbps。
USB的设计为非对称式的,它由一个主机控制器和若干通过集线器设备以树形连接的设备组成。一个控制器下最多可以有5级Hub,包括Hub在内,最多可以连接128个设备,因为在设计时是使用7位寻址字段,二的七次方就等于128,一般人说USB连接127个是指连接(某一设备)时需扣除一个连接主机的USB接头,而一台计算机可以同时有多个控制器。和SPI-SCSI等标准不同,USB集线器不需要终结器。
目前USB支持4种数据信号速率:
1.5 Mbps 的低速速率。主要用于人机接口设备,例如键盘、鼠标、游戏杆等等。
12 Mbps 的全速速率。 在USB 2.0之前是曾经是最高速率
480 Mbps 的高速速率。并非所有的USB 2.0设备都是高速的。高速设备插入全速连接端口时应该与全速兼容。而高速连接端口具有所谓事务翻译器(Transaction Translator)功能,能够隔离全速、低速设备与高速之间数据流,但是不会影响供电和串联深度。
5Gbps 的超高速速率。相较于现有USB 2.0的480Mbps最高理论速度,USB 3.0可支持到5.0Gbps,是USB 2.0的10倍。若将USB 3.0应用到外接硬盘、U盘或蓝光刻录机等存储设备,将可大幅缩短数据传输时间
上面就是基础知识
下面就是三个协议,
ADP(但是这个协议在stm32中没有提到)Attach Detection Protocol
USB主从设备或USB OTG设备,如何知道USB总线上有没有挂接其它USB设备呢?USB设备会周期性地检测USB端口的电容值,如果USB端口电容值变化足够大,大到可以 确定有新的USB设备接入了,那么USB A型设备会为USB总线提供电源,并检测设备连接;而USB B型设备则发起一个会话请求(SRP),并等待A型设备的响应。
HNP Host Negotiation Protocol
SRP Session Request Protoco