[STM32MP1] STM32 USB唤醒机制

[复制链接]
793|0
 楼主| 我爱台妹mmd 发表于 2024-3-31 01:05 | 显示全部楼层 |阅读模式
USB设备进入挂起状态之后,将由Resume信号进行唤醒。Resume信号可以由USB主机发起,也可以由USB设备本身触发,但是只有USB主机可以结束Resume信号。

1.主机在挂起设备后可通过翻转数据线上的极性并保持20ms来唤醒设备,并以低速EOP信号结尾。

2.如果设备支持远程唤醒,设备可向主机发起远程唤醒请求,前提是设备已进入idle状态至少5ms,设备会驱动总线进入K状态,如下图,K状态必须维持1ms-15ms之内,此信号会在1ms内被主机接管,主机会继续驱动唤醒信号直到20ms,并以低速EOP信号结尾。


89426660836fbee55d.png
3.主机复位设备或者设备对自己强行复位,设备也会从挂起状态切换到默认状态。

STM32 设备被唤醒后,如果唤醒中断使能,则会进入唤醒中断,我们在中断处理函数里面首先要将USB_CNTR寄存器的LP_MODE位置为’0’,退出低功耗模式,然后清除USB_CNTR寄存器的FSUSP位,退出强制挂起操作。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

648

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部