作者:AirCity 2019.11.2
Aircity007@sina.com 本文所有权归作者Aircity所有
简单讲,就是通过USB_ID引脚,对于HOST,这个引脚要接地(电阻小于10ohm),比如电脑,它一定是HOST,主板上的USB控制器,ID脚肯定接地的。
对于Slave,这个引脚要拉高,协议要求在160Kohm以上。比如U盘,其IC的ID脚肯定是悬空的。
对于支持OTG功能的手机,如果是Micro USB接口,如果插入的是数据线,如下图,ID脚悬空,手机作为Slave,电脑作为Host。
OTG线,Micro USB口上的ID脚是接地的,如下图,插入后,手机会把自己作为一个Host,插入的U盘作为Slave。
换句话讲,任何UBS控制器都是根据USB_ID来判断自己到底是什么角色。如果拉低,自己就是HOST,如果拉高,自己就是slave。像电脑这种,只有一种HOST角色,那么就拉低到GND,且在主板上就可以拉死。对于手机,两种角色都有,那么是通过插入的USB线来决策自己到底是什么角色,USB口上的ID脚连接到IC上,默认悬空即可。