OTG 硬件检测电路

电子工程专辑 电子工程专辑
OTG是"On The Go"的英文缩写,可以理解为“安上即可用”。USB传输是主从结构,一切USB传输都由Host发起。 在开发板上可以插入U盘,这时开发板作为USB Host。

1.OTG接口与转换器

OTG是"On The Go"的英文缩写,可以理解为“安上即可用”。USB传输是主从结构,一切USB传输都由Host发起。

在开发板上可以插入U盘,这时开发板作为USB Host。

开发板要跟PC通信,开发板就要作为USB Device。

开发板要作为USB Host、USB Device两种角色,可以使用OTG插口:它可以根据硬件电路自动识别自己的角色,切换为USB Host或USB Deivce。

OTG插口有多种形态,常用的有Micro USB、Type C

1.1 Micro USB

对于Micro USB插座,它有5条引脚:

引脚作用如下表所示:

开发板作为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接口需要实现两个功能:

检测ID引脚(使用Type C接口的话是CC1、CC2引脚),引入主控芯片:软件根据它设置USB控制器的角色(Host或Device)

根据ID引脚(或者CC1、CC2)决定VBUS是否输出电源:硬件电路自动实现,或者加入专用芯片

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将信息报给主控,主控再控制供电引脚:

请扫码关注数字化经济观察网
责编:高蝶
参与评论
文明上网,理性发言!请遵守新闻评论服务协议
0/200