OTG硬件检测电路

OTG硬件检测电路



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条引脚:

在这里插入图片描述

引脚作用如下表所示:

引脚名作用
VBUS作为Host时,对外供电
作为Device时,接收外部输入的电源
DM数据信号
DP数据信号
ID分辨自己角色的引脚:
1:作为Device
0:作为Host
GND地线

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

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

在这里插入图片描述

参考:OTG转换器的内部电路很简单
在这里插入图片描述

这个转换器插入开发板的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即可。如下图所示(参考:typec接口的otg线自制教程分享):

在这里插入图片描述

2. OTG接口电路

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

  • 检测ID引脚(使用Type C接口的话是CC1、CC2引脚),引入主控芯片:软件根据它设置USB控制器的角色(Host或Device)
  • 根据ID引脚(或者CC1、CC2)决定VBUS是否输出电源:硬件电路自动实现

2.1 Micro USB

在这里插入图片描述

2.2 Type C

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

在这里插入图片描述

如果要兼容USB 3.0协议,则需要加入专用的芯片:

在这里插入图片描述


致谢

以上笔记源自韦东山老师的视频课程,感谢韦老师,韦老师是嵌入式培训界一股清流,为嵌入式linux开发点起的星星之火,也愿韦老师桃李满园。聚是一团火,散是满天星!

在这样一个速食的时代,坚持做自己,慢下来,潜心琢磨,心怀敬畏,领悟知识,才能向下扎到根,向上捅破天,背着世界往前行!
仅此向嵌入行业里的每一个认真做技术的从业者致敬!


  • 9
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值