根据stm32官方的培训资料 汇总:
USB 大概分为三类:
采用拓扑式结构 :类似一个金字塔式的机构
总线上最多连接127个设备
HUB(集线器)串联最多5个
线缆长度最长5米
主要 逻辑部件 有 主机 设备 接口 端点
主机 就是PC了,当然不是还有一种叫做ON-THE-GO的,可以使从机作为主机,设备就是类似的鼠标 键盘之类的,一个设备可以有还几个接口用来描述特点功能,
对应的,一个接口可以有很多的端点,这是作为传输的最终对象,有端点号,传输类型,传输方向,最大包长等等 特性
接下来是USB的供电方式 :(在设备枚举期间,设备会高速主机它的电源配置,(自供电 或者总线供电,在设备描述符里还有功率消耗的配置))
一种 自供电
一种总线供电 且只有对总线供电的设备而言 才有高低功耗之分,低功耗:最大电流不超过100mA,高功耗:在总线枚举期间 最大电流100MA,在配置之后为500mA
设备描述符:就是描述设备是什么,还不太懂
USB 挂起模式 针对设备而言,当总线处于空闲模式>3ms时,此时,如果设备是总线供电的话,则从总线获取的电流不得超过2.5mA。主机为了防止设备进入挂起模式,通过发行SOF(Start Of Frame)或者 Keep Alive for LS 低速设备
对于高速设备 SOF被发送 每微帧 125us +/- 65ns
全速设备 每帧 1ms +/- 500ns
低速设备 Keep Alive (End of Packet) 被发送每帧 1mS 这还是在忽略 低速数据的情况下 ( in absence of low-speed data)
退出挂起模式 可以由主机 发送恢复信号 ( resume signaling) 或者从机发送 远程唤醒 (remote wakeup signaling)
USB连接器