1. 高速USB OTG控制器架构解析
在嵌入式系统设计中,USB OTG(On-The-Go)技术实现了设备角色的动态切换,使单一设备既能作为主机控制其他外设,也能作为从设备被其他主机控制。TI OMAP35xx系列处理器集成的Mentor Graphics MUSBMHDRC控制器IP,完整支持USB 2.0高速(480Mbps)、全速(12Mbps)和低速(1.5Mbps)三种传输速率。
1.1 核心功能特性
该控制器采用双角色设备(DRD)架构,具有以下技术特性:
- 支持USB 2.0 OTG Supplement Rev1.0a规范要求的全部协议,包括主机协商协议(HNP)和会话请求协议(SRP)
- 提供15个双向端点(除控制端点0外),每个端点配备独立FIFO
- 内置16KB SRAM用于数据缓冲,支持动态分配机制
- 集成8通道DMA控制器,支持突发传输模式
- 通过ULPI接口连接外部PHY芯片,引脚数精简至12线(8位数据总线+4控制线)
关键设计细节:ULPI接口采用60MHz同步时钟,数据在上升沿采样。PHY芯片负责完成USB差分信号的编解码,控制器通过DIR/NXT/STP三线握手协议实现总线控制权切换。
1.2 电源管理机制
1.2.1 时钟域划分
- 功能时钟域:60MHz USBHS_FCLK由外部PHY提供,负责USB协议处理
- 主接口时钟域:USBHS_MICLK连接L3总线,频率通过PRCM模块配置
- 从接口时钟域:USBHS_SICLK连接L4配置总线
c复制// 典型时钟配置示例(OMAP35xx PRCM寄存器)
CM_ICLKEN1_CORE[4] = 1; // 使能主接口时钟
CM_AUTOIDLE1_CORE[4] = 1; // 启用自动空闲控制
1.2.2 低功耗模式
控制器支持三级功耗状态:
- 运行模式:全功能工作状态
- 待机模式(Smart-Standby):
- 通过OTG_SYSCONFIG[13:12]配置
- 触发条件:总线空闲3ms产生SUSPEND中断
- 退出方式:远程唤醒或寄存器访问
- 强制休眠模式(Force-Standby
