最近调试ST的329板子的USB模块,外接了一个USB Phy,刚好学习了一下这个USB phy 。 SMSC的USB334X 提供了 USB2.0高速传输的物理层的解决方案. 芯片的结构图如下:
OVP:过电保护 ESD Protection:静电保护 OTG: otg 模块 Hi-speed USB Transeiver:高速USB 传输模块 PLL: 振荡电路产生时钟 ULPI Registers : ULPI寄存器和状态机 以及 集成电源管理和ULPI接口 引脚的介绍: ID:接到USB 连接器,作为该引脚为高时作为device,该引脚为低时作为host VBUS:输入,5V电压, 电压来自于USB 连接器 DP:输入输出,USB连接器的D+引脚 ,接到USB 连接器,高速或全速设备该引脚被拉高,DM被拉低。 反之亦然。 DM:输入输出,USB连接器的D-引脚 ,接到USB 连接器 RESET: reset引脚,接到mcu VBAT: 输入3.3-5.0V的电压 CLKOUT:输出60MHZ 的ULPI 时钟 REFCLK:输入60MHZ 的ULPI 时钟 VDD18:输出1.8V的电压 VDD33:输出3.3V的电压 RESETB: 输入,当拉低的时候VDD18和VDD33不输出电压,拉高的时候作为一个正常的ULPI设备 DATA1-DATA7:输入输出,双向数据线,连接到MCU. MCU通过DATA1-DATA7 向PHY STP: 输入,来自于MCU,当总线上有数据发送时该引脚被拉低,当总线上最后一个数据发送结束时被重新拉高 DIR:输出,输出到MCU,控制数据的传输方向,当有数据从PHY输入到link(MCU)时,引脚被拉高。 没有数据的时候或者MCU有数据传到PHY时,被拉低。同时监听总线上来自link的命令 NXT: 输出,控制数据传输,表示当前的数据PHY端已经接收到了。 检测: 1.上电之后检测,VDD33、VDD18有输出,CLKOUT有输出 2.判断高速低速设备,检测 DP、DM的电压 3.判断host、device,检测 ID的引脚电压
|
|