初学 stm32 的USB 开发

来源:互联网 发布:vs2015编程c语言 编辑:程序博客网 时间:2024/05/20 17:41

根据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连接器                                  


 




0 0
原创粉丝点击