OTG_IP详解:USB设备模式与状态控制

需积分: 10 4 下载量 148 浏览量 更新于2024-07-18 收藏 744KB PDF 举报
OTG (On-The-Go) IP是USB(通用串行总线)协议中的一个重要组成部分,它允许设备在不同角色之间灵活切换,既能充当USB主控器(A-side)也能作为USB设备(B-side)。本文将详细介绍OTG模块在USB设备模式下的工作原理和行为。 首先,OTG模块有四种主要的情形: 1. **OTGB设备**:当OTGB器件连接B-side电缆时,其默认状态为USB设备,检测到Vbus有效电压后,模块自动启用D+上的上拉电阻,表明设备已连接并发出会话请求中断。 2. **OTGA设备**:当OTGA器件连接A-side电缆并通过HNP(Host Negotiation Protocol)协商后,会转变为USB设备,接收SET_ADDRESS命令并更新设备配置。 3. **B器件**:连接B-side,HNPCAP位被清零,保持原有角色不变,仅作为USB设备。FDMOD置位后,强制设备进入“device-only”模式,此时对ID信号不敏感。 4. **仅作为USB设备**:在某些情况下,如FDMOD=1,即使没有ID信号,模块也会强制为USB设备,PA9监测Vbus供电状态。 在USB设备状态下,OTG模块关注的关键功能包括: - **供电状态**:模块依赖Vbus检测电力供应,当检测到Vbus有效时进入供电状态,提供上拉以通知主机设备已连接。 - **复位处理**:在收到USB复位信号后,模块会产生USBRST中断,随后进行枚举过程,期待SET_ADDRESS命令。 - **软断开状态**:通过SDIS@OTG_FS_DCTL控制上拉电阻的移除,即使物理连接仍在,主机也会触发设备断开中断。 - **挂起状态**:检测到3ms空闲后进入挂起状态,通过ESUSP和USBSUSP中断确认,SUSPSTS位被置位。 此外,OTG模块还具有电源转换、数据线管理(DM/DP)、接口信号管理以及电源监控等功能。PA9用于检测Vbus供电,当NOVBUSSENS=1时,可作为通用I/O口。F2/F4作为5V到VDD的电源转换器,确保USB设备模块的正常运行。 OTG IP是USB设备设计中的关键模块,它实现了设备的双向通信能力,使得设备可以根据需要在主机和设备角色之间切换,提高了系统的灵活性和兼容性。了解这些细节有助于在实际应用中正确配置和管理OTG功能。