分享一个OTG硬件检测电路

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

OTG接口和转换器可以在USB传输中实现“即插即用”的功能。OTG接口能够自动识别开发板的角色,并在USB主机和设备之间切换。常见的OTG接口形式有Micro USB和Type C。Micro USB有5个引脚,包括VBUS、DM、DP、ID和GND。Type C有两组相同的信号。开发板上的OTG接口电路需要检测ID引脚(或Type C的CC1、CC2引脚),并引入主控芯片来设置USB控制器的角色(主机或设备)。VBUS输出功率由ID引脚(或CC1、CC2引脚)自动确定,或者通过添加专用芯片来确定。

🔎

延伸解读

OTG角色切换的硬件逻辑

OTG接口通过ID引脚(Micro USB)或CC引脚(Type C)的电平状态来识别开发板应作为主机还是设备。当ID被上拉电阻拉高时,开发板作为USB设备;当ID被拉低时,则作为USB主机。这种自动切换机制依赖于硬件电路检测,无需软件手动干预,实现了即插即用。

Micro USB与Type C的电路差异

Micro USB使用ID引脚判断角色,而Type C则通过CC1和CC2引脚实现类似功能,并支持正反插。在USB2.0应用中,两者电路原理相似,但Type C需要处理两组信号。若需兼容USB3.0,Type C必须加入专用芯片来检测CC状态并管理供电,电路更复杂。

VBUS供电的自动控制

开发板作为主机时需对外供电,这由ID或CC引脚状态自动决定。以Micro USB为例,当ID为低电平时,电路使能电源芯片输出VBUS;ID为高电平时则关闭输出。Type C精简电路通过CC引脚连接电阻到地实现类似控制,而USB3.0方案则依赖专用芯片通过I2C与主控通信。

❓

Q&A

OTG接口在开发板上有什么作用?

OTG接口可以让开发板自动识别角色,并在USB主机(Host)和USB设备(Device)之间切换,实现即插即用功能。

Micro USB OTG接口的ID引脚是如何工作的?

ID引脚用于分辨角色:当ID引脚被上拉电阻拉高时,开发板作为USB设备;当ID引脚被拉低时,开发板作为USB主机。

Type C OTG接口如何检测设备角色?

Type C接口通过CC1和CC2引脚检测角色:当CC1和CC2被上拉电阻拉高时,开发板作为USB设备;当CC引脚连接5.1K欧姆电阻到GND时,开发板作为USB主机。

OTG接口电路如何控制VBUS电源输出?

VBUS电源输出由ID引脚(或CC1、CC2引脚)决定:当ID引脚低电平时,硬件电路使能供电芯片,对外输出VBUS;当ID引脚高电平时,不输出VBUS。

Micro USB和Type C OTG电路在实现上有什么主要区别?

Micro USB使用ID引脚检测角色,而Type C使用CC1、CC2引脚。Type C支持正反插,且在不兼容USB 3.0时电路原理相似,但兼容USB 3.0时需要专用芯片。

如果要兼容USB 3.0协议,OTG电路需要做哪些改动?

需要加入专用芯片,专用芯片检测CC1、CC2状态后,通过中断和I2C通知主控,主控再控制供电引脚。

🏷️

标签

➡️

继续阅读