发 帖  
[资料] [实战经验] STM32F767 的 USB 工作在 HOST 模式下的远程唤醒问题
2018-3-27 13:49:13  1644 USB HOST
收藏 0 收藏 推荐 0 推荐
分享
1 前言
本文将针对 STM32F767 的 USB_OTG_FS 模块工作在 Host 模式下的挂起与恢复以及远程唤醒方面的问题进行讨论。


2 问题描述
客户使用 STM32F767 做项目,使用 USB 作为 Host,客户发现 USB 在进入到挂起状态后通过远程唤醒信号并不能将其唤醒。


3 问题分析与解决
经过与客户邮件电话沟通发现用户是通过操作寄存器 OTG_HPRT 的 PSUSP,与 PRE 位来实现 USB 总线的挂起与恢复,发现 USB 总线的挂起与恢复会有问题。

11.png (210.13 KB, 下载次数: 0)下载附件 2 小时前 上传





为了重现客户的现象,通过 STM32CubMX 工具基于 NUCLEO-F767板子上新建一个工程,使 USB 工作在HID HOST 模式下。我们希望 HOST 端主动进入挂起状态后使用另外一块实现了鼠标功能的 STM32F407-DISCOVERY 板子可以发送一个远程唤醒信号来使 USB 总线恢复,从而唤醒 USB 主机。由于当前最新 F7 的 HAL 库(V1.9.0)针对HOST 并没有提供挂起与恢复的接口,于是,我们需要自己来实现以下两个功能,并添加到路径< Drivers\STM32F7xx_HAL_Driver\Src>下面的中。
于是 HOST 端主动进入挂起的代码实现为:代码操作 HPRT 寄存器的 PSUSP 位,使 USB 进入到挂起状态
12.png (49.05 KB, 下载次数: 0)下载附件 2 小时前 上传



  

全文请至STM32中文官网下载:STM32F767的USB工作在HOST模式下的远程唤醒问题


显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发资料
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表