天天热推荐:OTG硬件检测电路

面包芯语   2023-07-05 06:34:56

开发板作为 USB Device 时,跟 PC 上的 USB 相连,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以开发板的 ID 引脚跟 PC 的 USB 口并无连接,它被板子上的上拉电阻拉高。

开发板作为 USB Host 时,需要接入一个"OTG 转换器",再连接 U 盘。如下图黑色的转换器:


(资料图片仅供参考)

OTG 转换器的内部电路很简单,就是把 ID 引脚拉低:

这个转换器插入开发板的 OTG 口之后,OTG 口上的 ID 引脚就被拉低,软件把开发板转换为 USB Host。

1.2 Type C

Type C 插座里面有两组完全一样的信号,Type C 数据线无论正插、反插,都可以使用:

Type C 插座有如下信号,在USB2.0 协议里我们只关心红框里的信号:

开发板作为 USB Device 时,跟 PC 上的 USB 相连,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以开发板的 CC1、CC2 引脚跟 PC 的 USB 口并无连接,它被板子上的上拉电阻拉高。

开发板作为 USB Host 时,需要接入一个"OTG 转换器",如下图黑色的转换器:

如果不考虑兼容 USB 3.0 协议,上述转换器的电路图很简单,把Type C 插头里面的 CC 引脚连接 5.1K 欧姆电阻到 GND 即可。如下图所示:

2. OTG 接口电路

开发板上的 OTG 接口需要实现两个功能:

2.1 Micro USB

当 USB_OTG1_ID 高电平时,说明 ID 引脚被板子的上拉电阻拉高,没有被拉低。这时候 AO3416 导通,EN 引脚不使能。这样 SY6280AAAC 就不会对外供电,USB_OTG1_VBUS 就没有电压。

当 USB_OTG1_ID 低电平时,说明 ID 引脚被拉低,这时候 AO3416 截至,EN 引脚使能,SY6280AAAC 对外供电,USB_OTG1_VBUS 有电压,开发板作为 USB Host 对外供电。

2.2 Type C

如果不考虑兼容 USB 3.0 协议,可以使用如下精简电路:CC1、CC2 作为 ID 引脚。原理和上图类似。

如果要兼容 USB 3.0 协议,则需要加入专用的芯片,专用芯片检测到 CC1、CC2 状态后,发中断给主控,并通过 I2C 将信息报给主控,主控再控制供电引脚:

参考:

相关资讯
最新资讯