
USB OTG主机模式详解:OTG_IP与供电管理
下载需积分: 10 | 782KB |
更新于2024-07-18
| 16 浏览量 | 举报
收藏
"本文主要介绍了OTG_IP在USB中的应用,包括OTG模块作为USB主机的四种情况,以及OTG_FS模块作为'hostonly'连接的特性。内容涉及OTG_A和OTG_B器件的角色切换,USB主机的不同状态,以及在不同情况下的电源管理与中断处理机制。"
在USB OTG (On-The-Go)技术中,OTG模块能够充当USB主机或设备,实现了设备之间的双向通信。OTG_IP的介绍分为三部分,这里主要关注其作为USB主机的功能:
1. **OTGA主机** - 当OTG器件连接了A-side电缆时,它会默认作为主机,此时需要提供5V电压。
2. **OTGB主机** - OTGB器件原本是设备角色,但在执行Host Negotiation Protocol (HNP)后,可以切换到主机角色。
3. **A器件** - 连接A-side电缆,且HNPCAP位被清零,固定为主机角色,不考虑ID信号,同样需要提供5V电压。
4. **仅作为USB主机** - FHMOD被置位,强制设备始终处于主机状态,ID信号被忽略,5V供电也是必要的。
OTG_FS模块作为"hostonly"连接时,由于芯片不支持内部5V输出,需依赖外部电源。GPIO用于控制电压输出和检测过流,PA9引脚用于监测VBUS供电。在HNP和SRP(Session Request Protocol)启用时,PA9必须连接到Vbus以监控电压;否则,当NOVBUSSENS设置时,PA9可作为普通GPIO使用,假设VBUS始终有效。
USB主机的工作状态涉及到多种中断情况:
- **给端口供电** - 通过GPIO控制外部chargepump供电,并设置OTG_FS_HPRT中的PPWR位。
- **取消Vbus供电** - 清除PPWR位以断开供电。
- **有效总线电压** - 当Vbus电压低于4.25V时,SEDET@GOTGINT中断会被触发,应用程序需要关闭Vbus并清除PPWR。
- **设备断开和连接** - 设备断开时,HPRTINT@GINTSTS和DISCINT@GINTSTS中断将触发,软件需要通过查询HPRT来确定具体事件(如PCDET@HPRT),并相应地处理电源和通信状态。
在HNP和SRP未启用时,PA9可以作为GPIO,过流检测可以通过任何空闲的GPIO完成,同样需要关闭Vbus和清除PPWR。
OTG_IP在USB应用中扮演着灵活的角色,能够根据连接的电缆类型和协议进行角色切换,并对电源管理和中断响应有严格的要求,以确保USB设备间的可靠通讯。
相关推荐

















yuantian2987
- 粉丝: 11
最新资源
- Jekyll-theme-console主题演示站点深入解析
- 实时ACID价格行情-chrome扩展程序发布
- 提升开源贡献体验:Open Source Contribution Trigger扩展
- Go语言RESTful API开发与部署实践指南
- 推出最新响应式披萨外卖网站模板
- MD5支持的随机密码生成器-crx扩展
- GitHub Notifications-chrome扩展程序深入体验
- 食品卡车原件创新及学习成果分享
- Altyes-crx插件:轻松分享与货币化社交经历
- CliteHD桌面共享插件:Chrome扩展程序实现会议屏幕分享
- AGV智能调度系统方案及算法研究
- MeetHub-crx: 提升远程团队协作的Google Meet扩展
- Deface-crx插件:网络页面恶搞新体验
- Java开发的Hello World Rest API Docker部署教程
- 使用FlowCrypt插件实现Gmail邮件与附件端到端加密
- Udemy Docker课程最终项目:email-worker-compose解析
- Android开发实战:MVVM与Dagger-2框架的结合应用
- 命令行工具read-me-generator:自动生成自述文件
- 2013力硕产品手册深度解析及技术资料下载
- 提升Gmail沟通质量:'Just Not Sorry' Chrome扩展插件
- 基于Bootstrap的Python管理模板数据网站部署教程
- 优化Android文件传输:ADB协议的创新应用
- Blarify-crx:为关闭评论的网站重新打开评论空间
- 手机游戏资讯门户网站模板设计与开发